一个开发者很少公开讨论,但几乎人人纠结的问题:该用哪个框架?

答案看似显而易见,直到真正要做决定的那一刻。然后你会发现,每篇博客、每个视频、每条推文都在说不同的话。这篇文章试图穿透这些噪音。它源自Zone01 Kisumu在LakeHub举办的一场前端框架小型会议——我们用一整天时间,追溯了前端开发的真实演进历程。

打开网易新闻 查看精彩图片

起点:原生JavaScript

打开网易新闻 查看精彩图片

框架出现之前,只有JavaScript。原始、无结构、完全由你自由发挥——也自由搞砸。

早期网页大多是静态HTML,上面撒一点JavaScript处理基础交互:表单验证、切换可见性,诸如此类。能跑。大多数情况下。

但随着网页野心膨胀——动态内容、用户交互、实时更新——手写原生JavaScript变得痛苦。重复写同样的模式。直接操作DOM繁琐且容易出错。跨浏览器兼容性更是噩梦。

必须有所改变。

jQuery:第一次真正的革命

2006年,jQuery出现,改变了一切。

它不算现代意义上的框架,更像工具库。但它做的事在当时堪称激进:给开发者提供了一套一致、可读的API,用来操作DOM、处理事件、发起AJAX请求——不管用户用什么浏览器。

代码从冗长的getElementById加addEventListener,变成简洁的$选择器链式调用。更干净,更有表达力,而且到处都能跑。

jQuery统治了网页多年——说实话,今天仍有大量网站靠它运转。这不是遗留问题,是它当时解决真实问题的证明。

但网页继续进化。单页应用(SPA)成为标配。用户想要在浏览器里获得桌面级体验。而jQuery,尽管强大,并非为这种复杂度设计。

现代框架为何变得必要

做小网站时,直接管理DOM没问题。做复杂应用,几十个组件、共享状态、实时数据、多人协作——就会变成混乱。

现代框架为解决具体问题而生:

第一,状态管理。让UI与数据保持同步,比听起来难得多。某处改个值,所有依赖它的UI部分都要更新。在大型代码库里手动做这件事,会让人崩溃。框架把这事自动化了。

第二,组件复用。写一次按钮,到处用。样式一致,传不同属性。现代框架让可复用UI组件成为核心概念。

打开网易新闻 查看精彩图片

第三,开发者体验。现代工具链提供热更新、清晰错误提示、调试工具——这些不是奢侈品,是复杂项目里的必需品。

三大主流框架怎么选

今天的选择主要落在React、Vue、Angular身上。没有绝对正确答案,但有明确的适用场景。

React由Meta维护,生态最大。灵活性高,但选择多也意味着决策负担。适合需要高度定制、团队技术能力强、或者要复用React Native移动代码库的项目。

Vue由社区驱动,渐进式设计。可以像jQuery那样直接丢进HTML,也能扩展成完整框架。学习曲线平缓,文档被公认是行业标杆。适合中小型团队快速上手,或者渐进式改造遗留项目。

Angular由Google背书,大而全。自带路由、表单、HTTP客户端等全套方案,约定多于配置。适合企业级应用、大型团队、需要长期维护且人员流动的项目。

一个常被忽略的事实

框架选择很少是纯粹的技术决策。

招聘市场、团队现有技能、公司技术栈历史、甚至CTO的个人偏好,权重往往比技术特性更高。一个框架在Benchmark里快20%,抵不过团队要花三个月重新学习。

jQuery今天仍在大量运行,不是因为它最好,而是替换成本太高。技术债务是真实的商业考量。

那到底怎么选

先问三个问题:团队规模多大?项目生命周期多长?有没有遗留代码要兼容?

小团队、短周期、从零开始——Vue或React的轻量方案。大企业、长维护期、多人协作——Angular的全套规范或React的严格架构。已有jQuery老系统——考虑渐进式迁移,而非推倒重来。

框架之争永远不会停止。但重要的是理解:每个流行框架背后,都是特定场景下的真实需求。没有银弹,只有权衡。