Angular的中年突围:被舆论唱衰的框架,正在成为企业级开发的隐形底盘

上周帮一个做跨境电商的老客户排查线上故障,翻了三层代码栈,最后发现问题出在Angular的依赖注入配置上。

没人提这个框架了。

但它还在跑。

现在打开技术社区,刷到的全是React Server Components、Svelte的编译时优势、Vue的轻便灵活,Angular仿佛成了上一个时代的遗物,每隔几个月就有一篇《Angular已经死了》的文章被转来转去。可很少有人注意到,你能接触到的大部分跨国银行网银、汽车厂商的车机系统、大型制造企业的生产调度后台,跑的根本不是这些被舆论热捧的新潮框架。

2024年企业级前端框架市场份额对比柱状图
2024年企业级前端框架市场份额对比柱状图

根据近年行业调研的公开数据,Angular在财富500强企业的内部系统渗透率长期维持在30%以上,甚至超过很多人认知里的“企业级首选”React。这种舆论和实际装机量的巨大反差,本身就很有意思。

被舆论遗忘的“隐形装机量”

被舆论遗忘的“隐形装机量”
被舆论遗忘的“隐形装机量”

很多年轻开发者对Angular的印象,还停留在2016年那个写个简单Todo应用,都要配置Module、声明装饰器、手动导入依赖的笨重版本。张嘴就说它“开发效率低”“上手门槛高”“已经过时了”。

他们没见过的是,当一个系统要支撑上千个页面、上百个前端开发协同、还要扛住每年两次的大版本升级而不出现架构崩溃的时候,那些看起来轻巧灵活的框架,早就在某次大促的流量高峰里把维护团队熬得头发掉了一半。

我见过太多团队,为了追求“技术新潮”,把原本跑在Angular上的后台系统重构成React+各种第三方工具链的组合。一开始爽是真的爽:选个状态管理库要在Redux、Zustand、Jotai之间纠结三周,选个组件库要在MUI、Antd、shadcn/ui之间对比半年,写个页面的速度比之前快了至少30%。可等团队规模从5个人涨到30个人的时候,问题就来了:张三在组件里硬编码了接口请求,李四自己写了一套全局状态管理,王五给不同的页面写了风格完全不统一的弹窗组件,最后改一个简单的按钮颜色,要测三个小时才能确定不会把别的模块搞崩。

真的累。

技术边界:Angular真正的护城河从来不是“好用”

很多人对Angular的误解,是把它当成了一个和React、Vue同维度的“视图层框架”。其实从设计基因上,它从来就不是一个轻量工具,而是一整套针对大型团队的全栈开发解决方案。

它的核心逻辑从来不是“给开发者最大的自由”,而是“用强约定把所有可能导致系统腐化的口子提前堵上”。从路由、表单处理、依赖注入、状态管理,到测试工具、构建流程,框架全给你打包好了,根本不需要你在几十个第三方开源库之间做选择。你不需要纠结这个库会不会半年后停更,也不需要担心换了个开发人员,写出来的代码结构和之前的完全不一样。

当然,这种设计的边界也非常明显。

如果你只是做个个人博客,或者一个三天就能上线的营销落地页,Angular真的太沉重了。它的强约定在这种小项目里,就是纯粹的负担——你明明想写两行代码快速出效果,结果还要先照着它的规范配一堆基础配置,这种体验说一句“难用”一点都不冤。

不过话说回来,Angular最近两年的变化,其实已经悄悄把之前被吐槽了十年的短板补上了。2023年底正式落地的Angular Signals 响应式机制,直接把之前被诟病的全区变更检测逻辑,换成了细粒度的局部更新。性能数据出来的时候,连很多一直黑Angular的开发者都愣了——之前需要手动做优化才能达到的渲染速度,现在框架默认就能做到,甚至在部分场景下比Svelte的编译时性能还要好。

Angular Signals 响应式更新原理示意图
Angular Signals 响应式更新原理示意图

很多人觉得框架的核心竞争力是“写代码爽不爽”,但在企业级开发的场景里,真正的核心竞争力是“三年后你还敢不敢动这段代码”。Angular的强约定,本质上就是把长期维护的成本,提前到了项目开发的最前期。

产业链位置:谁在靠Angular吃饭,谁在躲着它走

现在靠Angular吃饭的玩家,其实非常清晰。

第一类是大型企业的内部技术团队。比如Google自己的Cloud控制台、Workspace的核心组件,全是跑在Angular上的;汇丰银行的个人网银后台、西门子的工业数字孪生平台,也都是用Angular做的前端层。这些系统有个共同的特点:对稳定性的要求远高于对“开发爽感”的要求,系统的生命周期动辄五到十年,根本经不起每隔一两年就换一次框架的折腾。

尤其是最近两年崛起的车载中控系统,已经成了Angular新的增量市场。车机系统的前端开发,对稳定性的要求甚至比网银还高——你总不能让用户在开车的时候,因为一个前端组件的bug,把中控屏幕卡成白屏吧?Angular18个月的长期支持(LTS)周期,刚好匹配车机系统三年一次的大版本迭代节奏,比那些只提供6个月支持的开源框架靠谱太多。

基于Angular开发的车载中控系统界面截图
基于Angular开发的车载中控系统界面截图

第二类是做To B业务的外包服务商。给大企业做项目,最怕的就是后期维护成本太高,最后把项目做成赔本买卖。Angular的强约定,帮这些外包团队省了太多架构设计的精力——不管是哪个开发人员写的代码,最后结构都差不了太多,交付之后的维护成本能比用轻量框架低40%以上,这种账,算过一次就懂。

当然,也有很多玩家在躲着Angular走。

首先是创业团队。两周就要上线MVP的节奏,根本等不及Angular的配置成本,他们更愿意用那些轻量的框架,快速把产品做出来拿到市场验证,哪怕后期维护成本高一点也无所谓——毕竟很多创业公司能不能活过两年都不好说。

然后是高校的前端教学。现在国内高校的计算机专业,教的基本都是Vue和React,Angular的开发者供给本身就比另外两个框架少了一大截。企业要招Angular开发人员,选择面本来就窄,人力成本也要比招React开发高20%左右,这也是很多中小公司不愿意碰Angular的核心原因。

还有生态的短板。现在大部分开源组件库,都是优先适配React和Vue,Angular版本的组件更新总是慢半拍,有时候要等大半年才能拿到适配的版本,这种生态上的滞后,也是很多开发者吐槽的点。

未来3-5年的走向:不抢流量,只守基本盘

未来3-5年的走向:不抢流量,只守基本盘
未来3-5年的走向:不抢流量,只守基本盘

别听那些说Angular要消失的鬼话。

它根本就没打算去抢创业公司的前端市场,从一开始它的基因就不是做轻量快应用的。未来3-5年,Angular的核心目标非常明确:把企业级后台、嵌入式终端(车机、工业控制界面)这两个基本盘吃透,根本不会去和别的框架比谁的上手更快、谁的包体积更小。

我反而觉得,现在的Angular,可能才是它状态最好的时候。之前为了追舆论的热点,它也走过弯路——比如为了显得“灵活”,加了太多可选的配置,反而让开发者更混乱;现在它反而想通了,不再去讨好那些追求轻量的个人开发者,专心服务好那些需要长期维护大型系统的企业客户。

当然,风险也不是没有。

现在Angular每6个月就推一个大版本,这种迭代节奏对企业来说其实是非常大的负担。很多企业的系统,三年才做一次大的版本升级,根本跟不上每半年一次的更新节奏。之前有个客户的系统是Angular 8的,要升到最新的17版本,光迁移适配就花了两个前端团队三个月的时间,那种痛苦,经历过的人都懂。

还有Google对这个项目的长期投入,其实也存在不确定性。虽然现在Google自己的核心业务都在用Angular,不可能说砍就砍,但如果未来Google的内部业务技术栈发生调整,Angular的资源投入会不会缩水,谁也说不准。

说实话,我之前也黑过Angular好多年,觉得它太死板,不够自由。直到去年帮一个客户做系统重构,对比了三个框架的三年总拥有成本,算出来Angular的成本比用React低了40%——因为后期维护的时候,架构的一致性省了太多扯皮的时间。

技术圈的舆论永远是追着新潮跑的。

但真正在生产环境里扛着流量跑的系统,从来都不是最热闹的那一个。

作者|大讲堂

排版|大讲堂

审核|阿辰

免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。如有侵权请联系删除。
文章名称:Angular的中年突围:被舆论唱衰的框架,正在成为企业级开发的隐形底盘
文章链接:https://m.lfdjt.com/info_23_25689.html