• 欢迎访问安全专题网站,安全专题信息,安全专题教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入安全专题 QQ群
  • 安全专题现已支持滚动公告栏功能,兼容其他浏览器,看到的就是咯,在后台最新消息那里用li标签添加即可。
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏安全专题吧

HTML 5定稿一周年!你必须要重新认识HTML5了

安全技术 aqzt 2年前 (2016-12-19) 522次浏览 0个评论

HTML 5 定稿一周年!你必须要重新认识 HTML5 了

去年此时,W3C 定稿了 HTML5。我曾发表一篇文章《HTML 5 终于定稿,为什么原生 App 世界将被颠覆》,这文章转载量很大,它阐述了 HTML5 的来龙去脉,分析了 HTML5 的优劣势并对未来发展做了一些预测。

时隔一年,我们看看 HTML5 产业都发生了什么,那些基于理论的预测,哪些被实践了,结果又如何?

  • 2015 年初,Facebook 宣布推出 React Native 开源框架。
  • 2015 年初,腾讯微信推出了 JS SDK。
  • 2015 年中,阿里巴巴公司的 Judy Zhu 入选 W3C Advisory Board,这是中国人在 W3C 组织中话语权最高的位置。
  • 2015 年中,HTML5 中国产业联盟举行扩大会议,引入十几家会员单位
  • 2015 年中,Firefox 副总宫力离职创业 H5OS 并获得巨额融资。
  • 腾讯 QQ 玩吧成为重要的 HTML5 手机游戏平台。
  • 360 手机助手与 DCloud 合作推出流应用,开启 HTML5 替代原生的序幕。

从整体来看,2015 年是各个巨头进军 HTML5 领域的探索年,不同的公司通过不同的方式在探索 HTML5 如何为其所用,在推进、验证、纠错、继续推进中不停迭代,并出现了一些非常亮眼的突破。

Facebook 回归并发布 React Native,并非拥抱 HTML5

扎克伯格在 2013 年放弃 HTML5 的声明是 HTML5 历史上黑暗的一幕。2015 年,Facebook 终于回来了。不过这种回归略微尴尬的是:React Native 并非拥抱 HTML5,而是准备干掉 HTML5。React Native 虽然仍然是 JS,但并不兼容 HTML5。通过 Facebook 的自定义语法,React Native 实现了更高效率的渲染引擎,提升了性能表现。

React Native 从年初召开发布会,然后发布 iOS 版,直到 9 月份 Android 版推出,中间也是在不停试水。

Facebook 基于动态语言构建生态链的动力是十足的,作为全球最大的社交基础平台,Facebook 的 Web 版本上活跃着广泛的三方应用,但手机上这套体系搬过不来。

Facebook 自己的 App 是原生开发的,但三方应用如果也使用原生开发,是无法成为 Facebook 移动生态的一部分的。而基于 HTML5 的三方应用,在手机上的表现实在不佳,严重打击用户在手机上使用、购买这些三方应用的热情。而 Facebook 极大的盈利来源恰恰是从三方应用的收入中获取分成。

虽然基于动态语言构建生态系统的动力十足,但 Facebook 为何要另起炉灶呢?

当初 Facebook 放弃 HTML5,就是因为 HTML5 的渲染效率在手机上达不到流畅标准,Facebook 认为罪魁祸首是 DOM 和 CSS3。而 React Native 的原则就是 No DOM,使用了完全不同的绘制引擎。

当初 CSS3 被设计的超级复杂,很大程度上是为了替代 Flash 在 HTML4 年代酷炫的交互效果。在 PC 上硬件资源没问题,CSS3 虽然复杂也能跑得流畅。但手机不同于 PC,DOM 和 CSS 重绘在低端机上并不流畅。

但无论如何,自建标准是比较难的事情,如果仅在 Facebook 生态里自然没别人管,但如果做大了就又会像 Flash 一样遭遇巨头联合绞杀。但是 React Native 确实在倒逼浏览器引擎开发商反思渲染引擎应该如何优化。

腾讯在微信和 QQ 两大生态中,运用不同思路探索 HTML5

腾讯也是社交巨头,和 Facebook 有类似的需求,围绕着腾讯巨大的用户群,有众多三方应用在这里掘金。不过腾讯有微信和 QQ 两套生态,这两个生态做 HTML5 的思路还并不相同。对微信而言,公众号就是它的生态,为了增强公众号的能力,微信推出了 JS SDK,它本质上是一种轻应用,强化了 JS 的能力,补充了十几类常用的 API。公众号是以服务内容和应用为主的,JS SDK 的强化基本没有考虑 HTML5 游戏的需求。

虽然微信强化了 JS SDK,但公众号的性能和体验还是让用户不太爽的,切换页面的长时间等待、Back 错乱等很多问题让人烦躁。从这个角度看,还是落后 Facebook 一筹。

另一方面,如何推进开发商使用 JS SDK 也是一件挠头的事情。本来滴滴出行内嵌在微信里的版本是可以通过微信 JS SDK 来展现地图和语音输入的,但滴滴并没有强化微信内嵌版的体验。这里就暴露了微信的另一个问题:当一个 App 厂商自己也是巨头或者想成为巨头时,它必然不会依赖和强化微信里的入口,它会希望主推自己的独立入口。

回想张小龙做微信公众号的理念“再小的个体也有自己的品牌”和“消除中介”,这一切也是顺理成章。

与微信不同,QQ 是另一套思路,QQ 用户低龄化,爱玩游戏,通过 HTML5 游戏变现是 QQ 空间这个产品更关注的事情,于是腾讯在 QQ 空间 App 里推出了玩吧栏目,专门汇聚 HTML5 游戏,给这些游戏导流量,然后获取分成收益。目前玩吧汇聚了各种主流 HTML5 游戏,包括普通 HTML5 游戏和使用 Cocos2d-HTML5、Egret 等引擎的游戏。

2015 年有不少渠道在探索 HTML5 游戏,包括浏览器和一些超级 App,甚至包括滴滴出行也开设了游戏中心。但就目前的情况,大多数渠道都没有亮眼成绩。玩吧在众多渠道的胜出反映一个现状:HTML5 游戏目前比较适合基于社交属性的轻度游戏。

业内还有一些开发商尝试把 HTML5 游戏引入到互动营销、客户服务以及多屏互动领域,这些有意义的探索或许在未来能给消费者和商家带来新的体验。

将 HTML5 应用于应用市场,360 等企业寻求新突破点

应用市场对待 HTML5 与社交平台不同。应用市场不存在通过社交用户建立开放平台并变现的需求,应用市场是比较自由和单纯的发行渠道。

但原生应用的发行是一个很简单的工作,无法差异化的,各家就是拼自己的资源和流量占入口。于是应用市场也在寻找自己的突破点。360 手机助手在 2015 年初上线了生活助手栏目,汇总了各种 O2O 厂商的服务,但不是让用户下载这些 O2O 厂商的原生 App,而是直接打开 HTML5 网页。年中 360 还宣布对 HTML5 服务免流量,目前 360 生活助手里访问这些 O2O 厂商的 HTML5 App 可以不花通信流量费,费用由 360 买单。

O2O 服务的集成发行其他巨头也很重视,百度在宣布 200 亿砸向 O2O 后,手机百度及各条产品都很注重 O2O 厂商的 HTML5 服务引入;小米也推出了小米生活,华为也在做华为生活,也都是类似思路。于是今年 O2O 厂商们有一个忙碌的工作就是把 HTML5 页面集成到各家渠道。由 App 分发升级为服务分发,这是应用市场自己的动力,但用户使用习惯的养成还需要时间。

OS 国产化,从 HTML5 入手

2015 年中,HTML5 中国产业联盟举行扩大会议。这个联盟其实 2013 年就成立了,无奈当时整个产业太冷。随着基础环境的变化,越来越多的公司开始重视 HTML5,并加入 HTML5 中国产业联盟一起推动产业发展。目前联盟的会员们已经形成从开发、测试、发行、培训、外包、融资、媒介宣传的一条龙 HTML5 产业服务能力。这也让中国的 HTML5 开发者有更强的信心和更方便的服务。

2015 年中,Firefox 副总裁、Firefox OS 的核心人物宫力博士,宣布辞职创业做 H5OS,并获得紫光国际 1 亿美金的巨额投资。这笔巨款着实令人吃惊,且不说上半年疯狂股市是否引发泡沫,但 H5OS 指向的是紫光国际看好的中国政府国产化 OS 市场。自从斯诺登事件后,中国政府就反复强调国产化。在政府信息化领域围绕着很多 IT 公司,都试图从中寻找到新机会。

关于 OS 的国产化,有些人从 linux 入手,另有一些人,从 HTML5 入手。鉴于 Google 和中国政府的关系,Chrome OS 是没人敢碰的,于是不少人在接触 Firefox OS,宫力博士的创业也在情理之中。

此外,华为也推出了国产安全手机,从芯片到系统都是国产的。

但手机上的 OS 比 PC 上的 OS 难做。做一个操作系统本就很难,操作系统出来后要建生态更难。PC 上大多数业务本就是基于 Web 的,但手机上目前大多数优质 App 都是 Native 的,缺少优质的应用是目前所有做手机 HTML5 OS 的尴尬。如果希望在 HTML5 的 OS 上有足够好的体验,必然涉及扩展 HTML5,但如果各家定义自己的扩展规范,让开发者为每家单独开发,这个事基本就无法推动了。产业各方合力,把扩展标准统一,才可能有机会。

流应用,HTML5 产业又一大亮点

2015 年在 HTML5 产业里最大的亮点是 360 和 DCloud 公司推出的流应用,它对于 HTML5 缺陷的弥补和优势的发挥,可以说做得淋漓尽致。

在 360 手机助手里搜索“大众点评外卖”,看到的按钮不是“下载”,而是“秒开”。

HTML 5 定稿一周年!你必须要重新认识 HTML5 了

流应用?这是轻应用换个概念炒冷饭吗?

当然不是,点击秒开后并不是在线打开一个网页,仍然是安装一个客户端 App,仍然如原生 App 般强大和流畅。只不过这个客户端 App 是 JS 代码,并像流媒体一样流式发行、边用边下,实现了 5 秒内完成客户端 App 的下载、安装、启动。App 二次使用仍然在桌面点图标启动,应用使用体验也与传统原生 App 没有区别。

一定要注意,对于用户而言,使用 App 的功能体验与之前的原生方式并没有区别,但是获取 App 却秒开了。

读者肯定会问,怎么实现的?

这个新概念包括的新技术有点多,本文不负责科普所有实现过程。大概讲讲 HTML5 为何能达到原生的功能和体验。

流应用使用了一种强化的 JS 引擎(HTML5+),这种引擎能让 JS 调用操作系统的 40 万 API,并将之前 HTML5 体验不佳的交互都改进为原生体验。

不同于 React Native 的反 HTML5 方案,HTML5+采取的方案是强化 HTML5。

HTML5+兼容 HTML5,并扩充 40 万原生 API。对于 DOM 和 CSS3 动画效果不佳的部分场景,使用原生动画补足,比如窗体切换、下拉刷新的动态交互效果,不采用 CSS3 动画,而是通过 JS 调用了原生 view 动画。

相比 React Native,强化 HTML5 的方案对开发商更友好,开发商只需把现有的 HTML5 版本做简单强化改造即可,而不是重新写一套 No DOM 的代码。

HTML5 定稿后一年的业内大事基本整理完毕,接下来我想深入分析流应用这个里程碑产品会给产业带来什么变化。

HTML5 出现这几年,在 PC 上已经广为应用,但在手机上,始终是备胎。

流应用的出现颠覆了大众对 HTML5 的认知。以往提到 HTML5,大多数人都会认为 HTML5 有 5 个问题:

  1. HTML5 的性能不行,不如原生;
  2. HTML5 的 api 不够,很多功能实现不了;
  3. HTML5 没法离线运行,断网就不能用了,即使有离线缓存,三方软件清理垃圾后也不能用了;
  4. HTML5 只能在浏览器里用,没法直接在桌面启动;
  5. 通过 HTML5 强化引擎(如 PhoneGap/Cordova)开发跨平台 App,那是小公司为了省钱做的事,大公司还是要用原生。

现在,这五个常规认知被终结了。


Selinux 中国 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:HTML 5 定稿一周年!你必须要重新认识 HTML5 了
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址