说实话一开始看到这书名的时候我本不报太多期望的,因为凭我的阅读经验来讲打着“权威”、“精通”之类旗号的书一般只够入门,但这本出乎意料的让我感觉到了权威。
在此之前看过几本ng的书,官网的docs也啃了一些,可能是之前没有深入的缘故,并没有看到ng除了在数据绑定外的太多优势,同时还不停的给自己灌输SEO差的概念,以至于很多地方都在避免选择ng。
本书的开头讲了浏览器工作的基本原理,这点很重要,不单是对使用ng的人来说,而是对Web开发而言,如果连这基本的原理都不清楚,那在很多地方都会很吃力。而遗憾的是其实很多Web开发者都模糊着,他们用惯了现成的框架,忽略了很多底层实现。不懂ajax而自称前端工程师的不少,不懂http的后端也不少。哈哈,我无力吐槽,只是想强调一下基本原理的重要性。
之后讲了ng的数据绑定(这能够提起很多人的兴趣(没错,我high点就这么low))、$scope、生命周期等等ng的基础,又讲了ng的指令、路由、$http、服务、资源、promise,感觉开始有点高级了。
我以为它只会讲这些了,但是后面还提了AWSSevice、Firebase等现成的后端服务。还没完,他还讲了ng的扩展,以及如何与第三方插件共存方面的问题。安全性、i18n、SEO、Chrome调试、构建工具链等等都一并介绍了。这些介绍消除了我之前的很多疑惑,比如安全、SEO方面。
最让我感觉舒服的是这本书对测试提的不多,和大部分开发人员一样我惧怕测试,也厌恶看到书上有太多的测试章节。测试很重要,但本身开发就应该是TDD的过程,我很想象花太多的时间精力在单纯的测试上(包括看专门的测试章节)(怪我过分单纯)。
当然,并不是介绍多就能权威,只是看了这本书之后让我觉得这些年js+html都白写了、原来ng就是我一直在找的前端、卧槽,这本书真不错。
基于本书的种种不错之处,我竟然能够忍受在6寸的Kindle上啃完该书的pdf版本,当然,如果可以的话尽量支持正版。
现在对ng的态度也好很多了,可能也是因为有了最近的尝试用ng构建项目的经历,不单是自己,也在向周围的朋友推荐着ng,像推荐Python一样。“喂,AngularJS不错,要不在你们公司的新项目上试试?”。时间和精力有限,不是为了学习的话尽量使用现成高效的东西了,而ng无疑就是其中之一。