Angular发展史

Angular发展史

00:00
06:34

与介绍其他全家桶一样,对于Angular全家桶,仍然是先大致回顾下其发展历程。由于Angular特殊的历史原因,本节将Angular的发展按照特殊历史节点进行相应的划分,其大致可以划分如下,即:初始阶段、革新阶段、成熟阶段以及长青阶段。


无论当下对Angular的评价如何,作为首个真正意义上广泛流传的Web框架,Angular在整个工业时代都是风向标一般的存在。仅管在2009年,Java进行Web应用构建无疑仍是一个主流方案,但Angular的横空出世似乎也在某种程度上对Web领域开发前移提供了新的可能。追溯过往,当时庞大的诸如GWT(Google Web Toolkit)等技术方案使得整个Web应用开发变得十分臃肿,米斯科夫(Misko Hevery)和亚当·阿布伦(Adam Abrons)利用JavaScript语言进行了同样功能的实现,这也算得上是最初前端框架的雏形。最终,两人在业余时间创造的GetAngular将原本有17000行的Google内部Feedback项目重构到了仅有1500行的大小。于是,Google开始资助二人招募团队进行全职的开发。在2012年左右,Google发行了AngularJS 1.0,这也标志着Angular初始阶段的完成。


在所有的开源项目中,以独立开发者身份能形成特定商业模式的开源项目可谓屈指可数。很多时候,过早的接受外界的资助是不利于独立开发框架的演进的。因为随着大公司或者投资人的介入,框架的开发者或者创建者有时就不能按照自己最初的设计思路来推进自己创建框架的落地。仅管AngularJS取得了工业时代的先机,但随着团队的扩大及Google的介入,整个框架的演化慢慢就偏离了最初的设计思路。最终,经过长达3年的推翻重建后,一个从底层完全解构的Angular诞生了。除了保留了最初从GWT那里获取的设计理念,其余早已物是人非。不论Angular是否真正解决了AngularJS中存在的各种各样的问题,但这种断崖式的变革无疑对使用框架的开发者来说都是一种灾难。不得不说,这其实也导致了Angular在那个框架开始初露头角的时期,从本应占得先手的大好局面而最终变得落于下风。随着Angular 2.0的正式发布,Angular和AngularJS从此分道扬镳。至此,变革时代以Angular的革新破离画上了句号。多说一句,在2022年1月12日,Angular团队宣布对AngularJS的长期支持正式停止,一个时代就此终结。


随着Angular团队将所有核心注意力都集中到革新的Angular身上,Angular也经历了变革过后的阵痛。其中,以Angular 3.x的夭折作为代价,Angular团队开始重新审视自己的行业定位。最终,作为第一款真正意义上的前端框架先驱,Angular意识到了自身的特殊价值,即:作为前端界的先行者而进行Web技术领域激进的技术探索。例如,Angular早在2017年便开始推行默认使用TypeScript语言进行前端应用编写,这在当时可谓又是一个“劝退”操作。但不得不说,Angular真的有先见之明,其思想远见至少看到了5年之后的技术流行趋势。不同于前两个时期,进入到成熟阶段的Angular团队对版本进行了更为频繁的发布,同时也在这一时期不断对工程链路及生态进行相关完善和建设。


每一个框架的核心理念都有其背景和历史积淀,并且大多数时候都很难改变自身基因中携带的偏执。在了解了上述几个时期的变化和推演之后,相信各位读者也不难发现,Angular就是一个用JavaScript语言或者TypeScript语言编写的后端设计理念的前端框架。换言之,Angular是最好的后端前端化的实践者。因而,Angular在对自身问题不断的优化过程中,寻找到了一条和React不同的道路。不同于作为现行前端框架最为流行的虚拟DOM方案,Angular最擅长的仍然是在编译时的优化与探索。因而,Angular选择了一条更为艰深的道路,即:增量DOM。作为最好的前端领域编译方案的代表,相较于React的Fiber架构,Angular也提出了自己的Ivy架构方案。自2019年的Angular 8.0开始,后续所有的Angular版本都是基于Ivy架构之上的构建。到目前为止,Angular团队几乎每隔半年都会发布一个大的版本。虽然不断频繁的革新发版,已经很难提起最早弃用Angular使用者的兴趣,但Angular作为整个前端领域极为特殊的存在,在前端开发过程中难以突破时,Angular永远是你最好的宝典。



以上内容来自专辑
用户评论

    还没有评论,快来发表第一个评论!