【笔记】一套代码全平台应用开发小结

原来有独立开发者咨询要如何一个人开发一个app发布在web、小程序、桌面应用、手机应用。这期间需要各种步骤,不光是开发,比如在国内网站要备案,app也要备案;比如要有台公网机器部署服务等。我们来简要总结下。

我们先看看开发。现在开发应用已经不用想太复杂,尤其是全平台的。开源的框架很多,用起来顺手就好。如果想简单,js/ts那一套最好,html/css/js很快捷,又有react/vue当助手,很方便。react/vue可以build出web的dist,这份dist可以配合webview变成手机应用、桌面应用和小程序。小程序的话,uniapp名气大一些,直接web、小程序生成一次性搞定。webview想要到手机应用,cordova、phonegap、react native都是一键搞定的。桌面应用的话,老牌electron就能搞定,或者c#的webview2也不错。有人说js慢,那我们可以看一看vscode,在代码不断优化以后,流畅性是可以保证的,其实不用太过担心。还有一个可能,就是使用诸如flutter,需要使用dart,而且不知道什么时候就停止维护了,有一定风险。

举例,一个app,先用uniapp+vue开发了web端,并且兼顾了小程序。这个时候,我们可以再新建一个repo或者文件夹,初始化一个cordova项目,cordova集成了手机webview和桌面electron webview,只要把前面的编译脚本生成到cordova的www文件夹里,再cordova build就可以生成好windows linux mac android ios平台的最终文件。如果有本地需求,可以写好接口,然后对每个平台实现自己的本地功能,比如指南针,在web端可能需要location的一些api支持或者和usb硬件交互,看看chrome的支持就好;手机上就是获取各种传感器的数据然后计算;这些是没办法一套代码搞定的部分了,我们暂时不讨论,只是提出来让大家知晓。不过如果像cordova这样有自己的插件平台,说不定你要的功能有人已经实现,那就开开心心使用好了。

开发就简单说就这样了,接下去就是如何分治需求按时间按精力去实现功能了。等到测试好,就需要部署了。

部署web其实很直接,购买一台具有公网ip的机器,然后放置上build好的前端dist,再加一个nginx,一个简单通过ip访问的web服务;如果要使用域名进行服务访问,在国内首先是要进行网站备案,接着是公安备案,双备案,这个大家自行搜索这两个关键词就可以了。至于有独立开发者还想赚钱诸如挂广告之类,国内的话原则上还需要ICP经营许可证,简单来说一般是需要一个注册资金至少100万的国内公司(100万省内业务,1000万全国业务,外资WFOE是不允许的)并且有给3个人社保交满3个月,有计算机专业的员工,就可以申请;更具体大家还是咨询专业律师比较好。我们谈回域名,首先你还要有一个域名,从各大云平台或者新网等地方可以购买域名,接着就是在云平台接入你的域名,就是把域名绑定上你的ip。这之后你就可以 http://domain 去访问web服务了。

至于流行的https,需要购买ssl证书。一般云平台都会有免费的证书,自动从某些地方生成给你用。以前是1年,现在只有3个月;每3个月要换一次。其实基本就是从Let’s Encrypt生成免费的证书,然后把证书配置给你云平台的负载均衡节点或者单点站自己上传上去配置nginx就好了。更有甚者,如果你不嫌麻烦,还可以自己在http上开发加密协议传输数据,比如简单的aes;微信公众号自动回复就可以http然后数据加密就是这个原理。

web部署好了;小程序应该不用说了,很傻瓜,注册好小程序的账号,备案之后,上传打包好的小程序dist,然后可以测试下就能发布了。而手机、桌面应用的分发则要复杂一些;首先国内嘛,不想被举报就老老实实备案。之后就是和各个平台合作,注册账号,交钱开铺,华为、小米、google、apple等。实在不行,你可以把下载链接挂在网站上提供下载,就是有点耗服务器的网络带宽,国内带宽还是蛮贵的说。当然你要是开源,还可以选择直接放到github上,就是国内访问不太稳定罢了。

这样开发和部署都可以了。独立开发就可以动起来了。之后就是看自己的运营了,吸引流量到自己的公众号抖音bilibili小红书…,还可以各种正规打赏平台筹集资金。这就到对产品理解的范畴了,诸位看官可以自行修习。

南京大屠杀纪念日,默哀下。

J.Y.Liu
2024.12.13

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值