几种常见的APP开发模式的优缺点
常见的开发模式有6种(Native App,Web App,Hybrid App,Weex,react Native)
Native App
传统的原生APP开发模式,有IOS和AOS两大系统,需要各自语言开发各自APP。
优点:性能和体验都是最好的举个栗子:网易管家APP (Tab1,Tab2)
缺点:开发和发布成本高
应用技术:Swift,OC,JAVA
WebApp
移动端的网站,常被称为H5应用,说白了就是特定运行在移动端浏览器上的网站应用。一般泛指 SPA(Single Page Application)模式开发出的网站,与MPA(Multi-page Application,再后面做介绍)对应。优点:开发和发布成本最低举个栗子:网易管家APP(Tab3)
缺点:性能和体验不能讲是最差的,但也受到浏览器处理能力的限制,多次下载同样会占用用户一定的流量
应用技术:ReactJS,RegularJS等
Hybrid App
混合模式移动应用,介于web-app、native-app这两者之间的app,兼具“Native App良好交互体验的优势”和“Web App跨平台 开发的优势”。主要的原理是,由Native通过JSBridge等方法提供统一的api,然后用html+css实现界面,JS来写逻辑,调用API,最终的页 面在webview中显示,这种模式下,Android、iOS的API一般有一致性,Hybrid App所有有跨平台效果。
优点:开发和发布都比较方便,效率介于Native App、Web App之间举个栗子:网易云音乐,我爱我家App
缺点:学习范围较广,需要原生配合
应用技术:PhoneGap,AppCan,Wex5React
Native App
Facebook发现Hybrid App存在很多缺陷和不足,于是发起开源的一套新的APP开发方案RN App。。使用JSX语言写原生界面, js通过JSBridge调用原生API渲染UI交互通信。优点:效率体验接近Native App,发布和开发成本低于Native App举个栗子:Facebook、youtube、discord、QQ、百度等等
缺点:学习有一定成本,且文档较少,免不了踩坑
WEEX App
阿里巴巴开发团队在RN的成功案例上,重新设计出的一套开发模式,站在了巨人肩膀上并有淘宝团队项目做养料,广受关注, 2016年4月正式开源,并在v2.0版本官方支持vue.js,与RN分庭抗礼。优点:开发效率和体验上跟RN不相上下,并且跨平台性更强举个栗子:淘宝、天猫、饿了么等
缺点:刚刚起步,社区没有RN活跃
Flutter
Flutter是Google在2015年推出的移动UI框架,可快速在iOS和Android上构建高质量的原生用户界面。
Flutter第一次亮相于2015年5月Dart开发者峰会上,初始名字叫做“Sky”,后更名为Flutter,Flutter使用Dart语言开发,Dart是Google于2011年推出的新的计算机编程语言。
优点: 性能强大,流畅、路由设计优秀、单例模式、优秀的动画设计、UI跨平台稳定、可选静态的语言,语言特性优秀
缺点: 躲不开原生代码、Widget的类型难以选择、糟糕的UI控件API和资源管理设计、使用Flutter需要翻墙
咸鱼正在使用 , 而且他们也推荐大家尝试新技术来自谷歌。
本文内容仅供个人学习/研究/参考使用,不构成任何决策建议或专业指导。分享/转载时请标明原文来源,同时请勿将内容用于商业售卖、虚假宣传等非学习用途哦~感谢您的理解与支持!