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调用方式React Native AppFacebook发现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 基金会孵化管理。。。奔溃。。。