引言
2020
年04
月04
日,庚子鼠年,清明,这注定是不平凡的一天。
瘟疫,国丧,除了五星红旗,一切都没有了色彩。全民志哀,全网皆灰。
打开手机,大部分软件都变灰了,还是在用户从未更新过APP
的情况下。作为程序员,假设存在这样一个需求,我们怎么实现呢?
探索
原生开发
原生开发即使用Java / Kotlin / OC / Swift
并结合官方套件去开发Android/iOS
应用。
很明显,如果要使用原生开发技术的话,APP
变灰需要更改原生代码,重新打包,发布,审核,上架。
等这一系列都通过的话,清明早就过去了。
原生应用性能是最好的,但需要Android / iOS
两端开发,开发效率低,且因为苹果的审核机制,应用上架更新也比较耗时。
在各大企业的竞争过程中,部分金融企业用户数据共享,早推出产品意味着早抢占用户群,在对性能要求不高的前提下,不建议使用原生开发。
H5应用
因为Web
天生跨平台,开发H5
应用,可降低Android / iOS
两端的开发成本,且应用更新时,直接发布到前台服务器即可。
直接加行js
,判断日期是不是2020-04-04
,是就给根标签加灰色滤镜,节前偷偷部署到服务器,节时访问就变了,节后又恢复正常。
H5
虽然开发效率高,但是性能表现却不好。
混合应用
原生开发与H5
开发相结合,需求效率的时候使用H5
,调用系统级API
和需要性能的时候使用原生。
混合应用属于开发的理想状态,但开发难度较大,但也是主流的开发架构。
新闻类APP
属于经典的混合应用,点开一条新闻,其实打开是一个网页,否则后台无法控制排版。
React Native
因混合应用开发难度较大,不少企业采用React Native
进行APP
开发。
使用React
技术栈编写代码,兼顾Android / iOS
两端,可以使用JavaScript
编写两者公用的组件,编译成原生代码,兼顾开发效率与性能。但如果遇到Android / iOS
两端不同的情况,需要很长的时间进行开发与适配。
同时React Native
的热更新也能解决上架审核慢的问题。
但也存在诸多问题,打包需要React
相关的包,导致APP
打完包动辄几十M
,很大。
同时,因为官方React Native
的库需要进行版本适配,所以像最新iPhone
这类的适配问题,需要等待React Native
官方的更新。
瑕不掩瑜,React Native
仍然是主流开发技术之一。
其他技术栈
支付宝可谓业内巨头(虽然我喜欢用微信支付,但是支付宝确实厉害),其APP
内,远不止支付这么简单,比如安全、日志等等模块都经过多年积淀。
假设我要去开发一款安全的支付产品,但却没有那么强的技术积淀,为了保证安全性,我们会直接向蚂蚁金服采购安全框架,官方会提供技术支持。
总结
2020-04-04
,历史会记得今天!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。