QCon 出品人采访稿 · Issue #188 · lifesinger/blog · GitHub优秀个人简历推荐

今年与三七一起,承担 QCon 北京 2014 专题出品人,关注移动时代的前端,下面是 InfoQ 的采访内容。


InfoQ:大家都知道您是您作为支付宝前端开发团队负责人,淘宝前端类库KISSY、前端模块化开发框架SeaJS、前端基础类库Arale的创始人,不过还是请您重新介绍一下自己,及这三个项目现在的情况吧。

玉伯:

我的情况比较简单,03年毕业,在北京漂了5年,08年到杭州加入淘宝,12年转岗到支付宝,现在负责支付宝共享平台的前端技术团队。

在淘宝期间,业务需求需要做一个富文本编辑器,于是有了KISSY Editor,后来做着做着就变成了一个前端基础类库KISSY,editor是其中一个组件。11年开始,KISSY的主要开发工作已移交给同事承玉。现在已经有一个专门的虚拟团队维护,负责人是拔赤。

2010年期间,有关注Node.js和CommonJS社区,了解到当时的风云变幻。强烈觉得模块化开发理念不仅需要规范化、更需要扎扎实实的实现,当时有FlyScript、BravorJS、RequireJS等种种实现。个人不是很喜欢RequireJS的一些理念和实现,喜欢的FlyScript则自我阉割了,因此萌生了自己写一个的想法,这就是Sea.js。Sea.js已经发展到2.x版本,在国内使用比较广泛,阿里、腾讯、中航信等公司都有采用。Sea.js的核心理念是保持简单,只做该做的。目前Sea.js 3.0的规划已经有了雏形,会进一步简单,包括构建。

2012年到支付宝后,支付宝已经有了一套前端基础类库Arale 1.1,因此我并不是Arale的创始人。Arale 1.1的思路与KISSY、YUI等类库差不多,都是从底层组件做起,很辛苦很累,但效果并不太好,在可维护性、易用性等方面,自己做的dom、event等组件,经常不如业界已经成熟的jQuery等类库好用。为了解决这些痛点,当时和同事商量后,就有了Arale 2的想法。Arale 2的核心是开放。开放的第一层是拿来主义,业界已经有的成熟方案,经过我们考察后,直接引入进来用。拿来主义直接让我们站在了巨人的肩膀上,并能以此做为基础,迅速构建适合支付宝的一套UI组件库。从狭义上讲,Arale是为支付宝量身定做的,并不适合直接拿去给其他公司用。从广义上讲,Arale是构建前端基础类库的一种开放式方案,这种方案可以被其他公司借鉴。目前已有不少团队基于Arale方案构建出了适合自己公司业务的特定类库。Arale目前的规划有两个方向:1)进一步拥抱社区,废弃CMD,拥抱CommonJS,Arale组件的模块将直接与一个Node模块无异。2)基础组件的Mobile First化,为移动基础类库的构建提供体系化方案和最佳实践。

对前端开发来说,前端基础类库很重要,但从整个前端领域来看,类库依旧是比较小的一块。还有很多领域非常值得投入,下面有时间再说说。

InfoQ:(谈到负责支付宝的前端团队后)阿里内部团队众多,能否讲讲支付宝前端团队的开发流程和特别之处?

玉伯:

从前端开发来看,阿里内部分三种类型:淘系、支付宝系、B2B系。B2B系没亲身体验过,略过不说。淘系和支系的区别比较明显,简单说下。

淘系的核心业务是「导购」,业务的定位使得淘系大量前端业务以前台展现为主。这类业务,快是第一用户体验。快不仅是页面速度快,也包括研发交付速度要快。也会有功能交互很复杂的业务,但相对来说不是很多。

支系的核心业务是「支付」,有段时间也有「导支」业务,但很快成为非主流。「支付」是功能型的,与用户资金相关,「稳定」、「安全」是第一用户体验。当然也求快,但在稳定、安全面前,快经常要让道。支系还有两个重点是金融与数据,与支付一样偏功能性。

业务类型的不同,使得淘系、支系的技术体系、研发交付有比较大的差异性。淘宝求快,支付宝求稳。目前支付宝也在探索更适合互联网的快速轻量级研发模式,淘宝在稳定、安全上的要求也越来越高。像是两个极端,在互相借鉴互相靠拢,差异性应该会长期存在,但会逐步减少。

InfoQ:目前您最关注的重点是什么?

玉伯:

目前最关注的是团队管理。从带几个人,到突然带几十人,压力很大。除了自己的个人生活,最在乎的就是这帮兄弟姐妹的未来。目前团队缺口还很大,近期大量招聘中,职位不限于前端开发,也希望有 Node、Java、iOS、Android、交互、视觉等经验的人员加入。

你瞧,又广告了。最近晚上做梦都在关注招聘,有个同事说我近期三句不离招聘,欢迎投递简历。

InfoQ:您感觉在过去一年中,前端领域是否发生了令人值得注意的变化?

玉伯:

变化太快了,好多变化。百度的berg总结过一篇2013前端技术盘点,说得很全面。对支付宝来说,最大的变化有:

1、全端化。前端不再是折腾各种浏览器了,而是需要面对PC、Pad、Phone甚至TV等各种端。支付宝的做法很干脆实在,直接让一批前端开发转岗到无线部门做iOS开发。前端部门自身也需要逐步具备跨终端开发的技能。这是移动互联网带给前端最大的冲击,却也是最好的礼物。

2、全栈化。Node的兴起和成熟,让前端在解决研发效率等问题上有了新思路。阿里的整个技术体系是基于Java的,前后端的职责分工一直存在灰色地带,特别是在支付宝,厚重的开发环境已经对前端研发效率带来严重影响。在这种情况下,如果能基于Node实现前后端运行与研发过程中的清晰分离,将会带来研发效率上的大提升。全栈不是为了技术的全面,而是从职责分工上能让更合适的人干更合适的事。

3、工程化。前端开发越来越复杂,除了运行时的类库框架,还有非常非常重要的一块是研发交付体系。这一块各个大公司的前端都在探索,各个公司都有大量实践,但感觉都还存在很多优化甚至突破的空间。支付宝的研发交付体系好像是阿里最复杂的,前端一方面「享受」这种复杂性带来的稳定性保障,同时又非常「痛恨」如此让人抓狂的各种平台、流程。前端的工程化开发是一个体系化的问题,相信2014年,支付宝前端在这一块会有飞跃式突破。

InfoQ:您是此次“移动时代的前端”专题联合出品人,能否谈谈你对此次专题的内容策划?(谈谈为什么你认为这个话题是重要的、值得关注的?听众可以从这个分享中获得什么等等)

玉伯:

内容策划上,就是上面说的全端化、全栈化、工程化。筛选的话题,会来自大公司,也会来自创业公司。全端化是移动互联网对企业的需求。全栈化、工程化都是对研发效率的关注,这一块的进展,能让互联网公司特别是大公司的传统研发模式发生变革,让分工更合理,研发效率更高。

InfoQ:(在上面的内容提到全端开发的概念后)您对“全端开发”这个新概念怎么看?

玉伯:

上面已经提到这些概念了。全端我的理解是跨终端,从浏览器兼容,走向各种终端的兼容。你想谈的应该不是这个,而是 FSD(Full Stack Developer)。

Full Stack 有些地方翻译成全端,我更喜欢翻译成全栈。知乎上有过讨论,感觉大家对全栈的理解有很多差异点。我的理解与大家的有些不一样。

1、全栈不是什么都懂,而是鼓励大家从单一( | 型)人才变成一专多能(T 型)人才,进而变成多专多能( π 型)人才。

2、对于前端的全栈之路,在支付宝是鼓励大家通过Node掌握服务端上的UI Layer层开发,是让前后端的分工更合理,并非是让前端去研究后端的专业领域。表面上看是分久必合、合久必分,实际上是分工更合理,让前后端都能朝着更专业的深度发展。

3、全栈开发应该根据不同场景去定义。支付宝的全栈,跟Facebook的,目前就不一样。中间没有谁好谁坏,都是从业务实际需求出发,以及团队目前的人员情况出发,自然而然地一种选择。

InfoQ:在前端开发以外,您是否还有关注的技术领域?为什么?

玉伯:

技术领域这几年都放在前端了,对动漫制作、数据挖掘有浓厚兴趣,但尚未投入大量时间。技术领域之外,最关注团队管理,越来越发现很多事情靠一个人无法达成,个人英雄主义时代已经很遥远。在当下,要达成一些心中想做的事,要倚靠团队的力量。自己的定位依旧是技术专家,但同时希望自己能具备leadship,这样才能达成自己心中的梦想。

(完)


特别欢迎中小型创业公司推荐讲师,如果有合适的,请毫不犹豫联系我。希望这个专题不仅有大公司的经验,也能看到大量创业公司的身影。期待你的参与和精彩。

最后,期待你的留言,说说读完这篇采访稿的感受。


欢迎订阅 WTP(Web 技术与产品交流)微信公众帐号。WTP 关注技术、产品、自由梦,只推送原创文字。欢迎扫描二维码订阅:

QCon 出品人采访稿 · Issue #188 · lifesinger/blog · GitHub优秀个人简历推荐



欢迎投稿 职场/创业方向. 邮箱wangfzcom(AT)163.com:王夫子社区 » QCon 出品人采访稿 · Issue #188 · lifesinger/blog · GitHub优秀个人简历推荐

点评 0

评论前必须登录!

登陆 注册