App常用开发模式

Native App

传统的原生App开发模式,有iOS和安卓两大系统,需要各自语言开发各自App。

优点:性能和体验都是最好。
缺点:开发和发布成本高, 维持多个版本的更新升级比较麻烦,用户的安装门槛也高

WebApp

移动端的网站, h5
开发和发布成本最低, 性能和体验较差,受到浏览器处理能力的限制

Hybrid App

混合模式移动应用,介于Web App、Native App这两之间App开发技术, 兼具“Native App良好交互体验的优势”和“Web App跨平台开发的优势”

原理: 由Native通过JSBridge等方法提供统一的API,用html,css实现界面,JS写逻辑调用API,最终页面在Webview中显示,这种模式下,Android、iOS的API一般有一致性,HybridApp所以有跨平台效果

开发者可以像开发WebApp一样开发app的视觉UI,当需要使用原生功能(如摄像头,陀螺仪等功能)时,只需要调用官方的API就可以实现Native的效果。至于JS和Native的通信,常用的有URL监听和Hybrid厂商使用的JSBridge通信,两者原理相近。

Hybird App 的常见跨平台开发工具有PhoneGap,Ionic, 国内有AppCan

缺点:Hybird严重受限于WebView的解析渲染效率,需要原生配合。

JSBridge调用方式
clipboard.png


React Native App

Facebook发现Hybrid存在很多缺陷和不足,然后自己开发了一套RN, 使用JSX写原生界面,js通过JSBridge调用原生API渲染UI交互通信
支持flexBox布局, 采用DOM 结构;

优点:效率体验接近Native App,发布和开发成本低于Native App。
缺点:新东西,更新迭代快,api后期同早期变化很大,需要踩坑。。

Weex App

阿里开发团队在RN的成功案例上,设计的一套开发模式,2016年4月正式开源,并在v2.0版本官方支持Vue.js
优点:单页开发模式效率极高,热更新发包体积小,并且跨平台性强。
缺点:同RN, 且社区没有RN活跃,已捐献给 Apache 基金会孵化管理。。。奔溃。。。


小闲
36 声望2 粉丝

hhh