前端程序员自制“独立软件”需要解决哪些问题?
作为新手程序员的你,是否曾梦想过有朝一日能够开发出一款惊天地泣鬼神的作品,然后被自己的同学、亲朋好友奉为大神?
往大了说,你可能想通过这样一个作品获得收入,甚至走上人生巅峰,赢取白富美。
往小了说,你也可以做出一个有用的软件,在自己用的同时,还能偶尔拿出来炫一下。
那么你可能需要解决这几个问题
使用什么技术来开发?
怎么开发?
开发完成后,怎么分享?
如果有用户,要怎么维护?
我要怎么产生收入?
好,今天这期视频,大家就听我一席话。
第一个问题,选什么技术?
首先,开发桌面软件,也就是电脑软件和手机软件不一样。现如今主流的技术,我挑入门简单,使用频率最高的技术组合来讲。
Electron+Vue(Html+JS)
原生开发不符合“快速”这个理念,耗时长,学习曲线陡峭。极其不靠谱。而且mac是mac,windows是windows,搞得开发者必须做两套。费时费力。
主流跨端快速开发的框架就是Electron,使用率很高,就连微软的开发工具VisualCode都是Electron开发的,你还担心什么?
再说Vue,目前主流的两大前端开发框架,React和Vue,会Vue就能开发桌面软件,太easy。
第二个问题,怎么开发?
其实Electron开发已经非常成熟了,原理也很简单,如果有兴趣可以去慕课网买教程,或者学习之。
当然,我最推荐你去到github搜索Electron的项目。刚上手阶段,还是比较推荐“借鉴”“参考”开源项目的,注意挑MIT、Apache等开放协议的,实在不行就AGPL,但是AGPL的项目,你二次开发之后实际上是不能商用的。
或者你也可以关注我,后续我会放出一些Electron的开发教程。涉及一些小知识点,可以补充你的知识盲区。
第三个问题,开发完成后,我要怎么发行(分享)我的作品?
开发完成后,就要考虑发行的问题。
这里我从2类作品来讲。
第一类,如果是完全基于网页的。
例如一些网页小工具,像json格式化、日历、身份证加水印之类的项目,是不需要网页的,那就比较简单,你只需要把这些项目上传到云服务器上,然后注册一个域名,绑定到这个服务器上,就可以访问了。
但如果是初期,尽量节省成本和前摇工作。
可以考虑托管到一些平台上。例如github,视频见此链接:
https://www.bilibili.com/video/av93003374/?vd_source=2b7e342ffb60104849f5db6262bb1e0b
如果希望国内有比较好的访问速度,可以考虑自行采购虚拟主机,购买域名进行绑定。这个会比较麻烦。视频最后我会介绍一种更加简单的办法。
第二类,如果是需要依赖于Electron打包成桌面软件的。
因为涉及到app的打包问题。会比较棘手。这类应用一般你需要解决签名和代码公证问题。mac平台尤其,未经签名和公证的软件是无法正常安装运行的。
除此之外,你还需要一个网站,如果粗糙一点,很多人只放出一个github地址,里面的readme就算是介绍了。这样也可以,但是国内有墙,用户用起来很麻烦。
然后下载地址,可以使用github的release功能,提供编译后的包。
当然如果你有自己的服务器和域名,就应该给自己的作品准备一个简单的介绍页面并提供下载地址。
可以参考国外的一些独立软件。例如ueli.app(可能打不开)和keweb.info。
实际上只需要找一个简单的模板,改一下文案就可以了。
技术向的,建议使用vuepress搭建文档风格的产品站。
宣传方面,你可以在B站制作相关的产品视频,或者直接在相关的论坛发帖、知乎去回答问题,或者上架到一些应用市场来获得新用户。
第四个问题,如果我有了自己的用户之后,要怎么维护?
一般来说,你需要在产品站加上你的QQ群、微信群的加群方式。然后通过最简单的社群方式运营。
另一个方面,你也可以考虑搭建一个用户论坛,技术上可以选择免费的论坛软件,例如discuzq之类的,这个也需要服务器和域名。
更简单一点的。也可以考虑开通一个简单圈子。例如元社区。可直接申请创建版块。
一般来说,社群适合实时解答问题,而社区圈子适合异步处理一些复杂问题,适合发布一些产品动态。
第五个问题,我要怎么获得收入?
一般来说,简单的产品,很难通过收费来获得收入,毕竟产品比较简单的前提下,用户掏钱支持也是比较困难的。这种我们推荐使用捐赠来产生收入。可以直接在产品站上挂捐赠二维码。但是这种收入不用指望太多。
如果要打算做成收费软件,那么需要持续迭代功能,做到一定的独特度,让用户不得不使用你的产品,然后在里面增加收费使用的功能。
还有一些产品,它本身不盈利,但是可以通过越来越多的用户群体,从其他方面盈利。
例如起始页,可以通过网址跳转之后,嵌入淘宝、京东的链接,用户下单购买即可获得导购返利。
而其他一些产品,则可以通过植入广告来盈利。
碍于篇幅,每个问题我这边只能简单进行解答。如果需要了解更详细的,大家可以帮忙点个赞,点个关注,关注我后面的视频。
如果有疑问,大家也可以在评论区与我互动。
我们下期再见。