Angular 的特点
- typescript 完美兼容,并对 angular 有特殊支持。(亲儿子的待遇)
- 依赖注入。(完美的使用 OOP 编程)
- 服务、管道、组件区别明确
- 使用 Rxjs(响应式编程处理异步)
- html、css、ts 代码分类,写起来相对方便
- 社区完善,google 支撑。更新迭代快速
- 桌面端 (Electron), 移动端(ionic,nativescript)。全平台开发
- lvy 出世后打包更小,更快
使用经历
原是后端出身,OOP 编程思想严重的侵袭了我的大脑。所以本人是非常喜欢 NG 的写码方式。
由于没有经历过 AngularJs 时代的坑。直接在 Angular2 开始学习的。所以对这个框架还是充满信心的。
强大的 Ts 语言特性加上依赖注入,我们可以很方便的扩展基类,使用 IDE 补全少些了 N 多代码
学习资料
- Typescript 官网 强类型语言的 Js
- Angular 官网 学习资料很全
- Ng-zorro Ant Design Angular 实现。功能很全,扩展性很好(2019.7.27 不支持 lvy 影响不大)
- Ng-Alain 基于 ng-zorro 的中后台解决方案,更新基本与 ng-zorro 保持同步
- rxjs 官网教程 响应式编程的全框架
- Rxjs 中文操作符 rxjs 快速学习中文指南
- ngrx angular+rxjs 的 redux 状态管理
比较基本的就在这里了。还有 ionic、nativescript、awesome angular、nrwl/nx。等等的
Angular 的一些缺点
- 学习曲线太长。因为 Ng 整合了很多东西所以要学习的东西会比较多。还有现在中文文档很健全,对有时间研究的人来说。应该不是问题
- 一直使用面向过程开发的同学会是一个痛苦。需要一个熟悉的时间。(熟悉了只会你会发现很优雅的)
- 相比 react 和 vue。在开发上 ng 往往需要多写一些东西。比如服务、管道、模型。
- 实在编不下去
请记住 AngularJs 跟 Angular 不是一个框架。就好比 javascript 和 java 的关系