Native App 不再首选

来源:互联网 发布:nginx 错误页面配置 编辑:程序博客网 时间:2024/06/17 06:04
        近日听到的关于Web App、Hybrid App、React、HTML5的信息越来越多,也调研了一些相关技术及当前的应用现状,确实有弱Native化的趋势。

        如果放在一年前,甚至是半年前,如果要做一个移动App,可能还是会倾向于Native App,优势不必说了,无非是性能和用户体验。但是,随着4G手机换机潮的到来,Android系统的更新换代在加快,Android 4.0以上系统在全球的分布已经超过93%,手机硬件性能也有所提升,这些为浏览器的渲染及脚本引擎的效率提供了基础。因此,在App中增加对web技术的使用,无论是形成Hybrid App,还是更纯粹的Web App,都有了可用性的前提。

        对于Web App,HTML 5+CSS3+JavaScript的三件武器几乎一统天下。Zepto.js,jQuery等各种JS框架也得到了快速的发展和应用,比如Zepto.js就一举摒弃了对很多老浏览器的兼容,可以比jQuery的部署体积更小,老牌的jQuery也在其2.X版本中果断放弃了对IE6、7、8的支持,这些甩掉历史包袱的举动,正在加速技术发展。

        对于Hybrid App,PhoneGap自从转给Apache基金会以后,已经完成了使命,换了一个Cordova的名称,继续接力。Cordova为Native和Web打通了桥梁,使得JS脚本可以访问到设备的Native能力,通过这种结合,双方发挥各自的优势,看上去是个不错的选择,也是当前阶段可先的做法。而且这些Web部分可以更灵活的进行更新,甚至以插件的方式供Native App管理,再结合对本地缓存的有效利用,其体验不比Native差太多,是很好的架构方案。目前很多应用都采用了这种方案,当然是否使用Cordova另计。
        Hybrid App还有一种方案,就是由Facebook主导的React Native方案。该方案与Cordova不同,Cordova全是Web思维,只是用JS桥接了一些设备特性。React的思路是用Web的思路写界面,而不是用Native思路,但界面元素将被React框架转化为Native界面元素,从而达到最终的应用是Native化的目的。但该React Native框架目前还未发布,从现有的信息来看,对Native控件的封装会减少很多控件的接口,影响一些特殊功能的实现,另外仍然需要针对iOS、Android等不同平台进行开发,平台知识必不可少,对开发人员也是个挑战。Facebook的React及Github上相关的开源项目,都尚需关注,但尚难投入到实际的商业产品中应用。

        总结:Native App 已不再是首选方案,硬件正在变好,选用最合适的技术方案,兼顾成本和可维护性。

——欢迎转载,请注明原文出处 http://blog.csdn.net/caowenbin ——
——欢迎关注微信号“曹文斌的软件思考”,共同探讨软件人生——

0 0