VISION

移动互联网属于HTML5还是属于App?

是HTML5还是App,这个问题网上的争论已经多如麻了,今天捡两个知乎上移动互联网从业者的回答。

仅是争论未来的趋势是没有意义的,其实只要能分辨得出各自优劣,能让看客们心里清楚,之后的发展就看趋势吧。

 

季逸超

 

HTML5和Native是大家常谈的话题啦,个人认为HTML5以及相关技术/协议在众多人努力下越来越完善,但要让HTML5完全匹敌原生代码不太实际。不过这两者不应该是谁来干掉谁的关系,就目前来言在移动客户端已经有了较为清晰的用途划分:Native Code比较适合密集工作和硬件交互,而HTML5相关技术比较适合复杂排版和一些flexible的东西。比如要实现较复杂的rich text的话我相信大家都会毫不犹豫地选择HTML5相关技术,而且据我所知苹果在SDK内的很多控件中也是使用了相关的web技术。

HTML5和Native Code缺一不可,所以以后更重要的是让HTML5和Native Code更好地交互、配合,共同实现一个完整的牛X产品。什么技术不都是为产品服务的么!移动互联网的未来是属于好产品的...



另外广告下=___= 猛犸浏览器从5.0.0开始提供web与native代码的交互api,比如统一消息机制、web/native之间可以直接同步/异步调用(node.js风格哟)、数学/数据/代码处理和存储等等,提供比PhoneGap更底层更直接的支持。这套东西完善后会提供给其他开发者使用,现在就可以在Mammoth 5的插件开发中使用。(最近忙别的呢,遥遥无期啊...) 最终最终最终的目标是图灵完全(遥遥遥遥遥遥无期啊)...

钟国英

 

看了一圈回答,没有人去区分问题中的HTML5和浏览器啊。
HTML5和浏览器完全是不同的概念,我们先来想想它们是不是等同的:

  • 人们提到HTML5,往往指的是JS,CSS3,HTML的一坨功能组合,而非HTML 5标准本身。问题中HTML5的是前者。
  • 先别提未来,现在,HTML5的最大容器是不是浏览器?看看微信、微博,目前均已内置浏览器,自带社交属性,还有将来的Glass或不可预知的交互工具,它们会不会是不是H5的更好的载体?
  • 而浏览器只是一种单调的H5载体。

好,现在我们把浏览器去掉,只讨论H5和Native App。

讨论的是未来,通过目前前沿的H5进展,我们可以预知:

  • 性能不是瓶颈。随着硬件和技术的发展,H5的性能曲线将趋近于Native App。比如WebGL硬件加速,Canvas硬件加速成为主流,又比如Mozilla和Epic Games将虚幻引擎3移植到Firefox浏览器,无插件运行《虚幻竞技场3》,在未来,性能不是问题。嗯,20年前的人类也不相信脚本能用来开发3D游戏。
  • 安全问题未知。移动设备跟PC的一个大区别在于,移动设备带了非常多的隐私属性:联系人、地理位置、蓝牙、支付信息、录音设备。而H5标准在安全问题上就是个渣渣,比如自动拨号标签,比如localStorage bug:Introducing the HTML5 Hard Disk Filler™ API(看官请自重,看明白再点击,小心硬盘挂掉),比如照相机、GPS调用授权:网站可以偷拍,跟踪你,是的,你没看错。
  • 硬件功能调用支持。比如浏览器对硬件(陀螺仪、相机、NFC)的调用支持成为主流,在硬件功能上和Native不会有太大区别。
  • Hybrid App技术成熟。除了PhoneGap这种混血,我们也看到了更多的可能性。比如:既可以用来开发本地应用,又可以当做浏览器插件使用的X-Canvas,X-Canvas:UC将发布高性能HTML5游戏引擎-CSDN.NET
  • URL具有天然的共享属性。在Android上使用支付宝、分享到微博,可以使用Android Intent调用本地应用。而在浏览器/内置浏览器上,不需要安装本地应用。

好,看起来,除了安全问题之外,似乎H5还是看上去很美的,但是它目前的最大障碍是:

移动操作系统分裂,系统浏览器(或系统提供的内置浏览器)标准不统一。有移动端H5开发经验的同学一定知道,兼容各个平台(Safari、Android系统浏览器、WP浏览器、各种淘气的第三方浏览器),每个平台的每个版本还都不一样,兼容成本是非常高的,手上拿十几个设备,天天默默流着泪入睡,哈哈。

随着技术成熟,标准完善,这个障碍会消失的。至于第三方浏览器的市场,敏感话题,略过不表。

其实说了这么多,只证明了H5还是比Native App差那么一点,H5的核心竞争力在于跨平台(什么云端升级都是小优点啦),设想有一个系统统一了天下,那么H5的跨平台优势就荡然无存了。“一次开发,到处运行”,只能“看上去很美”。

但是没有有一个系统能一统天下。

所以,结论是:HTML5和Native将会并存、融合。但H5的主要载体不是浏览器。

而我对此的观点就是,短时间内无法看到HTML5的未来,毕竟没有亲爹(iOS、Android亲爹是苹果和Google),无法让用户感到方便的工具功能再强大也是空谈。况且市面上弄个普通WAP页面打着HTML5的旗号到处招摇撞骗,吃懂了人们都是只识概念这一人性弱点。