BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

“移动时代的前端”——QCon北京2014专题出品人玉伯专访

| 作者 彭超 关注 0 他的粉丝 发布于 2014年1月17日. 估计阅读时间: 11 分钟 | 都知道硅谷人工智能做的好,你知道 硅谷的运维技术 也值得参考吗?QCon上海带你探索其中的奥义

随着移动时代的到来,前端面临的挑战越来越大。从产品角度来看,前端朝着多终端的方向发展,需要考虑 PC、Pad、Phone、TV 等各种用户终端的交互实现。未来的产品形态,需要高性能跨终端的面向消费者的应用,也需要传统 PC 端面向企业的富应用。向上是移动开发,向下是企业应用,这两个方向都非常重要,对前端的挑战则各有不同。

从技术角度来看,前端不再局限于浏览器端的 Web 技术。随着 Node.js 技术的兴起,前端开发开始渗透到服务器端,将服务器端的 View、Controller 等层接管过来,成为全栈(Full-stack) 开发。在全栈的模式下,前后端的分工协作更加合理高效。全栈之路究竟如何走,目前无论国内国外,都处于起步阶段,充满诱惑与陷阱。

本届QCon北京2014,InfoQ特别邀请到支付宝前端技术部负责人王保平(玉伯)来打造“移动时代的前端”专题,关注跨终端、全栈开发以及前端工程化。

玉伯是淘宝前端类库 KISSY 的创始人,也是前端模块加载器 Sea.js 的创始人。他在前端基础技术、网站性能优化、企业应用开发等方面非常活跃,并且还是一名非常热心的前端布道者。在 Velocity、QCon、D2、NodeParty 等会议上积极参与。玉伯在微信上开通 WTP 公众帐号(微信号 wtp-notes),畅谈技术、产品与自由梦。

以下是采访内容。

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前端技术盘点,说得很全面。对支付宝来说,最大的变化有:

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

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

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

InfoQ:您是此次“移动时代的前端”专题联合出品人,能否谈谈你对此次专题的内容策划?

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

InfoQ:您对“全端开发”这个新概念怎么看?

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

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

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

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

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

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

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

此专题详细信息,请见专题页面。关于此次QCon北京其他专题的详细信息,请移步至大会官网

需要特别注明的是,每年QCon大会门票都会在开幕前售罄,及早预定可提前确保席位,并享受更低折扣。现在报名参加将可享受8折优惠。团体购票(5人及以上)将享有更多优惠。详请咨询qcon【at】cn.infoq.com,或直接致电010-64738142。报名请点击报名页面

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT