《Angular 权威指南》读后感

感谢图灵社区的电子书阅读奖励计划。

虽然AngularReactVue并称三大前端框架,但实际上在国内的使用者却大大少于其他两个框架,这是为什么呢,Angular不好用?难用?希望能在了解Angular后对这个现状有所了解。

学习一个框架,首先就是看上手是否简单,虽然提供了angular-cli,但并没有特别好用。。书中使用的ng new angular2_hello_world在 2018年06月22日 使用是错误的,angualr-cli@6在创建名称带下划线的项目时会报错:

Data path ".name" should match format "html-selector".

这是第一个问题,在创建项目后,准备开始写第一个组件了,但就这最简单的第一步创建组件就难倒我了,在不使用angular-cli的情况下,需要手动创建三个文件

  • component.css
  • component.html
  • component.ts

虽然vue同样是需要写htmlcssjs,但是可以并且推荐写在一个.vue文件中,在一定程度上减少了操作成本。

而且单单创建后并没有用,还要在app.module.ts中引入,而这一点并没有说明!!!而是在后面介绍NgModule时才说明。

而且后面投票应用时,创建Article组件,却又不使用cli,而是手动创建,这个时候提到需要在declarations内声明。。。。有点无语

除了上手外,就是一些基本概念了,是否易懂。就好比会Vue,要上手React会非常快,反之亦然。那么在React的经验帮助快速理解Angular呢?

父子组件通信

组件代码:

import { Component, OnInit, Input } from "@angular/core";

@Component({
  selector: "user-item",
  templateUrl: "./index.html",
  styleUrls: ["./index.css"]
})
export class UserItem implements OnInit {
  @Input() name: string;
  constructor() {}
  ngOnInit() {}
}

重点在name给了Input注解。

父模板代码:

相比还是非常不同,让习惯React或者Vue的开发者不能理解为什么要这么麻烦。

设计

本书除了Angular的使用,还讲了一些如何写代码的内容,包括一些经典的设计法则。

Angular还是和Angularjs的目的一样,属于一个大而全的存在,它希望解决开发过程中的所有东西,包括表单验证、请求库、路由等,而在其他前端框架,都仅仅希望解决一个问题,react 就仅仅希望作为视图层,表单验证交给 UI 库,请求可以使用更加主流的库如 axios。

typescript 和 rxjs 确实提高了 angular 的门槛,当然还要加上特有的语法与概念。
那么在带来使用门槛的同时,它究竟能解决什么问题呢,

其实是「可维护性」与「规范化」,angular 提供的功能,促使开发者写出更好的代码。而 react 或者 vue,在使用过程中是非常自由的,但自由带来的另一面则是代码风格不统一,初学者写出的代码和熟练者是不同的。

如果对项目设计不是很熟练或者了解的同学,倒是可以从本书中体会到一些项目设计的东西,就Angular本身来说,并没有特别大的吸引力,让我抛弃ReactVue转向Angular

你可能感兴趣的:(《Angular 权威指南》读后感)