长久以为来我认为写技术文章如果不能让80%的读者看懂80%的内容。那么这篇文章写的就是失败。我将每周更新一期,于2017年4月份之前完成angular的核心剖析。如果您看不懂其中一些细节,可以在下面评论中指出。
2016年6月初开始我就一直研究angular,虽然之前也有所耳闻,但是一直没有实用场景来实用,毕竟之前做的项目都是C端,主要以展示性为主的垂直类平台。2016年6月公司要做一款cms平台,作为这种系统级别的应用,也正是angular适用场景,做的过程中发现了很多不解之处,于是就慢慢的啃源码。直到现在也啃了半年多源码。啃源码的过程其实也是很矛盾的过程,如果把啃源码的时间放在学习angular2或者react是不是会收货更多?后来想想,你学会怎么使用一个框架和你知道了一个框架怎么打造出来的。你收货的会不一样。一直到现在我还是在消化源码中很多令我不解的地方。
本人不善于写作。如有言辞不当,希望指出。如有言辞冒犯,希望海涵。毕竟作为一个涉足开发不是太久的新人,免不了会对一些技术理解不是太深。
回到正题,首先致谢Miško Hevery和Adam Abrons两人。感谢他们为前端技术带来了angular。学习一门框架首先知道这门框架能做什么?有什么优点,有什么缺点?他的设计理念是什么?否则盲目的追新只会让自己手足无措。
AngularJS遵循的设计理念是——构建UI应该是声明式的。作者misko自己也曾说过,他设想是否能让设计师也能用html构建出应用程序。何为声明式的,相信大家都知道angular的directive,也就是指令。我理解的声明式就是告诉计算机做什么。命令式就是告诉计算机如何一步一步的去做。所以无论angular1 或者angular2,view层蛮重的。有些人觉得这种把逻辑都放在DSL的框架不如react那样把逻辑放在编程语言的好。
angular2的稳定版已经发布了,但是我相信ng2还需要很多优化之处,待一年左右ng2相应的配套设施都完善了,ng2会大放光彩。