自从2011年就开始涉及移动web app的探索,当时HTML5如日中天,很多人都看好,当时还是Android2.3,和iOS4.0,但如当真想作出一款跨平台的产品,又能让用户得到良好的应用体验,似乎不太可能,因为在不同的浏览器上,不同硬件水平下,性能差异实在是太大了。但我足够相信JAVASCRIPT的性能在近几年已经得到了相当大的提升。
可能有人会认为JAVASCRIPT是单线程,但是很多应用开发者通过使用Web Workers来利用多线程提升性能;很多人认为:依赖CPU的JavaScript性能仅仅因为硬件的提升才变得更快,应该说的也不无道理,WEB应用的性能是DOM操作的速度和使用GPU加速的程度来决定的,很多优秀的浏览器通过不断的硬件性能提升,其他浏览器也将会跟进的。
移动WEB APP的性能较原生APP的性能差距是个不争的事实,因为浏览器本身是构建于操作系统之上的一个复杂的抽象层。而Web应用使用HTML(HTML5)、JAVASCRIPT、CSS,来创建应用。这个抽象层本身需要额外的性能开销,在其上运行JS自然需要更多的开销。
但是随着硬件的提升、软件的升级,包括JS性能的不断提升(可能有人并不这么认为),很多优秀的JS的WEB应用开发框架,有犹如雨后春笋般出现:Sencha Touch、Jquery Mobile、JQTouch…
JS是个神奇的语言,当时有人只会想到用此货做WEB开发,可它又成了后台语言:NodeJS,一种语言的存在必然有它合理的地方,期待WEB应用的性能,在不久的将来能够得到更大的提升,以获得更好的用户体验。