新时代的web与app开发

内容来源:2017年6月18日,淘宝终端技术团队高级技术专家Winter在“2017 iWeb峰会·第六届HTML5峰会 ”进行《新时代的web与app开发》演讲分享。IT大咖说做为独家视频合做方,经主办方和讲者审阅受权发布。
阅读字数:2035 | 5分钟阅读


摘要

近几年前端有着不小的变化,做为前端技术人员,一方面感慨有些本身熟知的技术逐步落幕消亡,另一方面又看到新事物不断出现,以种种方式改进和冲击着咱们的开发方式。生在这个时代是一种不幸,也是幸运。html

嘉宾演讲视频连接:t.cn/RCYmeWv前端

回顾

2010年,有人说Web已死,引起了热议。html5

2012年,你们想象html5何时能战胜native。web

2015年,我在旧金山第一次看到了React Native的demo,很是兴奋。后端

2016年,咱们本身的weex开源了。浏览器

到2017年,我所见的前端变化

2016年到2017年之间,前端的三个主要变化是技术变化、工程变化和职责变化。weex

技术变化主要是weex和React Native为表明的一批融合的技术,给咱们的能力带来了很大改变。架构

另外一个值得关注的变化是工程变化。前端从简单薄弱的一层,变成了一个很是重要的职能。app

职责变化主要是指前栈的问题。咱们曾经对前栈有过憧憬和畅想,而事实老是不尽如人意。其实如今职责的变化更加合理,并不比想象中的情况差。前后端分离

前端技术变化

Web和Native的优点各有三点。

前端的优点一是动态发版。动态发版要遵照用户协议,用户协议是不容许在Webview以外的地方执行Script,也就限制了Script只能是Javascript,由于Webview不支持别的脚本。

第二个优点是功能解耦,这一点很容易被你们忽略。随着客户端越作越大,它会变成很是依赖强力的架构师和强力的项目管理机制。这个要求对于不少小公司来讲是致命的。前端就没有这个问题,每一个人写各自的网页,浏览器自然隔离,相互不受影响。

还有就是前端技术很是适合三方,三方就意味着不可能要求三方使用指定技术。html原本就是一个各公司妥协的结果,即便是苹果的iOS这么这么强势仍是给它留了Webview这么一条活路。

客户端有三点很是直白的优点就是体验、设备特性和性能。这都是前端技术目前达不到的。

前端工程技术变化

看了React Native以后,咱们开始往这个方向去思考。咱们须要的是一门真正能够在上面作开发的语言,答案是weex。

咱们获得的就是前端的开发体验和客户端的用户体验。

开发体验就是说其实整个工具栈全都是前端,但实际上渲染出的东西是weex。如今在咱们淘宝的应用上,除了一些多年不变的基础业务,几乎全部业务都已经用前端来作了。

前端工程体系变化

之前咱们要作一个网页,前端负责开发,作出一个demo性质的前端页面,而后作套模版。服务端把模版套好,和代码结合在一块儿,最后进行发布。

之因此说前端特别薄弱,由于它没有本身的发布,只是一道工序,而不是一个工种。

另外套模版这件事很是繁琐。咱们在2013年的时候,你们一直在讨论“先后端分离”,提出了各类各样的技术来解决套模版这件事。

随着手机淘宝在整个集团的比例上升,手机淘宝这个方案基本上取得了胜利,而且是先后端同构。

让前端独立去发布,就是最终极的先后端分离方法。独立发布前端只能发html,服务端全部东西要API化。

如今咱们的前端有一条本身的发布线,开发、构建、联调、发布。服务端是在联调环境参与进来的,拿它的API去作联调,而后前端本身进行发布。

这里对于前端来讲多了两个环节,一个是构建。有了构建后想象空间很是大,以前前端就是Javascript,如今甚至引入了一些模版构建的技术,有一些外部的像unity也进来了。这样作丰富了整个生态,也让一些以前不是前端的人开始逐渐进入到前端的体系里来。

另外一个就是发布环节。有了发布就意味着前端开始关注线上的东西,随之而来前端的工程体系,包括持续集成这样的概念早09年、10年的时候对于前端来讲是个难以想象的话题,到今天在一些大公司的前端圈子里已经把这个话题看成很是天然的一件事了。

前端职责变化

还有一个更大的变化就是前端职责变化。咱们曾对前栈有过一个想象,前端若是具有了服务端能力,咱们会不会越作越“胖”,把服务端挤得只剩一小点了。但实际上若是这样作会致使一个严重的问题,缺乏前端。

后来咱们在思路上发生了一个重大转变,就是赋能。从“把本身作成全栈”变为“帮别人作成全栈”,下降服务端的人去作前端的成本。

另外当服务端把能力输出给服务端的时候,服务端也会输出能力给前端。前端输出给服务端的能力就是组件体系和搭建体系。服务端输出给前端的能力是对数据作必定的标准化和校验。把不一样前端的业务平台化,在业务层面上是不同的,其实是从同一个平台出来,这样前端也具备了必定的全栈能力。最后变成了一个“你中有我,我中有你”的状态,你们又各自在负责本身擅长的部分。这是真正意义上的全栈最终在咱们团队落地产生的场景。

将来:前端技术云化

个人理想是未来之前端为中心去开发应用开始成为一种可能。只需之前端技术为核心去构建一支团队,它就能够独立地开发一个应用。

“云端配合”的概念可能会取代如今纯粹云服务的概念。

未来的前端不只仅是如今已经在作前端的人,还包括了一些更普遍的群体。好比被输出了前端能力、被赋能的那些服务端的同窗,以及作更底层的功能、给咱们提供插件能力的服务端同窗,他们都会变成一个模糊的“大前端”概念。这是我认为将来前端的一个发展趋势。

我今天的分享就到这里,感谢聆听!

相关文章
相关标签/搜索