15 个 JavaScript 框架和库

630 位读者喜欢这个。
Javascript code close-up with neon graphic overlay

Jen Wike Huger 拍摄

JavaScript 是未来。

这种语言得到了许多技术领导者的支持,其中之一是 WordPress 的创始人 Matt Mullenweg,他暗示 WordPress 开发者应该学习它,这显然向 WordPress 社区传达了其未来重要性的信息。这一提法受到了好评。向更好技术的过渡将使 WordPress 能够应对未来的挑战。

JavaScript 的开源立场也是最好的之一。与普遍的看法相反,JavaScript 不是一个项目,而是一个具有开放标准的规范,该语言由其核心团队发展和维护。ECMAScript,JavaScript 的另一个别称,不是开源的,但它也具有开放标准。

当您查看 GitHub 时,您可以很容易地看到 JavaScript 流行的证据。在代码仓库数量方面,JavaScript 是排名第一的编程语言。它在 Livecoding.tv 上的突出地位也很明显,那里的成员正在勤奋地创建比任何其他主题都多的 JavaScript 视频。在撰写本文时,这个自称为娱乐教育的网站托管了45,919 个 JavaScript 视频

顶级开源 JavaScript 框架和库

回到主题,JavaScript 拥有庞大的社区,这个社区致力于改进技术。开发人员可以使用数百个 JavaScript 框架和库,好消息是,最好的框架和库都是开源的。对于 JavaScript 开发人员来说,使用最好的框架或库进行快速开发现在是必要的。当前市场需要快速开发。此外,在当前市场中,重新发明轮子不是一个好主意。无论您是 JavaScript 新手还是经验丰富的 JavaScript 开发人员,使用库和框架都可以显着提高您的工作效率。

让我们开始吧。

1. Angular.js

Angular.js 是最流行的 JavaScript 框架之一。开发人员使用它来创建复杂的 Web 应用程序。Angular.js 背后的理念是其单页应用程序模型。它还支持 MVC 架构。借助 Angular.js,开发人员可以在前端使用 JavaScript 代码,从字面上扩展 HTML 词汇表。

自 2009 年问世以来,Angular.js 已经有了很大的改进。Angular 1 当前的稳定版本是 1.5.8/1.2.30。您也可以试用 Angular 2,它是 Angular 1 的重大改进,但这个框架尚未被世界各地的开发人员采用。

Angular.js 使用数据绑定作为完成工作的主要概念之一。用户与界面交互。完成交互后,视图随后会使用新值进行更新,新值反过来与模型交互并确保一切同步。在模型中执行底层逻辑后,DOM 会得到更新。

2. Backbone.js

并非每个人都打算构建复杂的 Web 应用程序。对于那些学习 Web 应用程序开发的人来说,更简单的 Web 应用程序框架(例如 Backbone.js)非常适合。Backbone.js 是一个简单的框架,可以使构建简单的 Web 应用程序变得有趣和快速。与 Angular.js 一样,Backbone.js 也带有 MVC 支持。Backbone.js 的其他主要功能包括路由、RESTful API 支持、适当的状态管理等等。您还可以使用 Backbone.js 构建单页应用程序。

当前稳定版本为 1.3.3,可从 GitHub 获取。

3. D3.js

D3.js 是一个出色的 JavaScript 库,使开发人员能够创建具有数据操作功能的丰富网页。D3.js 使用 SVG、HTML 和 CSS 来实现神奇的效果。借助 D3.js,您可以轻松地将数据绑定到 DOM 并启用数据驱动的事件。借助 D3.js,您还可以创建高质量的数据驱动型网页,从而更好地理解数据并提供出色的视觉效果。查看由 D3.js 驱动的 来自 LCF 表示法的哈密顿图

4. React.js

React.js 是一个有趣的 JavaScript 框架。与其他 JavaScript 框架不同,React.js 非常适合构建高度可扩展的前端用户界面。React.js 于 2013 年在 BSD 许可下问世,并且由于它为开发复杂而美观的用户界面带来的优势而迅速发展。

React.js 背后的核心思想是虚拟 DOM。虚拟 DOM 充当客户端和服务器端之间的中介,从而提高了性能。虚拟 DOM 中所做的更改与服务器 DOM 相匹配,并且仅更新所需的元素,这使得该过程比传统的 UI 更新快得多。

您还可以将 Material Design 与 React 结合使用,从而使您能够开发具有无与伦比性能的现代 Web 应用程序。

请在下面的视频中查看来自德国慕尼黑的 mittax 正在使用 React Material-UI。

6. jQuery

jQuery 是一个非常流行的 JavaScript 库,具有事件处理、动画等功能。在处理 Web 项目时,您不想浪费时间为简单的任务编写代码。jQuery 通过其易于使用的 API 将您从这种困境中解放出来。它还可以与所有流行的 Web 浏览器配合使用。借助 jQuery,您可以无缝控制 DOM,还可以开发 Ajax 应用程序,这在过去几年中需求量很大。借助 jQuery,开发人员不必担心底层交互,并且可以更快速、更轻松地开发他们的 Web 应用程序。

jQuery 还有助于分离 HTML 和 JavaScript 代码,使开发人员能够编写具有跨浏览器兼容性的简洁代码。此外,使用 jQuery 创建的 Web 应用程序在未来也很容易改进和扩展。

7. Ember.js

Ember.js 在功能方面是 Angular.js 和 React.js 的混合体。当观察支持社区时,您可以很容易地看到 Ember.js 的受欢迎程度。新功能不断添加。在数据同步方面,它的工作方式类似于 Angular.js。双向数据交换确保应用程序快速且可扩展。它还有助于开发人员创建前端元素。

当谈到 React.js 的相似之处时,Ember.js 提供了类似的服务器端虚拟 DOM,以获得更好的性能和可扩展性。Ember.js 还鼓励最少的代码编写,提供出色的 API 来使用,并拥有出色的社区。

8. Polymer.js

如果您曾经想过创建自己的 HTML5 元素,那么您可以在 Polymer.js 的帮助下完成。Polymer 的主要重点是通过使 Web 开发人员能够创建自己的标签来为他们提供扩展的功能。例如,您可以创建一个具有自己功能的 <my_video> 元素,该功能类似于 HTML5 中的 <video> 元素。

Polymer 由 Google 于 2013 年推出,并受 3-Clause BSD 保护。

9. Three.js

Three.js 是另一个 JavaScript 库,专注于 3D 开发。如果您对动画和游戏开发感兴趣,则可以利用 Three.js 的优势。在底层,Three.js 使用 WebGL,可以轻松地用于在屏幕上渲染 3D 对象。Three.js 功能强大的一个流行示例是 HexGL,一款未来派赛车游戏。

10. PhantomJS

使用 JavaScript 也可能意味着使用不同的浏览器,当我们谈论浏览器时,资源管理很容易进入讨论范围。借助 PhantomJS,您可以监控 Web 应用程序的性能,这要归功于提供的无头 WebKit。无头 WebKit 是 Chrome 和 Safari 中使用的渲染引擎的一部分。

整个过程都是自动化的,您只需要使用可用的 API 设置您的 Web 应用程序即可。

11. BabylonJS

BabylonJS 与 Three.js 处于同一领域,提供 JavaScript API 来创建无缝、强大的 3D Web 应用程序。它是开源的,并且基于 JavaScript 和 WebGL 的强大功能。创建简单的 3D 对象(例如球体)很容易,您只需几行代码即可完成。您可以通过阅读其文档来很好地掌握该库的功能。主页还提供出色的演示,以供启发。请访问官方网站查看它们。

12. Boba.js

Web 应用程序始终有一个共同的需求,即分析。如果您一直在努力将分析插入到您的 JavaScript Web 应用程序中,那么请关注 Boba.js。Boba.js 可以帮助您将分析插入到您的 Web 应用程序中,并支持旧的 ga.js。您还可以将指标与 Boba.js 集成。唯一的要求是 jQuery。

13. Underscore.js

Underscore.js 是您空白 HTML 编辑器文件的答案。当您开始一个项目时,感到迷茫或执行一系列重复您在早期项目中执行过的步骤是很常见的。为了简化启动项目的过程并为您提供先机,Underscore.js JavaScript 库为您提供了一组函数。例如,您可以将您最喜欢的 Backbone.js 吊带或您在项目中经常使用的 jQuery 函数一起使用。

“过滤器”和“调用地图”等功能助手为您提供了良好的开端,因此您可以尽快投入工作。Underscore.js 还带有一套用于轻松测试的套件。

14. Meteor.js

Meteor.js 是开始构建 JavaScript 应用程序的一种快速方法。它本质上是开源的,可用于创建桌面、移动和 Web 应用程序。Meteor.js 是一个全栈框架,支持多平台的端到端开发。您可以使用 Meteor.js 创建后端和前端功能,还可以密切关注应用程序的性能。围绕 Meteor.js 的社区非常庞大,因此经常有功能和错误修复更新。Meteor.js 本质上也是模块化的,并且可以配备出色的 API。

15. Knockout.js

Knockout.js 显然是最被低估的框架。它由 Steve Sanderson 开发,作为一个开源 JavaScript 框架,并根据 MIT 的许可提供。该框架基于 MVVM 设计。

特别提及:Node.js

Node.js 是一个功能强大的 JavaScript 运行时环境。它可用于构建具有真实世界数据的快速、可扩展的应用程序。它既不是框架也不是库,而是一个基于 Google Chrome 的 JavaScript V8 引擎的运行时环境。您可以使用 Node.js 创建多样化的 JavaScript 应用程序,包括单页应用程序、实时 Web 应用程序等等。从技术上讲,Node.js 在其事件驱动架构的帮助下支持异步 I/O。这种方法使其成为开发高度可扩展解决方案的绝佳选择。在 livecoding.tv 上观看 Node.js 视频。

结论

JavaScript 是 Web 的通用语言。它的快速发展不仅归功于它提供的功能,还归功于围绕它的开源社区。对于任何 JavaScript 开发人员来说,上述框架和库都是必不可少的检查项。所有这些都提供了一些探索 JavaScript 和前端开发的方法。上述大多数库和框架都经常被对 JavaScript 及其相关技术感兴趣的软件工程师在 Livecoding.tv 上使用。

如果您有什么要补充的,请在下面评论并告诉我们。我们很想知道您在项目中使用哪个框架和库,也想知道其背后的原因。

Michael Livecoding.tv
Michael 博士是位于洛杉矶的 Education Ecosystem. Inc.(前身为 Livecoding.tv)的创始人兼首席执行官。Education Ecosystem (LEDU) 是一个基于项目的学习平台,旨在教授学生如何构建编程、游戏开发、人工智能、网络安全、数据科学和区块链等领域的真实产品。

11 条评论

您忘记了出色的 Aurelia ( http://aurelia.io/ ) - 由 Rob Eisenberg 和团队开发。
Rob 曾在 Angular2 上工作,但决定追求自己对基于标准的框架的愿景,而不是 Angular2 的自定义语法。
它非常简洁、易用且有趣!

看起来很棒,我一定会尝试 aurelia 框架,感谢 Frode 的建议!

回复 ,作者:Frode (未验证)

我建议使用 Lodash (https://lodash.node.org.cn/) 而不是 Underscore,并且可能添加一个函数式编程库,例如 Ramda (http://ramdajs.com/),尽管使用 Lodash 和 JS6 您已经得到了很好的覆盖。

我刚开始学习 javascript,很多东西对我来说还是很新的。但是这篇文章很棒!我必须检查一下。谢谢

在一个地方收集了令人惊叹的有用 JavaScript 框架和库。如果您想提高 JavaScript 开发技能,此类文章对于找到最近检查过的最相关和最有价值的资源至关重要。为作者点赞!

这就是神奇的消失 UI 框架
https://svelte.technology

我尝试过,可悲的是,它很容易编写和编译简洁的原生 Javascript,而没有大多数框架所做的开销。我认为它的优势在于,如果您迁移框架更新(如 Angular 1 到 2),或者最终拥有 2 个不同的 jQuery 版本,它不会破坏 API。

感谢您提供的开源库列表!
我可以再提供一个:Webix UI 库
它具有开源版本,包含 60 多个小部件和控件,并与 Angular、Backbone 和 jQuery 集成。

https://webix.com/download/

我是一名新的 java script 程序员,我发现这篇文章非常有帮助,感谢您提供的精彩资源集合。

非常感谢!

我只是在使用 Angular.js,它非常强大,有很多选项

谢谢,我最喜欢 Angular.Js :D
Node.Js 对于后端来说很棒。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.