Angular:下坠中的自救

2023-06-01 0 155

Angular:下坠中的自救

译者 | LX1承

Damazan | 云昭

提及后端界的五大非主流架构,坚信每人后端合作开发者都能说到:React、Vue、Angular。在往后的一年中,React和Vue在圈里的关注度能说是急速飙升,“到底谁才是最合适的后端架构”而此热门话题也在海内外的后端圈子里中引发了半程又半程的轩然大波。

的修订版JavaScript Rising Stars中,Angular的畅销某种程度相比之下滞后React和Vue,即使被品雅版Svelte胜过,近几年首度挤进了第五名的堆栈。

Angular:下坠中的自救

图源:互联网

1、从AngularJS到Angular

提及Angular的盛衰,他们仍旧绕但是的即是其建立者AngularJS。AngularJS起先而已Google合作开发者Misko Hevery的两个非职业工程项目,Misko Hevery期望能让web雕塑家也能采用html建立出单纯的应用领域。

随著AngularJS的破冰和其在Google外部的获得成功普及化,Hevery和他的项目组于2010年将AngularJS做为两个原则上的开放源码项目展开了正式发布。

除非合作开发者掌控了AngularJS,便能采用其随心所欲地在终端合作开发架构Apache Cordova其内构筑终端UI软件包Ionic Framework等插件。这也使AngularJS在大量企业中逐渐流行了起来。

然而随著时间的推移,AngularJS的畅销某种程度却开始逐渐减弱。尤其是当JavaScript开始引入合作开发规范要求后,尽管Google大面积采用AngularJS并将其带到了大型企业插件中,但由于AngularJS原始设计上的一些局限性,导致了绑定和模板基础架构仍旧存在性能瓶颈。为解决这个问题,Angular的核心项目组期望对AngularJS展开全面的重构,以便将其从此前的设计中解放出来。

整个第二版Angular的重写,曾在当时的后端圈中引发了一阵不小的轰动。直到2018年,AngularJS架构终于获得成功重获新生,全新版本由TypeScript写成,引入了更好的构筑大小、稳定的API和整体更优的性能。自此,AngularJS也正式更名为Angular。

然而,尽管Angular在原有的基础上实现了颇多改进,但React和Vue在而此时期的进步明显更加迅速,并在Angular短暂的停滞时期依靠更轻的体量、更好的易用性和更易上手等优势快速抢占了大量市场,一举超过了Angular做为顶级JavaScript后端架构的地位。stateofjs曾在一份报告中提及,自2018年起,虽然Angular仍旧拥有着庞大的用户群体,且采用率仍旧保持前列,但从整体的变化趋势来看,Angular似乎已经在下坡路上愈行愈远。

Angular:下坠中的自救

图源:互联网

2、Angular:五大困境

当谈到Angular所面临的困境时,绝大多数人的第一印象都是Angular在企业工程项目中的采纳率较低及其社区活跃度远不如React与Vue。

造成而此现象的首要原因,也就是Angular最大的问题——架构沉重,采用其构建的插件实在太大了。工程项目文件中不仅会包含JavaScript包,还会存在Angular CLI。无论与React还是Vue对比,Angular插件的运行效率都不够理想。这也导致面向消费者的、追求短平快的互联网公司通常并不会将Angular做为他们的第一选择。

Angular:下坠中的自救

图源:知乎

其次,Angular做为两个以企业级合作开发为重点的架构,存在更多的内置关系,而且相对而言并不那么重视那些没有合作开发基础的用户,而是针对有一定合作开发经验的合作开发者。因此Angular的学习曲线会比React和Vue陡峭得多,且由于用户群体多为企业应用领域合作开发者的缘故,也导致了Angular社区的活跃度并没有React与Vue那么高,这也在无形之间又一次抬高了新手合作开发者接触Angular的门槛。

导致Angular逐渐走向没落的最后两个原因,则一般会被广大合作开发者归结于AngularJS到Angular的那一次断崖式更新。由于后端技术的飞速发展和Angular超前的技术选型,使AngularJS到Angular的升级非常不平滑。并且当Angular项目组还沉浸在对AngularJS的重写时,React、Vue等竞争对手已悄然开始发力。这也导致了在Angular问世前后的一段时间里,一大批原先AngularJS的采用者转而投向了React或是Vue的怀抱。

3、Angular 15:新的改进

那么,在这场激烈的零和竞争中,Angular还有机会翻身吗?

在今年的11月,Angular正式发布了另两个版本更新 :Angular 15,其承诺为合作开发者提供更简洁易用的功能。从合作开发者近期对其的评价中不难发现,该更新的确使Angular更加精致、稳定,并扩展了其支持能力,这无疑有望提升合作开发者的体验。

与Angular 14一样,Angular 15的更新具有独立的组件API,可提供更高的稳定性。Angular合作开发者能采用这些独立的组件,并将它们与HttpClient、Angular Elements 等同步。独立API可用于在两个组件中引导插件。

Angular 15还带有两个路由器独立API,能构筑多路由插件。Angular Bundlers 能在构筑时删除未采用的功能,从而使代码文件的大小减少11%。

随著 Angular v15 的更新,调试 Angular 插件得到了极大的简化,并通过堆栈跟踪变得更加清晰和直接。Angular 合作开发者项目组确保实现两个标准来跟踪更多的合作开发代码,而不是显示它调用的库。而此成就使错误消息能采用一些改进。

此外,Angular的合作开发项目组还致力于根据Web插件的Angular Material Design Components重构其组件。这些组件具有更好的可访问性,并符合角度材料设计规范。且Angular的合作开发项目组已弃用多个组件的旧实现,因此合作开发者能选择旧版导入。

对于大多数合作开发者来说,他们最喜欢的架构具有很强的指令可重用性。Angular项目组推出了合作开发者经常要求的指令组合API。该API能提高代码可用性,并允许合作开发者采用指令推送主机元素并优化Angular。如果合作开发者采用 Angular 编译器,这将变得更加容易。

Angular 15还改进了先前版本中引入的稳定的NgOptimisedImage指令,以帮助更有效地加载图像。如今,而此功能能在用户请求时自动上传正确大小的图像,从而减少图像的下载时间。新的版本还消除了用户输入图像尺寸的需要,并将图像适当地填充到其父容器中。当用户不知道图像尺寸时,能随心所欲的通过“填充模式”解决这方面的问题。

4、拒绝出局

一位采用过新版本的Angular合作开发者表示:以目前的情况来看,Angular15版本可能不会在后端圈里引发大规模的风浪,但它已经足以吸引一批新用户了。Angular是标准化的,具有内置功能,是两个成熟且完善的架构,已经存在了很长时间。

即使在最近几年它变得不再像原来那么畅销,但他们不得不承认,Angular现在依然拥有非常强大的社区支持和足够的资源和坚实的项目组。从Angular 15的更新来看,谷歌合作开发者也将在未来继续致力于它,别忘了Angular正被应用领域于谷歌外部的数千个插件。

一位用户谈到Angular 15新的改进时说:“我喜欢Angular项目组采取的方向——引入一种功能方法并将其转换为OOP基础知识其内的功能。对我来说,依赖注入、标记化、抽象事物并以响应式方式构筑组件能帮助我建立干净且可扩展的代码。Angular不断提供新的东西,它们能用来提高工程项目的质量。尽管Angular现在不像React和Vue那样流行,但我绝对推荐你去尝试采用它。”

参考链接:

​https://www.bbsmax.com/A/Vx5MDLeGJN/​​

​​https://www.zhihu.com/question/383137600/answer/1252878373​

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务