上周帮南京河西一家做政务信息化的老客户排坑,打开他们的项目目录愣了——Angular 8的代码,跑在2024年的云服务器上,前端团队三个00后小孩,对着满屏的装饰器哭丧着脸说,这玩意儿比他们进公司的时间还大。
换做几年前,我可能也跟着吐槽,说Angular这框架早就过时了,谁还用谁冤种。但跑了十几家做金融、政务的客户才发现,根本不是那么回事。
Angular的真实技术边界:从来不是给小团队做玩具的
很多人对Angular的第一印象是“重”。
轻吗?一点都不轻。你想做个静态博客,选Astro或者Next.js半小时就能上线。用Angular?光初始化项目的配置项,能把刚入行的新人看半小时。
但你见过哪个做银行核心系统前端的团队,敢在百人协作的项目里用无框架的原生JS?
乱。真的乱。三个月前写的代码,半年后换了三波人,连变量名是啥意思都摸不清。Angular的核心设计逻辑从一开始就不是为了追求小项目的开发速度,它从根上就把依赖注入、路由、表单校验、状态管理的协作骨架焊死,不管你是刚毕业的实习生,还是在行业里摸爬滚打十年的架构师,写出来的代码结构,大差不差。
很多人拿Angular和React、Vue比小项目的上线速度,比开源社区的博主数量,那根本是拿错了对标物。就像你不能拿重型卡车和家用轿车比谁在市区开得灵活,卡车的设计初衷就是拉着几十吨的货跑长途,不是给你接孩子买菜用的。

之前帮一家城商行做前端架构评审,对方的技术负责人说,选Angular根本不是因为它性能有多好,是因为不管团队走多少人,新来的人照着官方规范写代码,三个月就能上手维护,不会出现每个人写的代码风格都不一样的情况。这种确定性,在动辄要维护10年以上的企业级项目里,比什么“灵活”“自由”都值钱。
被忽略的存量市场:Angular的基本盘从来不是开源社区的流量
打开GitHub看开源框架的热度榜,Angular的star数早就被Vue、React甩在后面,npm周下载量的增速也慢的像蜗牛爬。很多人据此判断,Angular的市场份额要彻底跌出第一梯队了。
但数字不会骗人。
第三方前端框架调研机构的连续三年数据显示,全球千人规模以上企业的前端选型中,Angular的占比始终稳定在22%左右,没有出现过断崖式下跌。千人规模企业的前端选型逻辑从来和开源社区的流量热度无关——毕竟企业选型看的是框架的长期维护性、团队协作效率、安全补丁的响应速度,不是哪个框架的教学视频在B站有多少播放量。

就拿南京本地的生态来说,政务服务网的核心交易前端、三家城商行的对公业务系统、甚至之前阿里内部最早的中后台体系,全是Angular的技术底子。围绕这些项目长出来的产业链更有意思:一堆专门做企业级权限管控、表单引擎、低代码搭建的服务商,靠基于Angular封装的行业组件库,一年营收能过亿,根本不需要去开源社区刷star攒流量,客户全是年信息化预算千万级以上的大客户。
说句不好听的,开源社区里那些喊着“Angular已死”的开发者,大多是做小项目、接私活的独立开发者,他们的需求本来就和Angular的设计目标不匹配。那些真正在大型企业里扛着核心系统的技术负责人,根本不会跟着网上的舆论瞎起哄——毕竟项目出了问题,挨骂的是他们,不是敲键盘的网友。
绕不开的坎:Angular的进化困境与治理盲区
当然,Angular的问题,真的多到数不过来。
最让人头疼的就是版本迁移成本。从v2到现在的v18,每次大版本更新的破坏性变更,能把老项目的维护团队逼到崩溃。就像开头提到的那个政务项目,卡在Angular 8快6年了,想升到最新版本,光梳理第三方依赖、改装饰器语法的成本,就够重新做一个同规模的项目了。Angular的版本迁移成本是悬在所有老项目头上的达摩克利斯之剑,多少团队因为怕踩坑,干脆就守着老版本不升级,最后连安全补丁都没人维护。
然后是人才的断层。现在市面上的前端培训班,从课程设计到就业推荐,全盯着React和Vue的岗位,出来的新人根本没接触过Angular的依赖注入、模块化设计逻辑,企业想招个能维护Angular项目的熟手,开的薪资比同水平的React开发高30%,还是难招人。
还有那个轴到让人上火的官方团队。什么功能都想自己从头实现,根本不考虑和整个前端生态的兼容。之前很长一段时间,Angular的开发服务器速度比Vite慢一半,改一行代码等三秒钟才能热更新,那感觉,就像在早高峰堵在新街口,挪都挪不动。社区骂了快两年,官方才慢吞吞把Vite集成进了默认的构建流程。更别说之前换Ivy渲染引擎的时候,多少老的第三方组件库直接不兼容,连个像样的迁移指南都没有,全靠社区开发者自己踩坑填坑。
说真的,我做了快十年前端开发,见过太多框架因为和社区脱节慢慢死掉的例子。Angular现在的治理逻辑,基本全是Google内部的工程师说了算,社区提的诉求,要么被晾几个月,要么直接被一句“不符合我们的产品规划”打回来,长此以往,谁还愿意给你做第三方组件库?
未来3-5年:Angular不会死,但会彻底退到“专属赛道”里
很多人预测Angular再过几年就会彻底消失,我觉得根本不可能。
它的基本盘是什么?是全球几十万个已经上线的企业级项目,这些项目的生命周期本来就有5-10年,不可能说换框架就换。只要这些项目还在跑,就需要有人维护,Angular就不会死。
但未来3-5年,Angular肯定会彻底放弃和React、Vue争夺互联网C端项目、小团队创业项目的市场,专心扎在企业级中后台的专属赛道里。
从最近几个版本的更新方向也能看出来:官方现在的迭代重点,根本不是做什么适合C端项目的动画库、服务端渲染功能,全是在优化老项目的迁移工具、降低大型团队的代码协作成本、把信号机制和现有生态做兼容。说白了,官方也想通了——反正C端的市场抢不过别人,不如把自己的基本盘守好。

很多人说Angular老了,过时了。但你想想,你家小区里用了十几年的老电梯,从来不会想着换个带网红灯光的新款,因为它稳。Angular就是前端框架里的老电梯,没什么花里胡哨的功能,但是只要你敢用,它就不会在你爬楼的时候突然掉链子。
对了,上次那个卡在Angular 8的政务项目,最后我们没帮他们升级,也没换框架。花了两周时间,把安全漏洞补了,把老版本的依赖打了补丁,给团队做了三天的内部培训。毕竟对他们来说,能稳稳当当地把系统跑下去,比追什么新技术潮流重要多了。
作者|大讲堂
排版|大讲堂
审核|阿辰
大讲堂