本书由Angular之父Mi?ko Hevery作序,作者为Angular开发团队成员之一。基于对Angular 2架构和设计方面的深入理解,本书选材精准、内容实用。全书从一个小例子开始引导读者快速上手,详细介绍Angular 2带来的所有新特性,包括组件、指令、TypeScript、新的路由机制、管道、服务端渲染等。本书读者对象包括Angular 1.x的开发者、想直接从Angular 2开始入手的学习者,以及前端技术架构师等。
首著惊见 Angular之父作序力荐 颠覆性升级 TypeScript来袭
译者序
Angular 2的发布标志着这门框架已经走向成熟和稳定,正如官方申明所说:Angular 2的核心架构已经定型,不会再做颠覆性的设计。
然而,鉴于你们前端界“每隔6个月就重写一遍”的现状,我本人对以上申明持观望的态度。纵观当前市场上的所有前端框架,只有jQuery和ExtJS大体上做到了“核心架构不变”。
但是与其他所有前端框架相比,Angular 2有一点非常具有前瞻性,它是基于TypeScript开发的。JavaScript之父Brendan Eich对他自己发明的语言有一段经典的评价:
与其说我爱Javascript,不如说我恨它。它是C语言和Self语言一夜情的产物。18世纪英国文学家约翰逊博士说得好:它的优秀之处并非原创,它的原创之处并不优秀。
对于这段评价,只要写过JavaScript的人,一定会表示不能同意更多。JavaScript的灵活性、动态性,以及目前各种新标准的剧烈变革直接把学习成本推高了N个数量级,对于大规模的开发团队尤其如此。因此,Angular 2直接基于静态类型的TypeScript来进行开发,无疑是合适的,直接从语言层面上就把一些坑给填了,这是非常具有战略眼光的决策。对于有Java、C++,或者ActionScript背景的开发者来说,TypeScript的学习成本几乎为零,你只要花30分钟浏览一下大致的语言特性就能写得风生水起了。
在当前这个时间节点上,各种前端技术层出不穷,让人有目不暇接之感。从学习的角度而言,这是一种负担,但是这种状况同时也意味着大量的工作机会,毕竟沧海横流方显英雄本色。
大漠穷秋
2016-06-06
推荐序
Angular 2依然是Angular,只是更强大而已。它依然构建在那些相同的原则之上,这些原则也是你们热爱AngularJS的原因:构建单页应用的一种快速而强大的解决方案。在Angular 2中,应用将会运行得更加快速,对SEO和移动设备更加友好,并且是天然跨平台的。虽然Angular 2已经对AngularJS中的很多概念做出了大幅度的演进,但是仍然保留了上一个版本的设计哲学。
《迈向Angular 2:基于TypeScript的高性能SPA框架》一书完全可以佐证以上观点。所以,Minko的这本书将会成功地帮你把思维模式从AngularJS1.x切换到Angular 2。从你与Angular 2的初次邂逅直到最后,Angular的核心概念将会贯穿始终。这本指南将会帮你切换到用Angular做事的新方式上去。Minko将会引导你贯通所有变更的内容,包括引入的所有新特性:组件、指令、TypeScript、新的路由机制,以及开始使用Angular 2开发你的下一个项目时所需要的一切内容。
如今的Web开发领域日新月异,Angular 2接受了这一挑战,并且构建在AngularJS的遗产之上。因此,对Angular社区来说,出现高质量的学习资料是极其重要的,而Minko的这本书将会帮助Angular开发者迈出面向未来的第一步。
Mi?ko Hevery
AngularJS与Angular 2之父
序言
AngularJS是一个JavaScript开发框架,致力于让web应用开发变得更加简单。目前,它已经被应用在大规模、大流量的网站中,这些网站饱受性能低下、移植性差的困扰,同时还面临SEO不友好、复杂度大的问题。Angular 2改变了这一切。
它是一款非常现代的框架,可以利用它构建性能更高、健壮性更强的web应用。《迈向Angular 2:基于TypeScript的高性能SPA框架》是掌握Angular 2最快捷的方式,它将引领你进入Angular 2的全新世界。
读完本书,你将会具备利用Angular 2所提供的一系列新特性来快速有效地构建应用的能力。
本书内容
第1章 Angular 2快速上手:开启Angular 2新世界的旅程。这一章描述了框架设计决策背后的一些主要因素。我们将会看到形成这门框架的两种主要驱动力—web的当前状态以及前端框架的进化。
第2章 Augular 2应用的基础构件:简要介绍Angular 2引入的一些核心概念。我们将会探讨AngularJS 1.x所提供的基础构件与最近一个主版本之间的差异。
第3章 TypeScript速成:Angular 2是语言无关的,但是Google推荐大家利用TypeScript所带来的静态类型特性。在这一章中,你将会学习利用TypeScript开发Angular 2应用的所有必要语法!
第4章 Angular 2组件和指令入门:解释开发用户界面所需要的核心构件—Directive以及Component。我们将会深度解析视图封装、内容投影、输入输出、脏值检测等概念。同时还会讨论一些高级主题,例如:模板引用,以及使用不可变数据类型加快应用的运行速度。
第5章 Angular 2中的依赖注入:这一章将会全面解析这门框架中最强大的特性之一:依赖注入机制。它最初是由AngularJS 1.x引入的。我们可以利用这一特性来编写更加便于维护、测试,并且更易于理解的代码。在这一章结束的时候,我们将会理解如何在Service中定义业务逻辑,然后利用DI(依赖注入)机制把它和UI黏合到一起。我们还会解析一些更加高级的主题,例如:注射器的层级结构、配置provider等。
第6章 Angular 2中的路由和表单:这一章将会探索在开发实际应用的过程中如何使用用来维护form的新模块。我们将会实现一个页面,可以显示form中输入的值。最后,我们会利用基于组件的路由把各个单独的页面黏合成一个完整的应用。
第7章 详解管道以及与RESTful服务端之间的通信:深度解析路由和表单模块。这一章将会解析如何开发数据模型驱动型表单,以及如何定义参数化路由、子路由。我们还会解释HTTP模块,以及如何开发有状态和无状态管道。
第8章 开发体验与服务端渲染:探索开发Angular 2应用中的一些高级主题,例如:在WebWorker中运行应用,以及服务端渲染。在这一章中的第二部分,我们将会学习一些全新的开发工具,从而让日常开发工作更加轻松一些,例如:angular-cli、angular2-seed,以及解释热重载的概念等。
阅读准备
对于本书中的绝大多数实例,你需要:一个简单的文本编辑器或者IDE、装好Node.js和TypeScript、能上网,以及一个浏览器。
对于每一章所提供的实例代码,对应章节都会解释需要安装的软件。
目标读者
你想深入学习Angular 2吗?或许你想先评估一下最新的变更再决定是否跟进?如果是,那么《迈向Angular 2:基于TypeScript的高性能SPA框架》就是为你量身定制的。
为了能够充分理解本书内容,需要对AngularJS 1.x有基本的理解,同时需要对JavaScript非常熟悉。阅读本书不需要预先了解 Angular 2所引入的变更。
MVM 应為 MVW
“Coponent”改为“Component”
“EventEmitte”改为“EventEmitter”
“UserTransaction”改为“UserTransactions”
“-t”应为”-g”