发布于 2026-01-06 1 阅读
0

JavaScript 框架简史(面向略感兴趣的读者):动态 HTML、jQuery、Backbone 和 AngularJS、Knockout、Meteor、React

JavaScript 框架简史(略懂皮毛者适用)

动态 HTML

jQuery

Backbone 和 AngularJS

Knockout、Meteor、React

JavaScript 框架发展至今已经有了长足的进步,任何新开发者不仅要学习一门语言,还要选择首先学习哪个框架。

如今我们所拥有的选择,是相对较短时间内一些惊人创新的成果。早在2004年,谷歌就发布了Gmail,它被认为是第一个完全基于浏览器的产品,也就是我们今天所知的单页应用程序(SPA)。

如果你刚开始学习 JavaScript,那现在正是时候,但如果你想在浏览器中做一些有趣的事情,以前并没有那么多选择和灵活性。

动态 HTML

21世纪初,JavaScript还处于起步阶段,主要用于对页面进行一些基本修改。当时的主要功能包括鼠标悬停、下拉菜单和文本滚动——如今,借助CSS的强大功能,这些功能对开发者来说已是理所当然。

当时,Internet Explorer 几乎垄断了网络浏览器市场(我知道,这听起来很奇怪,对吧?),而且从 1999 年起,它就包含了微软为其电子邮件产品 Outlook 开发的库的封装。这个名字虽然优美但略显晦涩的 XMLHttpRequest 对象最终在浏览器中实现了标准化,并成为我们今天体验网络世界的基础。

至关重要的是,XMLHttpRequest 允许向服务器发送请求并处理响应,而无需刷新浏览器或执行完整的往返通信。在此之前,诸如点击标签页或提交表单之类的操作意味着服务器会处理该请求并决定如何呈现响应,然后浏览器会一直加载并最终显示结果。

开发者们迅速利用了这项功能,看到了在网络上创建真正能够替代桌面应用程序的潜力。异步 JavaScript 和 XML,简称 AJAX,正是用来描述这项新技术的术语。

jQuery

jQuery 严格来说并不是第一个 JavaScript 框架,但它在 2006 年发布后迅速流行起来。jQuery 旨在解决开发者在 Web 浏览器实现中遇到的细微差异带来的诸多问题,并将开发者想要的大部分功能抽象到一个简洁易学的框架中。

由于可以利用网络的便捷性构建应用程序,开发者们构建了越来越大的解决方案,这也考验了 jQuery 的可维护性。像 Gmail 这样的产品展示了 jQuery 的强大功能,但同时也表明,企业可能需要更友好的工具。

Backbone 和 AngularJS

2010 年,Jeremy Ashkenas 发布了 Backbone,这是第一个旨在创建单页应用程序的框架。Jeremy 目睹了庞大的 jQuery 应用程序变得多么混乱,因此他希望找到一种更简洁的方法来处理成千上万的选择器和交织在一起的事件处理程序。有趣的是,Backbone 并不依赖于 jQuery,它是一个独立的框架,但如果存在 jQuery,则可以启用某些功能。

大约在同一时期,Adam Abrons 和 Misko Hevery 创建了 AngularJS,不久之后 Hevery 加入谷歌,AngularJS 也随之归谷歌所有。Angular 是第一个为前端应用程序开发提供完整架构的框架。 

AngularJS 的主要特性之一是双向数据绑定,它提供了一种将模型数据绑定到 HTML 标记并实时更新更改的方法。开发者称之为“自动魔法”。Angular 还支持依赖注入和创建可重用组件的功能。

Knockout、Meteor、React

Knockout是另一个提供双向数据绑定解决方案的框架,尽管它的功能远不及AngularJS。Meteor也曾拥有众多用户,但在2013年,Facebook发布了React框架,此后React迅速崛起,广受欢迎。

许多新手开发者第一次听说 React 就将其作为首选框架。尽管如此,React 的学习曲线确实比较陡峭,但它也拥有优秀的文档和庞大的社区。


对于开发者来说,观察框架如何尝试解决其前身遗留的问题非常有趣。我认为 Angular(尤其是最新版本)与 React 有很多共同之处,而它们又都与后起之秀 Vue 有着共同的目标。

另一个日益重要的考量因素是这些框架对移动端的支持便捷性。随着团队尝试将 JavaScript 作为一种通用语言应用于所有平台(包括使用 NodeJS 的服务器端、桌面和移动浏览器,以及借助其他框架实现原生设备开发),Ionic 和 React Native 已成为不可或缺的参与者。


总而言之,JavaScript 是一门非常值得学习的语言,借助这些框架,几乎可以在任何设备上实现任何功能。每个新版本的框架都体现了开发者从前代版本中汲取的经验,因此现在正是深入学习并开始构建你的第一个应用程序的最佳时机。

文章来源:https://dev.to/_adam_barker/the-super-brief-history-of-javascript-frameworks-for-those-somewhat-interested-3m82