Web从最开始,用html标签这种最简单的方式搭建门户网站、论坛,那时候能做个网站感觉很牛叉的样子。后来又有了Ajax方式,可以动态的获取数据,让网页能不刷新而完成更新。之后又有了HTML5,结合JS、CSS3到达另一个高度,通过Web可以用很炫的方式实现不错的功能效果。这是PC时代;现在到了移动互联网时代,有人唱衰Web,也有人高唱Web。不管怎么样,Web在以它的方式而野蛮生长着。生长的方式不是以我们的主观意愿的,而是这个时代需要Web,需要这种方式来实现一些东西,人们希望有这么一个东西能像一个树,在这个炎热的夏天提供一处阴凉,愿意为它施肥浇水,让它再大些再高些。因为需要所以产生,而不是因为存在所以可用。
1、到达一个拐点
技术上:从原先的一根筋变成现在的两头堵了。在2014年10月底,W3C宣布HTML5正式定稿。这个时间,不晚不早,硬件性能更强、手机OS迭代速度下降。优势是跨平台,更新及时。可用和原生代码结合实现互相的调用,机制上是完全可以的。只是看你用不用而已。其中OS X Mavericks和iOS 7引入了JavaScriptCore库,它把WebKit的JavaScript引擎用Objective-C封装,提供了简单,快速以及安全的方式接入世界上***的语言。不管你爱它还是恨它,JavaScript的普遍存在使得程序员、工具以及融合到OSX和iOS里这样超快的虚拟机中资源的使用都大幅增长。
生态上:很多的公司和个人在Web这个领域一直的添砖加瓦,不管是Cordova、AppCan、ApiCloud、trigger.io、node-webkit、ReactNative等等,都在从各个方向突围,让大家看到了希望。
硬件上:系统版本和浏览器已经可以很好的支持html5和css3硬件加速。Google在2013年底发布的Android4.4,内置的Webview不再是蹩脚的Android WebKit浏览器,而是Chromium,性能大幅提升。从***的Android 5.0开始,Webview可以通过GooglePlay Store实时更新,和Chrome的升级保持一致,用户就可以不刷机享受到***的浏览器引擎;再看Apple方面,2012年iPhone5发布后,HTML5在iOS上的表现已令人满意,Safari独家的JavaScript加速引擎Nitro不再那么重要,不过在iOS 8发布后,苹果还是很识趣地取消了三方程序调用Nitro的限制,现在任意浏览器或应用调用iOS的UIWebview都可以利用Nitro加速,这样在前端使用JS做大型运算也成为可能。
实现上:具体到这个层面,最初是直接嵌网页的方式;后来是打包JS、HTML、CSS到本地;这两种方式都有优缺点,不能满足我们要求加载快而且实时更新。于是出现了第3种,可以用增量更新zip包的方式来实现本地加载和快速更新的目的。这些已经在超级app上实现,并且效果很好,下面内容有讲到。
2、需求要求这样
而对于开发者而言,开发者为什么不愿意开发WP版本,很多时候是因为工作量太大,除了版本适配,分辨率调整等,一旦有新版本推出,在原生App中开发者不得不等待多达两周时间去接受审核。另外内容维护上也很麻烦,这也是为什么有些媒体开始放弃原生App鼓励读者使用WebApp的原因。除此之外,跨平台在多屏时代给开发者非常痛苦的体验,人们都期待当年Java的一次编译处处运行的理想情况。HTML5目前正在扮演一个开发者救星的角色。
全新的互联网入口超级App+WebApp的时代来临
你手机里装了多少App,最常用的有哪些?
可能最多的回答是,我用「微信、QQ,或者其他浏览器」等等所谓的超级App。
在超级APP里Web正在扮演着重要的角色,发挥她的快速、跨平台、轻的特性。
3、已经被验证过
手Q中群部落、吃喝玩乐、主题中心等核心业务。微信的[发现]。新版支付宝的[商家]、京东、淘宝这些电商更是用到了各处。这些超级APP已经在某些场景下用的不亦乐乎,发挥Web的优势,为我们所用。
4、农村包围城市
从PC到移动互联网时代,Web正在符合时代的需求而生长着。没有一种语言是像Web一样,随着时代的发展而不断的修订,并能符合这个时代发展的速度。Java做不到、Objective-C也做不到。虽然出身草根,但是像水一样,随形而动,生命力旺盛。还是让我们拥抱变化,拥抱草根出身的Web。
献给一直坚守在Web前端的工程师们