Page loading

loading icon

webapp的最佳实践

随着智能手机的日益普及,移动互联网风生水起,客户端程序用到的技术大多数,原生变成语言,web在移动端性能不好,体验差,不适合做app。早在2012年,国外著名的facebook公司大胆的尝试了用html技术编写app,最终由于性能和体验问题不得不终止,转而用原生语言开发;

过了几年,硬件飞速发展,程序的迭代也留下了很多经验,webapp原有的缺点自动消失了,这可真是时间会冲淡一切啊。
webapp以跨平台,开发速度接替了原生app的部分市场。

webapp的技术演变分这几个阶段:

以jquery为基础的jquerymobile,为第一轮胜出者,特点是简单,容易上手,缺点是不太灵活,根据需求自定义麻烦,组件少。

有需求就有供给,市场重来都是这样。大家都看到了webapp的未来,因而作为其唯一编程语言的js框架孕育而生,其主要模式是在mvc上做了写小的改动,换一个标新立异的名字叫mvvm, AngularJS 、Backbone.js 和 Ember.js都是这个时期的代表。

Angular.js 为第二轮胜出者,在其基础上搭建的ionic框架要比jquerymobile强很多,其组件、交互都很像原生的,开发出的webapp非专业人士看不出是原生技术还是web技术。


webapp持续发展,跨平台趋势是在必行,曾经第一个吃螃蟹的公司又回来了,facebook公司推出了react框架,自出道以来势如破竹,很快就赶上了angular.js,在其基础之上开发的 react native 技术颠覆了跨平台开发app的领域。

聪明人哪里都有,互联网行业也不例外。
Angular.js 作为大而全的框架,提供了程序员的开发速度,而react利用其虚拟dom技术提升了webapp的性能,有没有把二者的优点集于一身的框架呢?vue.js 来了,结合两种框架的优点、避免二者的缺点,顿时名声大噪,吸引了无数小鲜肉。

目前第三轮的竞争框架主要是Angular 、react、vue 三个阵营之间的竞争。由于各自的优缺点都不能干掉对方,目前三足鼎立。

顺便提一下,我本人用过ionic开发过webapp(万万到家),是在微信公众号里运行,公司当时的意图是推微信公众号,在考虑原生市场。当时也考虑过用react技术栈,将来用react native 打包原生无论是性能还是体验都由于ionic,但是react没有封装完整的app全流程组件(类似与ionic),公司又强调速度,只好用ionic开发了。所以技术永远不是第一位的,需求才是。