骂到第三杯冰美式上来,他突然抬头问我:你说这框架,是不是真要凉?
我当时没接话。毕竟过去五年,关于Angular“已死”的论调,我在各个开发者社群里见得太多了。
被误解的“重”,从来不是技术缺陷
很多人对Angular的刻板印象,还停留在2016年刚出2.0版本的时候——强类型、全家桶、配置文件多、学习曲线陡,启动个项目要等半分钟,打出来的包比同规模的Vue项目大两倍。
说真的,刚接触Angular的时候我也烦。凭什么我想写个简单的页面,要先搞懂模块、依赖注入、装饰器三层概念?不像React,找个脚手架跑起来,写个函数组件就能出效果。
但很少有人说清楚,Angular从设计第一天开始,就不是给独立开发者写周末小工具用的。它的核心目标,是服务几十人规模的团队,开发要维护8到10年的大型系统。
React的逻辑是“给你一把锤子,剩下的你自己搭”。你要路由,自己选react-router;要状态管理,自己选Redux、Zustand还是Pinia;要表单校验,自己找第三方库。灵活度拉满,但代价是,一百个团队能搭出一百种结构的项目。
Angular的逻辑是“把所有零件提前给你配好,螺丝的规格都给你定死”。路由、状态管理、表单、HttpClient、依赖注入,全是官方原生支持的,不管你团队来的是刚毕业的应届生,还是跳了三次槽的老开发,写出来的代码结构差不了多少。

这种设计的代价是什么?是初期的学习成本高,小项目用起来笨重。但好处是什么?是项目跑到第五年,团队换了两拨人,你依然能顺着框架的统一规范,找到对应逻辑的代码位置,不会看到满屏的全局变量、随意命名的组件、不知道谁写的公共工具函数。
你要是个独立开发者,周末写个待办清单、做个个人博客,那Angular确实是杀鸡用牛刀。但你要是要做一个要维护十年的银行核心前端、政务审批系统、工业组态软件,这种“重”,反而是最大的优势。
17版本之后,谷歌已经把旧骨架拆得差不多了
过去三年,Angular团队其实憋了个大招。
从16版本开始推Signals响应式机制,17版本上线全新的内置控制流,替代之前臃肿的NgIf、NgFor模板语法,再到18版本默认开启的非混合 hydration 服务端渲染优化,现在的Angular,和三年前的版本已经不是同一个东西了。
我去年帮朋友的团队迁移一个跑了七年的政务老项目,从Angular 11直接升到18,没有重写一行业务代码,最后打出来的生产包体积直接砍了近四成,首屏加载时间从3秒多掉到1秒出头。当时整个项目组的人都愣了——之前他们已经做好了花三个月重写前端的准备,结果光升个版本就把性能问题解决了。

现在的Angular,早就不是那个出了名的“构建慢、包体大”的框架了。社区实测的构建速度,比16版本快了近一倍,产物体积和同功能的React项目基本持平。
但外界对它的印象,还停留在十年前。
现在Angular的基本盘,其实和大家想的不一样。C端互联网的场景——电商、社交、内容平台,早就被React和Vue占满了,Angular根本抢不回来。但在非互联网的企业级市场,Angular的渗透率高得吓人:西门子的工业组态前端、花旗银行的零售业务系统、江苏省政务服务网的核心审批模块,甚至很多跨国公司的内部ERP前端,用的都是Angular。
为什么这些机构愿意选它?不是因为Angular写页面快,是因为这些系统的核心需求从来不是“快速上线”,是“长期稳定、可维护、责任清晰”。银行的核心交易前端要跑10年,政务系统要对接十几个上级部门的接口,工业软件要适配不同工厂的生产设备,这种场景下,框架的统一规范,比灵活度重要一百倍。
现在的坑,比大家想的要多得多
当然,Angular现在的问题,一点都不比优势少。
第一个最现实的问题,是人才断层。现在国内的前端培训市场,基本全在教React和Vue,专门开Angular课程的机构一只手数得过来。很多做Angular的团队,要花比同级别React开发高三成左右的薪资,还不一定能招到合适的人。毕竟谁也不想刚毕业就去学一个“大家都说要凉”的框架,不如先学React找工作容易。
第二个问题,是生态的割裂。很多开源的UI组件库、图表库,针对Angular的版本更新速度,比React的慢半年甚至一年。你想找个最新的3D可视化组件,翻半天发现Angular对应的版本,还停留在三年前的旧响应式API上,根本没法直接用。
第三个问题,是谷歌自己的战略摇摆。之前Angular团队花了好几年推RxJS作为核心响应式方案,甚至出了厚厚的官方教程教大家怎么用各种操作符写异步逻辑,结果现在Signals成了官方主推的未来方向,之前学的RxJS,大部分场景都可以用Signals替代。很多老用户吐槽,跟着官方的路线走了五六年,结果发现路改了,之前攒的经验值打了对折。
我之前认识的一个Angular社区的核心贡献者,2023年跳槽去做React生态的开发工具了。他说的一句话我印象很深:“不是Angular技术不好,是你永远不知道下一个大版本,官方会把哪个你天天用的API标记成废弃。”
说点实在的,未来3到5年,Angular的走向其实很清晰。
它不会死。毕竟它的基本盘——那些动辄几千万、上亿成本的大型企业系统,根本不会随便换框架。你总不能让银行把跑了五年的核心交易前端,从Angular换成React吧?光测试回归的成本,就够再做三个新系统了。
但它也不会再回到当年和React、Vue三分天下的位置。它会慢慢收缩自己的边界,不再去抢C端互联网的流量,就专注做大型企业级长期项目的垂直方案。3到5年之后,Angular大概率会和微软的Blazor、Java生态的Vaadin这些框架一起,瓜分企业级前端的市场——毕竟大家都烦透了那种每个团队自己搭脚手架,最后搭出来一堆不兼容的屎山项目的日子。
上次在咖啡馆碰到的那个老大哥,上周给我发微信,说他们团队把老项目升到Angular 18了,现在用Signals写逻辑,之前的RxJS代码只留了不到20%,整个项目的维护成本降了快一半。
他说,之前骂了那么久Angular,现在才发现,之前吐槽的那些缺点,一半是自己没跟上版本,一半是拿错了场景。
哦对,他最后补了一句,下次喝咖啡他请。
作者|大讲堂
排版|大讲堂
审核|柚子
大讲堂