β

程劭非:后HTML5时代的native vs web

HTML5梦工场 147 阅读

7月19日,由HTML5梦工场主办的第四届HTML5峰会暨攻城师嘉年华(iWeb峰会)首站在上海开幕,会上阿里 资深技术专家程劭(winter)非发表了《HTML5,VR+的发动机》主题演讲。

最近native vs web的话题又被PPK提起,作为一个客户端业务的前端团队leader,每天面对的手机淘宝Appstore里最重型的应用之一,我会分享我们在native和web上各自面对的问题,以及我们对hybrid的全新认知。

以下是演讲实录:

我就自己开始,首先感谢手机淘宝市场部的赞助,今天带来的话题是Web VS.Native,这个是老调重谈,古时候是一个口水篇,据上一次H5火爆提出已经经过差不多两三了,我今天讲的话题需要不要讲成一部口水战,要讲成一个血泪战。就是手机淘宝如何一起合作,如何探索各自的领域和我们遇到的问题,我今天给大家讲一部口水史。

这个是连线杂志主编写的一段话,我们当然喜欢开放的、自由的网站,但我们正在逐渐抛弃它,寻找更加简单、时髦的时代。

这个是我们DCluod的王总说的,手机PP三年内将彻底消失。我们看一个相对来说比较性功能障碍的,不是说这个人,这个是性能、工具、能力。这个问题今天看已经改善很多了,能力还是有问题。

Web核心竞争力究竟是什么?到这个时候就要给大家看这个H5带来八大特性加CSS3,我今天根本没想给大家讲这个东西,我觉得这些东西毫无意义3D东西H5已经玩剩下的,CSS3那点东西更不用说了,反正就是这样,所以今天我们先来想一件事情。

我先领着大家回顾一段历史,H4 VS MFC,我们H5挑战IOS、安卓,这个跟H4 VS MFC是一样的。在那个时代木星比地球多了,Native的能力是太阳,毕竟引擎都是用Native写出来的,其实在移动互联网到来之前,大家看到满天都是网页,你们的父母把上网当成打开浏览器,绝对不是打开word软件连到云服务做一点事情,为什么H4面对MFC会有优势?

你们觉得太阳很大,其实还有更大的,技术里面是一山更比一山高,其实Native里面有很多的技术在出现,接下来给大家带来一段视频。大家可以看一下现代的计算机图形学已经发展到什么程度,这是2012年图形学大会,没有音乐,大家看一下炫酷的效果就行了。

其实看到这儿差不多了,虽然视频还有一段,我想说一点,我们今天其实并不是说我们使用的技术越炫酷,这个东西就在商业上越成功。其实一个新技术出来是先到我的Native,肯定不先到我们企业应用里面看到这个技术,一般来说一个技术出现以后,肯定先在电影、广告这些行业里面应用。其实Web和Native从来不是需要PK的技术,其实新技术演进有这样的规律,从实验室有人做出来,然后新技术论文发表到学术圈,然后到企业里面,企业里面有前瞻性的企业和更偏保守型的企业。当企业把这项技术用对很成熟之后才会进入到标准里面,我们Web也是这种标准,他就是H5那些特性,实际上那9个图标里面的特性都是Native玩剩,为什么Web一直有竞争力,为什么和MFC竞争能够胜利。我的答案是有Q就有A,Q就是超链接,我们所有网站不能没有什么功能,不能没有什么标签,谷歌如果没有了这个a就活不下去,世界尚不能没有百度、谷歌、雅虎,互联网的关键就在于连接性,anchor是开放、互联、标准,这个是wab的竞争力,如果我们做的产品希望和别人的产品连接在一起,如果我们做出一个功能需要嵌入到别人的功能里面,其实你看QQ就没有做Web,谷歌就很重视自己的网站,facebook 属于这个之间,大家链它,他也链出去,他既做内部收集也做内部的分发。Web和Native怎么样做鼠急促选型,我觉得是这样的一张图,这个是两级,如果你做的东西越接近开放体系你就用Web,如果你需要拿到近年来最火的技术就使用Native。

除了Web和Native核心领域,中间有一些灰色地带,这个灰色地带不是非此即彼的结论,那是需要大家去看的,这个也是Web和Native怎么样去选择的一块,我们做手机淘宝主要讨论这几个方面,体验、软件规模、可运营性、人才,我们挨个看一下。

在体验上,两边有非常大的差别,Native天生优秀,而且非常具有空间,至今为止我们在ios上大家看到很多软件都是优化,你们买苹果新的UI风格都不是一开始在Web上实现的。Web的下载时间比较慢,而且还有天花板效应,所以说这一点上,我们我出了很多的努力,这些是我们手机淘宝做的一些东西。Hybrid是增强web的能力。Zcache是我们一项比较新的技术,他的做法是我们把H5的内容预先取到本地,就是我知道有可能浏览哪些网页,可以把所用的资源保留在本地,这样就节约了下载时间。我们自己完全模拟了scroll,虽然没有原生好,至少我们逐渐接近原生。还有通过严格的监控和上线前checklist的检查,目前大部分下载时间经过上面的技术优化以后,已经是原来的1/以我左右。Native什么都不用做,天然好。

然后是Native不占优势的地方就是软件规模,你一个网页装不下太多东西,不可能在一个网页用一大堆的东西。今天手机淘宝的团队,尤其是Native客户团队,今天被包大小问题、Crash、内存问题困扰,我们这边做的也是监控,制定非常严格的空城流程来确保软件,我们有项目管理团队去做,程序员会经历非常痛苦的过程。通过这种指标,然后和管理手段降低包大小、Crasd、内容的问题,即使这样,我们今天包大小也是非常头疼的事情。我们下载新的淘宝,我们每次发布都是贴着IOS的上线发布的。

然后是可运营性,我们双十二的活动都是当天上去,随时变动可以随时更改,有一些软件,比如说京东也回了一个,他的客户端有一个问题,他有的时候图标排列会反过来,他有一些客户端上字是反的,可运行方面,在公司商业PK的会起到关键性作用。在可应用上,Native需要设计架构,苹果允许大家发脚本。我们这边有几个方案,一个是动态部署,是安卓的。还有一个模块是React Native,这个东西最近也是蛮火的东西,React Native是非标准的,但是是跨平台,帮大家去做可运营性的东西,他是基于的东西,他可以实时在网上下载模块。

最重要的是人才,Web的人才是容易学难精,每个服务端的都能写H5,你要加一个动态效果就没有人会写了。Native我的评价叫做千军易得,一将难求,能够编写比较高质量应用的人还是有的,但是能够真正面对超大规模,手机淘宝作为平台性软件,在流量比较靠前的软件里面,已经是其中最复杂的一个,微信虽然比我们牛逼,访问量大很多。手机淘宝承载各个部门,天猫、聚划算都在里面,这个状况要有好的架构去设计,其实我们这边也在做,我们就需要非常好的架构模式,这种人非常难得。做业务的有,但是做架构的人特别少,这是唯一一个两方都需要努力。Web断在PPT后面放招聘链接,Native是在别人PPT里面做招聘连接。

作者:HTML5梦工场
开放、生态、互动、助力
原文地址:程劭非:后HTML5时代的native vs web, 感谢原作者分享。

发表评论