Angular 学习之路

《Angular 学习之路》是现在打算重新开始的一个系列。之所以开启一个新的系列,而且是打算长期进行的系列,是因为这是豆子的本职工作所使用到的技术。因此,对 Angular 的应用会有一个比较坚实的基础。

《Angular 学习之路 》只关心 Angular 2 及以上版本。关于 Angular 和 AngularJS 的关系,按照官方说法,AngularJS 特指 1.x 版本。虽然看起来像是大版本的升级,但 Angular 与 AngularJS 的实际内容有显著的差异,就像雷锋和雷峰塔的差别,完全可以当做两套框架。从 2.x 开始,Angular 推荐使用 TypeScript 进行开发。AngularJS 现在已经进入维护期,不再添加新的功能。除非旧有系统,现在基本不再推荐学习 AngularJS。

按照每年两个大版本的速度,Angular 版本号飙升很快。2014年10月,Angular 2 发布。2018年10月,Angular 7 已经发布。尽管如此,Angular 的 API 基本保持兼容。也就是说,Angular 7 与 Angular 2 或者 Angular 6 的差异,远远小于与 AngularJS 的差异。Angular 2 的代码几乎可以不经过任何修改,即可通过 Angular 7 的编译。所以,本系列的题目是“Angular”,而不是“AngularJS”或者“Angular 2”。除此以外,Angular 的版本号还有很多有趣的八卦,比如不存在 Angular 3 等。感兴趣的童鞋可以到网上找到很多相关的文章。

现在,Angular 与 React 和 Vue 一起并成为前端开发的三大框架。前端框架多如牛毛,很容易陷入各种争端之中,这里我们不去理会这些讨论。单就 Angular 而言,其学习曲线可能是三大框架中最陡峭的。

Angular 是一个一站式框架,包含开发用的 CLI 工具、整合了单元测试工具、内置前端路由、HTTP 请求等模块。除了模块众多,Angular 还建立在 RxJS 基础之上。这是一种与普通编程模型完全不同的响应式编程模型。要学习 Angular,我们不得不学习很多周边技术。比如,Angular 使用 TypeScript 开发,我们需要学习一门新的语言 TypeScript。如果你有 Java、C# 等语言的开发基础,上手 TypeScript 会非常容易,如果只有 JavaScript 基础,可能会有一定的难度。RxJS 就更不用说了,需要非常长的时间才能转换成响应式编程思维。

不过,这些都不会成为阻挡我们学习 Angular 的拦路虎,相信通过《 Angular 学习之路 》,我们可以逐渐掌握 Angular 的使用方法,编写出更好的 web 应用程序。

尽管如此,本系列还是假设读者已经拥有一定程度的 JavaScript(特别是 ES 6)、CSS、HTML 的编程基础。如果再有点 Java 或者 C# 等面向对象语言的基础,那就更好不过了。

鉴于现在正是“一入前端深似海”,本系列也不可能对 Angular 面面俱到,限于豆子的水平,很多也只可能点到为止。所谓抛砖引玉,正是想借《Angular 学习之路》这些篇章,引出来好玉,就已经是最大的心愿了!

One Response

  1. six 2019年5月6日

Leave a Reply