HTML5敲定了为什么原生App世界会被颠覆。

2007年,W3C(万维网联盟)发起了HTML5项目。直到2014和10结束,这个长达八年的规范终于被正式封存。

过去几年,HTML5颠覆了PC互联网的格局,优化了移动互联网的体验。接下来,HTML5将颠覆原生App世界。这听起来有些危言耸听,但如果你仔细分析HTML5的发展历史,你会发现这确实是世界的发展趋势。

熟知历史可以预测未来。我们先来看看HTML5为什么诞生,这八年是怎么过来的。

一、HTML5的诞生

自1999年W3C发布HTML4以来,Web世界发展迅速,繁荣昌盛。人们曾经认为HTML标准不需要升级。一些致力于Web App开发的公司成立了另一个WHATWG组织。直到2007年,W3C从WHATWG手中接过相关工作,重新开始开发HTML5。

HTML5的发展历史是由用户需求、技术开发者和巨大的商业利益推动的。

在互联网早期,用户打开浏览器接入互联网世界是一件很神奇的事情,但是在2005年左右,下一个变化开始出现,那就是宽带互联。

随着宽带的普及和电脑性能的增强,人们不再满足于简单的通过互联网看新闻和收发邮件,消耗更高带宽的娱乐产品开始出现,即流媒体视频和网页游戏。其实视频和游戏是古老的需求。在互联网还不普及的时候,满足需求的方式就是离线传输VCD和游戏光盘。后来随着互联网的逐渐普及,人们改变了使用方式,通过下载软件和本地媒体播放器观看视频,下载大尺寸的端游游戏。

然而,更好地体验消费者的新方式已经出现,并颠覆了之前的一切,那就是流媒体和网页游戏。Youtube等公司把握住了潮流的快速崛起,各种页游公司如雨后春笋般涌现。

但是HTML标准没能把握住行业的变化,浏览器产品没有升级。浏览器插件,即Flash,满足了这一新要求。这个部署在数亿浏览器中的商业插件已经成为事实上的标准。2005年,Adobe斥巨资收购Macromedia,将Flash收归旗下,随后大力推广FLV流媒体和动作脚本语言。显然,这次收购可以列为IT并购的经典案例,FLV流媒体和Flash游戏在互联网上流行,Adobe在新的产业升级中获利颇丰。

除了Flash这种商业产品成为事实上的标准,W3C还面临一个尴尬,那就是另一个私有扩展协议的制定者。当时,IE在桌面浏览器中占据垄断地位,并扩展了大量的IE专用语法。开发者不知道是谁定义了这些语言。整个web世界被微软+Adobe这两家公司绑架了。

很多IT巨头都坐不住了,尤其是苹果和谷歌。PC操作系统的世界很难有突破。网页浏览器被苹果寄予厚望,第一代iPhone只支持网页。当时还没有Appstore,Safari是乔布斯非常看重的产品。虽然新贵谷歌大量赞助了Mozilla,但并没有对IE的地位产生实质性的影响。买了YouTube之后发现底层被Adobe控制也很难过,而且Google每年都为IE的搜索框和Adoble FLV付出了很多钱。

既然大家都是W3C的主席,那好吧,我们重新开始做HTML5。

没错,HTML5其实就是这么诞生的。那是2007年,IE和Flash由盛转衰的转折点。

二、HTML5的第一阶段:Web增强和垄断打破

HTML5从诞生至今,经历了Web增强和移动互联网两个阶段。先说网页增强。

web体验的丰富增强主要表现在:1。webapp,比如gmail2.流媒体;3.游戏。先说说HTML5在这三个方面都做了些什么。

1.webApp

HTML5增加了离线存储,更丰富的表单(比如输入类型=日期),js线程,套接字王乐,标准扩展嵌入,还有很多新的css3语法…

2.流媒体

HTML5中添加了音频和视频。

玩游戏

HTML5增加了canvas和webgl。

当然,也有谷歌在HTML5中推广Header、Section等标签以方便搜索引擎分析的,就不细说了。

在HTML5补充了流媒体和游戏功能,苹果强烈拒绝将Flash引入iOS之后,成功遏制了Flash的发展,接下来就是遏制IE私有语法的时候了。

在HTML5标准升级的过程中,苹果和谷歌也看到了浏览器市场重新洗牌的机会。他们一方面参与HTML5的规范,同时在浏览器产品上发力。苹果首先开始大力开发Safari,建立WebKit开源项目,Mac、iOS、Windows齐心协力。起初,谷歌赞助Mozilla开发Firefox。后来开发了自己的v8引擎,合并了WebKit,2008年正式推出Chrome。“IE的私有规范+Flash不是标准,但我们才是标准”的口号在新浏览器大战中打响,IE瞬间成为千人所指的垄断代表,甚至成为阻碍Web发展的罪人(当时IE6已经好几年没更新了,不怕火狐发展)。

然而就在这个时候,微软也出其不意,推出了IE7、8、9、10等一系列不完全支持规范、互不兼容的产品,彻底失去了开发者的心。

Adobe的Flash被遏制,过了Web霸主的位置;IE的私有标准被遏制,IE的市场份额不断下滑,直到最新的移动版IE开始依次支持WebKit私有语法,实在是尴尬。我不知道HTML6是否应该打败WebKit垄断。

三、HTML5第二阶段:移动互联网

随着Chrome和Safari的快速发展,以及IE+Flash的没落,HTML5已经走到了尽头,进入了下一个时代——移动互联网。HTML5的跨平台优势在移动互联网时代进一步凸显。HTML5是唯一一种跨平台语言,囊括了PC、Mac、iPhone、iPad、Android、Windows Phone等所有主流平台。Java和Flash都梦想过这个位置,但梦想在iOS中终结。这时,人们开始研究基于HTML5的跨平台手机应用的开发。当时很多人认为原生应用只是一个过渡,就像从C/S结构变成B/S结构一样。而且学习Objective-C和Java很难。既然我能开发网页,为什么不试试HTML5呢?

W3C此时成立了设备API工作组,为HTML5扩展了相机、GPS等手机特有的API。但麻烦的是,移动互联网初期迭代太快,移动OS也在不断扩充硬件API,陀螺仪,距离传感器,气压计。。。每年手机OS都有大版本更新。W3C作为一个拥有数百个成员单位的决策组织,从标准草案的提出到达成协议是一个非常复杂的过程,跟不上移动互联网早期的快速迭代。

PhoneGap的出现为开发者打开了一扇窗。很多人期待PhoneGap不断扩充API来补充浏览器的不足。Adobe在看到PhoneGap的时候似乎看到了重振江湖地位的希望。但是Adobe收购PhoneGap之后,发现这个东西并没有商用,开源使得Adobe无法像Flash一样获得商业利益,于是把PhoneGap捐赠给Apache,改名为Cordova。

由于种种原因,Cordova的定位并没有成为浏览器的增强,而是走向了混合开发。基于当时的背景,他们认为原生是不可替代的,“原生+HTML5”的混合模式更有意义。所以现在Cordova的使用模式是“原生工程师+HTML5工程师”共同合作完成App。

这时,脸书加入了W3C,并率先成立了移动Web工作组。脸书是一个混杂的网络圈子,它在手机操作系统上没有自己的领地。它不喜欢苹果和谷歌控制的原生应用生态系统。移动web工作组的重要目标是使HTML5开发的Web应用达到原生应用的体验。然而事与愿违,不努力就忘了。结果它努力了,但失败了。2012年,脸书放弃HTML5的消息充斥全球IT媒体,HTML5瞬间被打入冷宫。

脸书为什么放弃HTML5?核心是我当时真的做不出一个好的基于HTML5的手机App。与Twritter等竞争对手的原生应用相比,脸书的HTML5版本确实无法让用户满意。比如推送功能,到现在为止,HTML5的推送体验和原生推送体验差距还是巨大的,更不用说HTML5应用页面白屏切换、下拉刷新/滑动菜单不流畅等等诸多问题。看原生工程师轻松实现摇一摇、二维码、语音输入、分享到朋友圈等功能。,让HTML5工程师觉得自己站错队了。

即使脸书不喜欢被控制,它也不能冒被用户抛弃的风险。而脸书没有抓住关键点——手机浏览器内核。如果浏览器没跟上,制定一堆草案标准也没用。

以及浏览器在手机上的表现如何?先看谷歌。Chrome虽然性能很高,但安卓上的浏览器并不是Chrome,而是WebKit修改的蹩脚安卓浏览器。再看苹果,iOS上不允许其他浏览器引擎上架App Store,其他使用Safari引擎的应用也无法调用苹果自带的JavaScript加速引擎Nitro。结果是,苹果和谷歌不仅没有在其浏览器上积极实现HTML5对移动应用所要求的规范,反而对HTML5进行了各种限制。

无论是当时硬件能力的不足,还是手机OS厂商的有意限制,总之结果就是:移动互联网初期,一定是原生应用生态圈的天下,iOS和Android先稳住自己的地盘后,行业才会升级到下一个阶段。

无论是脸书还是PhoneGap,早期都无法在移动互联网分一杯羹,但如果坚持下去,机会往往会出现。

第四,HTML5这次真的来了。

最后,在2014,10的最后,W3C宣布HTML5正式定型。这一次,不晚也不早,硬件性能更强,手机OS迭代速度降低。

随着HTML5标准的最终确定,所有的争议都将告一段落。现在,HTML5的时代已经到来。

有人说,光定标准没用。配吗?HTML5做的应用能和native app媲美吗?答案是HTML5不仅可以媲美原生应用,甚至在很多自然特性上超越原生应用。

先说HTML5不如原生应用的地方。业内俗称HTML5有“性功能障碍”。就是HTML5的性能不如native,开发工具不如native,能力调用不如native。

这些问题使得开发者无法使用HTML5制作原生应用。但无论是硬件升级,还是OS厂商策略的改变,以及相关软件技术的成熟,HTML5的“性功能”障碍已经解决。

1.硬件升级

2011年iPhone 4s的CPU是A5,现在iPhone 6是A8。根据苹果之前的发布会,速度提升了7.5倍。这三年7.5倍的提速,抹平了HTML5太多的性能问题。

2.苹果和谷歌的战略变化

在2013年底Google发布的Android 4.4中,内置的Webview不再是蹩脚的Android WebKit浏览器,而是Chromium,性能大幅提升。从最新的Android5.0开始,Webview可以通过谷歌Play商店实时更新,与Chrome的升级保持一致,让用户不用刷机就能享受到最新的浏览器引擎;再看苹果,2012年iPhone 5发布后,HTML5在iOS上的表现已经令人满意,Safari专属的JavaScript加速引擎Nitro也不再那么重要。不过在iOS 8发布后,苹果还是很有兴趣取消三方程序调用Nitro的限制。现在任何调用iOS的UIWebview的浏览器或应用都可以使用Nitro来加速,所以可以使用JS来做前端的大规模操作。两大手机操作系统霸主和浏览器巨头的态度发生了变化,使得HTML5在手机上的发展不再受限,而且这种变化是不可逆转的,只能继续向前发展,势必会产生深远的影响。

3.软件技术的成熟度

虽然PhoneGap的发展有所放缓,但其他产品技术已经成熟。在2014的iWeb大会上,很多厂商的产品都为开发者提供了免费或者开源的解决方案。

(注:编辑作为从业者,在分析各种方案时也会提到我们公司的方案,但编辑会客观不夸张的陈述方案,方案纯属免费,不存在商业销售的嫌疑。)

在iWeb大会上,DCloud公司发布了针对“性工作者能力不足”问题的系统解决方案,包括:

a)性能:提升HTML5性能的手机引擎,可以解决滑动菜单、下拉刷新等动态交互卡顿问题;

b)工具:HTML5开发IDE产品HBuilder,超快速编程工具;

c)能力:Native.js技术,将40万个原生API封装成JavaScript对象,解决HTML5能力不足的问题;

d)最接近原生体验的高性能框架:MUI框架,大小只有几十K,加载运行比一般框架快得多。

基于该方案开发的HTML5应用完全可以实现native app的功能和体验。

用HBuilder开发HTML5应用程序

英特尔发布了Crosswalk引擎,允许Android 4.0-4.3手机上的应用程序封装Chromium引擎,而不是Android WebKit。毕竟目前市面上有大量的Android 4.0-4.3手机,统一的webview也避免了兼容性的困扰。

很多公司在专业方向上也取得了不错的成绩。Touch Cocos2d-html5、Egret runtime和Ludei CocoonJS增强了Canvas的性能,让html5游戏体验更好;UC、猎豹等手机浏览器增强了音视频播放的性能。

无论是硬件的升级,软件的成熟,还是操作系统厂商策略的改变,都在强力推动HTML5的爆发。

不过需要注意的是,我说HTML5,并不是说手机浏览器会取代桌面成为应用入口。有人说HTML5不好,是因为用户讨厌打开浏览器输入网址的过程。我想说这个想法是对HTML5的片面理解。HTML5!=传统浏览器,虽然编程语言还是HTML,Javascript,CSS,但是分发方式绝不是传统网站那么简单。相反,HTML5应用的入口很少是启动浏览器,输入网址。可以是手机桌面上的图标,可以是超级app(如微信朋友圈),可以是搜索引擎,可以是应用市场,可以是广告联盟。。。它的入口无处不在。它的入口比原生App更多。

第五,原生App的颠覆

HTML5的“性功能”障碍已经解决,可以接近native App的效果,所以可以替代native App?很多人认为,即使HTML5会比现在发展得更好,也会和原生app分一杯羹。要求不高的长尾应用会用HTML5,主流应用还是原生app的天下。

但我觉得这种想法很危险,就像苹果成立前,惠普高管告诉沃兹:谁会在家里放一台电脑?未来HTML5一定会颠覆原生App。“性工作”这个障碍的消除只是削弱了HTML5的劣势,但劣势消除后,它的优势会大放异彩。HTML5有什么优点?我们分别看开发者和终端用户。

HTML5对开发者的七大优势

跨平台:

多屏时代,开发者的痛苦指数很高,大家都期待HTML5扮演救世主。多套代码、不同技术工作和业务逻辑的同步是一个折磨人的过程。这类似于早期的个人电脑世界。那时候,每台电脑都有自己的操作系统和编程语言,开发者厌倦了制作不同的版本。事实上,DOS的流行很大程度上是因为开发人员实在没有精力为其他计算机编写程序。跨平台技术前期大多因为性能问题夭折,但中后期硬件能力增强后会占据主流,因为跨平台确实是刚需。

快速迭代:

移动互联网是一个快鱼吃慢鱼的时代。谁更快满足用户需求,谁的试错成本更低,谁就有很大优势。互联网产品多是免费的,有网络效应,后来者很难抢用户。使用原生开发,招聘、开发、上线的效率慢一倍以上,参与的人越多,沟通效率往往慢一倍以上。

连续交付:

很多人都有这种经历。一个原生应用在Appstore上线,突然出现了一个很大的bug,他们不得不连夜加班修复,然后静静等待苹果的审核两周甚至更久。这两个星期被用户抹黑淹没,市场上一片差评,用户损失很大。当新应用程序被批准并上线时,用户已经卸载了它。但是,HTML5没有这些问题。可以实时更新,有问题立即回复。

大幅降低成本:

创业者融资不易,如何更高效的花钱很重要。如果你用的是原生App,用HTML5开发的是竞争对手的App,但是你的开发成本高一倍,我相信没有投资人会喜欢投资你。

发达的开源生态系统:

HTML5前端是一个开放的正反馈循环生态系统,可以使用大量的开源库,开发应用更加简单敏捷。当然,这也体现在快速迭代和降低成本上。但更重要的是,这种开放的正反馈循环生态系统的未来生命力比原有的生态系统更强。

开放数据交换:

HTML是基于页面的开放代码,不需要专门的SDK开发就可以和其他应用交互,只要不混淆。开发者可以让移动搜索引擎轻松检索自己的数据,通过跨应用协作更容易满足终端用户的需求。

更容易普及,更容易爆发:

导流入口很多:HTML5应用导流非常容易。超级app(如微信朋友圈)、搜索引擎、应用市场、浏览器,到处都是HTML5的流量入口。原生App的流量入口只是应用市场。聪明的HTML5开发者肯定会玩转各种流量入口,以获得更强的优势。

流量:前段时间,《猫里的神经》在微信朋友圈风靡一时。如果这个游戏放在Appstore,肯定没有那么多流量。超级App带来的流量远大于原生应用市场。如果微信允许游戏在桌面创建快捷方式,如果游戏后续升级解决连续娱乐的问题,未来是不可想象的。

导流效率高:除了入口多,流量大,导流效率高也是不容忽视的。大家都知道页游和端游玩的是同一个广告,改变的是用户的转化率,页游比端游高很多。

可以精准分流到二级页面:我们都知道搜索引擎可以直接进入。

HTML5对最终用户的三大优势

大大降低了使用门槛。

为什么流媒体会成为主流而不是下载视频?页游为什么这么受欢迎?只是因为用户太懒。让用户更方便的满足需求,有时候效果比更多的满足需求要好。

用户的眼睛看到一个兴趣点,点击之后应该马上开始满足用户的需求。比如流媒体可以即时观看,页游可以即时播放。在目前的原生应用市场,用户需要这样做:选择一个应用,等待下载,确认权限,等待安装,然后点击打开。这样糟糕的体验迟早会被颠覆。

无论是App、游戏还是影音,以后都是可以随时使用的。谁先满足用户需求,谁就赢了。

实时更新和差异更新的出色体验

HTML5应用可以绕过应用市场的限制,实时自我更新,用户可以快速享受新服务。

此外,这种更新可以是差异更新。比如一个HTML页面或者一个js文件有问题,就更新这个几k的小文件,比原生应用的更新体验好很多。

跨应用程序体验

目前手机应用切换都是以桌面或者任务管理器为中心,但实际上这些中心很大程度上影响了效率和体验。用户想去三亚旅游,先打开去哪儿订票,然后切换回桌面,再找到并打开天气App,搜索并输入三亚,然后切换到桌面,找到并打开航空公司的纵横App,输入航班号办理登机手续,哦,对了,航班号是多少,然后切换到桌面,找到并打开去哪儿看航班号,最后找到并打开租车App,输入租车地点,然后切换回桌面。。。

在原生应用系统下,用户只能这样做。但是,在HTML5系统下,他不需要切换回桌面,可以很容易地直接在应用之间跳转,而不是使用孤立的应用。他不必重复输入数据,应用程序之间可以轻松地相互传输数据。

这种模式需要一点想象力,但未来迟早会到来。

从这个分析中,我们可以清楚地看到,无论是从最终用户的角度,还是从开发者的角度,HTML5都一定会取代原生应用目前的地位。并由此引发了一系列颠覆。

6.还会改变什么?

HTML5的爆发,原生App生态的颠覆,是一场产业革命,很多角色都会受到影响。我们来做个预测。

新的HTML5引擎会火。

标准的HTML5引擎并不能解决HTML5的所有问题。拥有大流量入口的互联网巨头都在想着嵌入更好的增强引擎。腾讯推出X5浏览器引擎,就是看中了这个机会。目前浏览器厂商、应用市场厂商甚至rom厂商都在尝试集成更好的浏览器引擎。如果嵌入微信的webview能运行更好的画布游戏,如果360手机助手能发布即时HTML5应用且能力体验与原生一致,如果嵌入小米rom的Webview更强大,所有HTML5应用在小米手机上运行更流畅。。。

当一个巨人开始行动时,所有的巨人都会随风而动。没错,这场战斗将是移动互联网世界的二战。

应用分发市场将被洗牌。

因为超级App的巨大流量很容易成为HTML5应用的入口,而且会产生更大的效果,传统应用商店甚至线下预装都会被挤出市场主流。也是超级App的高流量应用商店。如果转型得当,也会专注于发布HTML5应用。

广告和统计市场

原生广告和统计SDK提供商将面临尴尬,谷歌、百度等基于网络的广告和统计服务将获得更大优势。开发者不再需要打包SDK,只需要引入一个脚本。

开源技术在移动互联网领域会更受欢迎。

HTML的开放性造就了大量的开源产品,反过来也促进了HTML的繁荣。Github上有大量的JS框架,但是原生开源代码相对较少。未来移动互联网世界会因为开源而发展的更快,类似Github的厂商也有机会。

开发工具的变化

早期的HTML只需要记事本写几个标签,而中期的HTML,JS,CSS更复杂,需要更高级的文本编辑器。但HTML5到来后,其代码量、复杂度、开发模式都将与最初的开发不相上下,需要像XCode、Eclipse这样的专业IDE工具来解决开发和调试的问题。一些以用记事本写代码为荣的开发者,将面临思维的转变,甚至被更高效的开发者淘汰。

性能分析和调整

目前很多针对原生应用的性能分析和调优工具或服务,未来也面临转型。HTML5应用程序的性能分析和调优是另一个世界。

困惑与产权保护

HTML5是开放代码,带来的好处和坏处都有。有些事情开发人员希望公开,但有些事情开发人员希望保护。混乱的技术变成了更多的商机。Gmail在PC Web上的混乱做得很好。除了JS混乱,离线数据加密相信也有很大的空间。

安全供应商的新机遇

HTML5的强大会导致很多安全问题,解决方案也和原生的不一样。行业中可能会出现新的安全供应商领导者。

七。结论

最后感觉题目有点大。其实没有人能准确预测未来会如何发展,变数很多。但是我觉得让用户和开发者更方便的趋势没有错。