今天来谈一谈 Augular。
Angular 是谷歌公司推出的一款前端框架。谷歌、英特尔、Lyft 等公司都在使用。更多使用 Angular 的公司可以查看 Angular - stackshare。
Angular V.S. AngularJS
Angular 开发的一个风水岭,就是 2014 年提出了 Angular 2.0 版本。(2.0 版本的正式发行则要到 2016年。)与之前的 Angular 1.x 的版本相比,2.0 进行了完全的重写,此后为了区分,1.x 版本的 Angular 统称为 AngularJS,而 2.0 + 的版本称为 Angular 或者 Angular.js。
使用过 AngularJS 和 Angular 两个版本之后,我能体会到“重写”不是说说而已…使用起来确实像两款完全不同的框架。二者的特点用一句话概括就是 AngularJS 轻量,Angular 厚重。
对于重写之后的 Angular,我使用的是 Angular 6 的版本。Angular 自 2.0 开始,保持着几乎是每半年更新一次大版本号的频率,现在最新的 Angular 是 2018 年底推出的 Angular 7。我的感觉是,自 2.0 之后,新版本都是在老版本的基础上推出了优化和增加了新功能,所以 Angular 2 和 Angular 6 的大部分使用都是相通的。
前面说到 Angular 是一款“厚重”的框架,那么在大家都在追求“极简主义”,追求快速上手的今天,Angular 的优势在哪里呢?我觉得很大的一点就是 Angular 的框架结构让开发者只需要“完形填空”,而不是“从头写一篇500字的作文”。 另外作为一款热门的框架,网络上的社区资源、讨论热度都是开发者的福音。
下面我对 Angular 进行“肢解”,挖一挖这款框架的内部构造:
Angular Cli:
Angular Cli 是 Angular 推出的命令行工具。可以通过命令行的指令来初始化、开发和维护 Angular 应用。常用的指令有:
ng new
: 初始化 Angular App。ng serve
: 创建并且监听 Angular App,能自动监听工作目录中代码的改变然后重新建立 App。注意:该指令是在内存上创建 App,并没有把生成的文件写入硬盘,只适合开发阶段的使用。ng build
: 创建 Angular App,并写入指定的目录。(默认是dist/
目录。)该指令调用 Webpack 构建工具来打包输出代码。可以使用(sudo) ng build --watch
来达到和ng serve
一样的自动监听并重建项目的效果。ng generate
: 根据模板来输出文件,能用来创建 component,service,directive 等。
Typescript:
Angular 使用 Typescript 语言。Typescript 是一款强类型语言,被称作 JavaScript 的超类 (superclass),与 JavaScript 有着包含的关系。
JavaScript 从 ES6 开始引入 Class 概念,但是 TypeScrip 在 ES6 之前,已经有了 Class 的定义。
(未完待续…)