【开源访谈】Kissy 团队成员何一鸣访谈实录

虫虫 发布于 2012/09/25 12:42
阅读 10K+
收藏 20

关于开源访谈

开源访谈是开源中国推出的一系列针对国内优秀开源软件作者的访谈,以文字的方式记录并传播。我们希望开源访谈能全面的展现国内开源软件、开源软件作者的现状,着实推动国内开源软件的应用与发展。

【作者简介】

何一鸣

何一鸣,淘宝花名承玉,2010年自复旦大学硕士毕业后加入淘宝,先后参与 KISSY Editor,KISSY核心以及系列组件的研发,目前负责淘宝前端框架Kissy。

【软件简介】

kissy 是淘宝一个开源的 JavaScript 库,包含的组件有:日历、图片放大镜、卡片切换、弹出窗口、输入建议等。

【访谈实录】

1.    能否先介绍一下你自己(技术背景、工作经历、学习经历)
我叫何一鸣,淘宝花名承玉,2010年复旦大学硕士毕业后进入淘宝工作至今。
大学进入计算机专业才开始学习编程技术,本科阶段在课余时间参与过学校内部网站以及校外兼职的 web 开发,本科毕业后直升本校的研究生。
在读研究生阶段自己的研究课题由于各种原因一直没有进展,于是在空闲时间继续对 web 特别是前端框架的研究,期间也写过一些小的组件。硕士毕业进入淘宝后就一直参与 kissy 的开发。

2.    是什么促使你(团队)开发 Kissy ?为什么取这个名字?
淘宝初期在使用 YUI2 的过程中感觉到 YUI2 存在一些缺陷,
比如模块化支持不足,api 友好性不足,组件不易扩展,而公司也积累了一些通用的组件,
于是公司前端团队就决定完全自己开发一套前端框架,希望有更好的可控性以及更高的可扩展性,方便以后根据业务的发展而快速调整。
名字由前淘宝框架负责人玉伯提出,经过团队讨论,确定为 KISSY。来源于著名的 kiss 原则,同时进行了一些新的解释,全称为:
Keep It
    Simple & Stupid, Short & Sweet, Slim & Sexy...
Yeah!
寄托了淘宝前端开发工程师的理想:小巧灵活、简洁实用、愉悦编码、快乐开发.

3.   相对别 Web UI 库,Kissy 有什么优势和特点?有没有一些特殊或者创新的技术运用?
相对于其他的 web ui 库,举几个例子:
相对于 jquery ui kissy 提供了模块化的基础架构,全面的可按需加载的组件集合。
相对于 yui3 kissy 更加贴近中国互联网特别是电子商务领域的应用,组件也比较全面。
相对于 extjs kissy 更加轻量级,更加易用,模块化支持更好。
kissy 在开发过程中将模块化和可扩展性放在首要的位置,整体代码完全是类似 AMD 规范的模块化的组织方式,基本上淘宝常用的功能都抽象为可复用的独立模块。
kissy 还开发了一些配套工具,利用 KISSY module compiler 等配套工具可以快速进行应用模块化的开发和发布。

4.    Kissy 目前怎么推广,在实际产品中的应用情况如何?
KISSY 没有进行刻意的推广,目前专注于功能以及文档开发,我们认为只要文档和功能健全后,做到国内领先的水平,自然会在国内得到广泛的使用。
目前在大淘宝内部为了代码一致性是强制使用 KISSY,新版本则是先在一些非核心业务试用后再向核心业务推广。
KISSY 在非淘宝站点也有一些应用,著名的比如点点网等。

5.    目前参与开发/维护 Kissy 的人员有哪些?是否都是全职做 Kissy 的开发?
kissy 的组织为多级架构,包括 core, component, gallery。具体来说任何人都可以参与到 kissy gallery 中,目前主要是淘宝的前端团队。component 则是基础组件以及 gallery 的一些稳定组件组成。core (loader,dom,event...),component 基础组件以及文档规范则以由我为主的 kissy 团队负责开发维护。

6.    Kissy 这个项目,目前有非淘宝人员参与或者非淘宝人员贡献的代码吗?
大部分是阿里集团的工程师参与贡献代码,非阿里的很少,gallery 中有那么一两个.

7.    Kissy 团队是专职只做 Kissy 这个项目还是说 Kissy 只是这个团队工作的一部分?
除了 kissy 研发,还要负责新版 kissy 在业务线的试用,平时答疑,重要项目的话还要在 项目 初期负责基予 kissy 的架构。

8.    Kissy 有没有考虑过国际化或者做过相关的尝试?
国际化暂时没打算,现在的功能以及文档还有很多需要完善。

9.    Kissy 将来的发展方向?
KISSY 未来将进一步对常用功能进行补全以及完善文档,形成一个统一的前端框架:
core 部分粒度细化,希望能在手机、平板做到按能力最少加载。
component 部分侧重于完整性和一致性,会继续增加常用的功能模块,并具备统一的调用方式。
gallery 则会包罗万象,方便大家共享代码。

10.   能否谈一下你对开源的理解,以及对国内开源技术和产品的看法?
我认为通用产品的开源是非常有意义的:
通过开源可以使得更多人参与进来,得以发现更多的问题,从而可以更快的提高产品品质。
对于公司来说也可以提高自己的技术影响力,汇聚业界优秀人才。对于业界来说,也有利于业界的健康发展,在产品开发过程中本身也用到了不少开源产品,通过产品开源也对业界进行了一些贡献。
国内的开源技术和产品处于起步阶段,我觉得潜力很大,比如淘宝越来越重视开源,淘宝的开源产品也非常多,公司内部也有专门的开源委员会,会对开源的通用产品进行指导。
未来相信国内的优秀开源产品一定会在国际业界占据一席之地。

11.    淘宝内部对于 Kissy 这样的开源项目是如何管理和规划的?
淘宝成立了以 LVS 作者章文嵩博士为主席的开源委员会,隶属于阿里技术委员会,协助公司内通用产品的开源,会在流程等方面就行辅导。
具体到 KISSY,隶属淘宝 UED 前端通用平台团队。规划则是基于淘宝的具体业务,进行抽象以满足通用需求。

12.    你有什么建议给程序员初学者吗?
在初期要打好基础,对于计算机专业的一些教科书比如数据结构,编译原理等要随时温习,进一步要精读对应领域的经典书籍,例如 web 开发领域的 java 核心,javascript/css 权威指南等,然后就可以到 github 上看一些优秀的开源项目源码,例如 KISSY :) . 具体一些小的心得包括:
1. 勇于坚持:学习任何一门语言或技术,都要2,3年才略有小成。
2. 享受编程:比如用学到的技术做一些工作或生活上的小工具,即是实践,也是给自己或其他人带来快乐。
3. 学好英文:硬着头皮啃,啃着啃着就嚼出甜味了。

13.    能否给开源中国提一些意见和建议?
平时也经常访问开源中国看一些开源项目资讯,十分及时全面。但如果能组织一些线下沙龙交流分享就更好了.

加载中
0
Crazy_Coder
Crazy_Coder
kissy我也研究了点,很好的。。。顶下
0
天赐

不错的东西

值得研究的

0
李旦
李旦
谢谢分享,值得研究
0
h
huxiaoqi
挺喜欢amd这种模块前置载入方式,加强文档和demo会更好,加油!
0
lenel
lenel
求教承玉经验 英文如何啃起~  
lenel
lenel
回复 @yiminghe : sounds good,try it
yiminghe
yiminghe
twitter,美剧,电影和美版游戏 ....
0
z
zxjaaaaaaaaa
可以到 github 上看一些优秀的开源项目源码,例如 KISSY :)
0
Marser_cn
Marser_cn

引用来自“lenel”的答案

求教承玉经验 英文如何啃起~  
看些有文学素养的书啊,比如故事会海外版,知音海外版啊;再者听说高山流水类的外国音乐嘛,比如两只蝴蝶英文版啊,老鼠爱大米英文版呀,这些都不错呀
0
蜗牛快跑
蜗牛快跑
我看过一些,文档写得不敢恭维。
0
疯狂的艺术家
疯狂的艺术家
咱们是不是弄一个淘宝专区啊,淘宝最近开源了好多东西啊
0
姐夫
姐夫
现在想想,我们公司的core bank系统也有一套JS库,不过不是开源的,内部使用
返回顶部
顶部