疫情下的 App 开发技术探索

引言

20200404日,庚子鼠年,清明,这注定是不平凡的一天。程序员

瘟疫,国丧,除了五星红旗,一切都没有了色彩。全民志哀,全网皆灰。安全

打开手机,大部分软件都变灰了,仍是在用户从未更新过APP的状况下。做为程序员,假设存在这样一个需求,咱们怎么实现呢?服务器

探索

原生开发

原生开发即便用Java / Kotlin / OC / Swift并结合官方套件去开发Android/iOS应用。微信

很明显,若是要使用原生开发技术的话,APP变灰须要更改原生代码,从新打包,发布,审核,上架。架构

等这一系列都经过的话,清明早就过去了。框架

原生应用性能是最好的,但须要Android / iOS两端开发,开发效率低,且由于苹果的审核机制,应用上架更新也比较耗时。性能

在各大企业的竞争过程当中,部分金融企业用户数据共享,早推出产品意味着早抢占用户群,在对性能要求不高的前提下,不建议使用原生开发。微信支付

H5应用

由于Web天生跨平台,开发H5应用,可下降Android / iOS两端的开发成本,且应用更新时,直接发布到前台服务器便可。spa

image.jpg

直接加行js,判断日期是否是2020-04-04,是就给根标签加灰色滤镜,节前偷偷部署到服务器,节时访问就变了,节后又恢复正常。3d

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,历史会记得今天!

image.png

相关文章
相关标签/搜索