推荐序 1
========
让时间倒推至 2013 年初。
这一年,笔者从科技外企、互联网界投入到本土金融机构,在所谓互联网金融的喧嚣中,开始招募与建设一个金融科技的研发组织。此刻正面临着一个个此前职业生涯所未遇的、因行业文化与组织管理差异而需重新学习适应的小冲击。其中印象最深的一个,无疑是在招聘过程中感受到来自互联网大企业的工程师对传统金融业 IT 的一定程度上的蔑视 通常面试过程中面试者最正面的反应莫过于嗬,没想到券商还有这样的技术,更多的面试者则是把金融机构的前端技术想象停留在 Visual Basic、JQuery 阶段。传统金融机构,对于年轻的互联网技术人,很可能是恐龙般的存在。想想现在有多少年轻人从来不去银行营业部办业务、甚至从来不去商场购物的?大部分人对于金融机构的印象,深受该机构的网站、手机 App 影响。有很多面试者在面试中吐槽金融行业整体软件服务糟糕的用户体验,把面试变成一个尴尬的用户反馈渠道。这就是个人在转换行业后遭遇的难忘经历。
当然,这种经历也和我们不自量力,自找不痛快有关 作为传统 IT 组织非得去忽悠顶级互联网企业的骄傲的牛人们加盟可是,事实上很多传统行业的前端技术(以及很多其他技术)都是没有与时俱进的,我们如果不想办法建立起强悍的技术团队、采用更前沿更领先的技术弯道超车,就永远无法解决用户体验糟的问题,永远难以改变在技术界留下的技术落后的负面印象,这些负分会让招募技术牛人更加困难,因为有追求的工程师,都希望和一流的团队合作,开发有个人成就感的一流的技术应用。这是一个恶性循环,如果不打破它,我们既做不出好的产品,也招募不到好的工程师。
我们的办法,是采用激进的技术破冰。在 2013 年,类似 Angular、Node.js、MongoDB、Docker 等等这些技术,恐怕在大部分互联网公司里依然属于较为少用的技术,更遑论以稳定可靠为导向的、技术路线保守的金融界。采用这些技术开发交易额动辄以亿元为单位的金融应用,可以称得上激进。可是我们有一个论调,就是:对于新兴技术有高度热情甚至疯狂的工程师,往往是技术比较强悍的工程师,他们驾驭故障、问题的能力,往往又是比较强的;相比之下,技术套路保守、比较求稳的团队,则不一定以技术见长。这两者权衡之下,我们决定冒一点风险,通过更前沿的技术吸引有技术热情的互联网人加盟,给他们玩新技术的自由的同时也考验他们填技术坑的能力。当然,这些技术在硅谷诞生已有时日,已经形成庞大的海外社区,我们并不是一拍脑袋为了前沿而前沿,该做的论证依然需要严谨地做。最重要一点是,我们首先应该纠正盲目的态度 对于任何新鲜技术,避免因为自己的不熟悉、缺乏调研就一概而论地斥之为不成熟,事实上,没有调查研究就没有发言权,抱着开放的心态深入了解新技术,会发现它们中有很多是从根本上经得起思想实验、符合逻辑、符合未来发展方向的。但我们可以看到,很多企业尤其是非科技行业的机构,往往对于任何新兴技术没有深入的、逻辑的、严谨科学的分析,而是简单粗暴地以技术存在的时间年龄作为采用与否的判断标准,这是令人遗憾的。
从 2013 年起,类似CoffeeScript、TypeScript、ES67、Promise、Meteor.js、Yeoman、Ember.js、Babel、Ionic、RxJS、VowsBDD 等就出现在我们的前端技术雷达屏幕里,Web ComponentPolymer 甚至是我们招聘的试题。我们既是 Isomorphic(全栈同构)App 的践行者,也很可能是金融界最早最彻底大规模使用 MEAN(MongoDB、Express、Angular、Node.js)架构的团队。我们的股票交易终端证明了 HTML5ReactElectron 技术可以成就 dead-serious 的严肃金融应用,我们的电商平台则以数百亿级理财产品销售量,最有说服力地充当了AngularNode.js 在金融业的所谓成功案例
时间回到四年后的今天。
我们终于建立起一个新型金融科技研发组织,崇尚 Reactive 的架构风格与技术工具,时刻紧盯技术前沿,吸收大量跨界工程师,向传统 IT 注入了互联网技术基因与文化。本书的作者们,正是这个组织里有代表性的一群,他们和试验性的新技术一起成长,经受金融业对技术尝试带来的不确定性的零容忍,承担巨额交易量下技术创新的高风险,持续学习并学以致用这不仅需要勇气,也需要情怀,我以他们为荣。
现实中,垂直行业里具备勇气与情怀的 IT 恐怕是不多的,原因之一是因为 IT 作为企业内的乙方和成本中心,永远被业务线驱动而疲于奔命,无暇顾及新技术新文化; 原因二是因为以行业业务为主导的企业往往并不懂技术,也不理解技术的重要性,一位工程师选择用 JQuery 还是 Angular 开发前端,并没有人关心,而且为了安全稳妥起见,往往做出保守选择。情怀和勇气,是垂直行业IT的稀罕物。
但是在一个高度同质化的行业如证券业,技术就是一个差异化竞争的决定因素,新的函数语言、新的框架、新的开发工具差异化和技术领先,体现在这些技术细节的追求里。
本书的作者们,是这些技术细节的追求者。这一次,他们利用自己每天正常加班之外少得可怜的个人业余时间,凭着极大的耐心、坚持、团队协作,把其中一个细节 也就是对 Angular2 的经验与理解,完全原创性地分享给读者。编写这本书,既是历时七八个月的凝聚团队的工程项目,也是年轻队员们职业生涯里一次难忘的体验,they make a difference 首要是为了他们自己,但希望也能为你们,前端技术的爱好者们!
谢谢。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
梁启鸿
董事总经理@金融科技研发
广发证券 信息技术部
2016年12月1日
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
推荐序 2
========
Angular's developer community in China is active and thriving. This comprehensive new book is the first originally authored book on Angular written in Chinese for a Chinese audience. The author and his team is well known in the local Angular community for his contributions. We thank him and his team for their work towards making Angular even more friendly to developers in China and hope this book will be helpful.
在中国,Angular?开发者社区非常活跃并且正在蓬勃发展。本书作者和他所在的广发证券互联网金融技术团队编写的这本新书内容全面,并且是面向中国读者的第一本中文原创书籍。本书作者所在团队所做出的贡献在当地的?Angular?社区广为人知。广发证券互联网金融技术团队的工作让?Angular?对中国开发者更加友好,我们非常感谢他们所作出的贡献,并真诚希望他们的这本书能给大家带来帮助。
Naomi?Black,?Technical?Program?Manager?and?Lead,?Angular
推荐序 3
========
?
作为谷歌所支持和投资推广的一个跨平台的开源技术,Angular在中国开发者中获得了越来越多的关注和采用。根据我们统计到的数据,Angular 第一版已经在大量的中国企业中获得了应用,其中有很多大型企业,也有小型的创业团队。
本书作者所在的广发证券互联网金融技术团队就是一个将Angular付诸实践的先行者。不仅如此,广发证券互联网金融技术团队还快速升级到了Angular 2,创造了中国企业中采纳 Angular 2 最早的实践先例之一。
我特别高兴看到本书作者和他所在的团队能联合撰写这本书,他们把使用 Angular 2 的开发经验向业界进行了分享,同时也详细介绍了 Angular 2 的各项特性。他们的实战经验一定能帮助更多开发者快速理解使用 Angular进行开发的价值,看到最新版Angular的优势。
我相信广发证券互联网金融技术团队在本书中的介绍,能帮助你更方便地学习Angular。他们丰富的经验和最佳实践,能鼓舞你在你的企业中使用Angular的信心。
我推荐这本体现了开源和分享精神的书!
预祝你有个愉快的学习经历,并且能尽快上手Angular!
栾跃 (Bill Luan) 谷歌 开发技术推广部 大中华区主管
前言
====
2016 年 9 月 15 日,Angular 2 横空出世。鉴于 Angular 1.x 的巨大成功,加上 Angular 2 自身超前而颠覆式的设计,使其市场关注度水涨船高。本书是一本帮助读者对 Angular 2 (后文如无特殊区分,也称为 Angular) 进行快速了解、深入熟悉并用其进行实战开发的书籍。
本书概述
--------
本书主要分为入门篇、深入篇和实战篇三大部分,共 18 个章节。
第一部分:从第 1 章到第 4 章,主要讲述整个前端发展