介绍 14 个 JavaScript 的框架和库

Javascript 获得了众多的技术领导者的拥护和支持,其中一位就是 WordPress 的做者 Matt Mullenweg , 他表示 WordPress 开发者 应该学习 JavaScript , 这也清晰地向 WordPress 社区传达了 JavaScript 在将来的重要性。 同时,这一观点也被广泛接受。向着更先进的技术靠拢与过渡也同时保证了 WordPress 在将来的挑战中不会落于人后。javascript

JavaScript 同时也是众多站在开源立场的技术中的佼佼者。与如今所流行的观点相反,JavaScript 不是一个工程,而是一个由其核心团队共同制定和维护的开放标准。ECMAScript , 这是另外一个和 JavaScript 相关的名字, 它虽然不是开源的,但它也有一个开放的标准。html

当你在浏览 GitHub 的时候你就能够发现 JavaScript 在当今有多么流行了。并且就仓库的数量 而言,JavaScript 绝对位于全部的编程语言当中最顶尖的那一层次。 同时,在 Livecoding.tv 上你也能看出 JavaScript 有多么突出,这里的用户发布的关于 JavaScript 的视频的数量比其余的话题多得多。在写这篇文章的时候(2016 年末),Livecoding.tv 上已经有 45,919 个 用户原创的 JavaScript 视频教程前端

 

热门的开源 JavaScript 框架和库

回归到主题, 庞大的社区是 JavaScript 的一个得天独厚的优点,同时这也推进了 JavaScript 的蓬勃发展。这里有数以百千计的成熟的 JavaScript 框架和库供开发者使用,同时这些最优秀的框架和库都是开源的。对当前的 JavaScript 开发者来讲,可以使用这些优秀的框架和库来进行快速开发已是必须技能了。当今的市场须要快速开发,可是,重复造轮子是没有必要的。不论你是一个 JavaScript 新手仍是一个资深的 JavaScript 开发者,使用框架和库都能极大提升你的工做效率。java

好了,让咱们开始吧!node

 

1. Angular.js

Angular.js 是目前最热门的 JavaScript 框架之一。它用于开发者构建复杂的 web 应用。Angular.js 背后的思想是它的单页应用 model。同时它 也支持 MVC 架构。在 Angular.js 中 ,开发者能够在前端中使用 JavaScript 代码,并从字面上扩展 HTML 词汇。react

Angular.js 自 2009 年出现以来已经有了很大的改进。Angular 1 当前的稳定版本是 1.5.8/1.2.30 。你也能够试一试 Angular 2 ,相对于 Angular 1 来讲它有了重大的改进,但这个新版本仍未在全球范围内被广泛使用。jquery

在 Angular.js 中,数据绑定是完成工做的一个重要概念。在用户与接口的交互中,当交互完成,view 就会自动更新,随即新值与 model 交互以确保一切都是同步的。底层的逻辑在 model 中执行完成后,DOM 也会随即更新。linux

 

2. Backbone.js

复杂 web 应用并不适用于全部场景。一些较简单的 web 应用框架例如 Backbone.js 就很是适合学习 web app 开发。Backbone.js 是一个简单的框架,能够快速方便地构建简单的 web 应用。和 Angular.js 同样,Backbone.js 也支持 MVC 。Backbone.js 还有一些其它关键特性如路由,RESTful API 支持,适当的状态管理等等。你甚至还能够用 Backbone.js 来构建单页应用。git

当前的稳定版本是 1.3.3,能够在 GitHub 中找到。angularjs

 

3. D3.js

D3.js 是一个优秀的 JavaScript 库,它容许开发者建立具备数据处理功能的富 web 页面。D3.js 使用 SVG、HTML 和 CSS 来实现这一切功能。使用 D3.js ,你能够更轻松地将数据绑定到 DOM 及启用数据驱动事件。使用 D3.js ,你还能够建立高质量的数据驱动的 web 页面来提供一个更易于理解的视觉效果来呈现数据。查看示例 : LCF 符号哈密顿图 ,由 D3.js 强力驱动。

 

4. React.js

React.js 是一个使用起来颇有趣的 JavaScript 框架。和其它的 JavaScript 框架不一样,React.js 志在构建一个高可扩展的前端用户界面。React.js 出现于 2013 年,它采用了 BSD 开源协议。它因其可以开发复杂且漂亮的用户界面所带来的优点而迅速发展壮大。

React.js 背后的核心思想是虚拟 DOM 。虚拟 DOM 在客户端和服务端之间扮演着一个中间人的角色并带来了显著的性能提高。虚拟 DOM 的改变和服务器端 DOM 同样,只须要更新所需的元素,相对于传统的 UI 渲染来讲极大提高了渲染速度。

你还可使用 Recat 来实现 meterial 风格的设计,使你可以开发具备无与伦比的性能的 web 应用。

 

5. jQuery

jQuery 是一个很是流行的 JavaScript 库,它拥有众多特性例如事件处理、动画等。当你在作一个 web 项目的时候,你不会想要把时间浪费在为一些简单的功能写代码上。jQuery 为减小你的工做量提供了一些易于使用的 API 。这些 API 在全部的常见的浏览器中都可以使用。使用 jQuery, 你能够无缝地控制 DOM 以及 Ajax 这样在近几年来拥有大量需求的任务。使用 jQuery,开发者没必要担忧一些低级的交互,同时可使他们的 web 应用的开发更加容易与迅速。

jQuery 同时便于分离 HTML 和 JavaScript 代码,使开发者可以编写简洁而跨浏览器兼容的代码。而且使用 jQuery 建立的 web 应用在未来也易于改善和扩展。

 

6. Ember.js

Ember.js 是一个 Angular.js 和 React.js 的功能混合体。当你在浏览社区的时候你能明显地感觉到 Ember.js 的热门程度。Ember.js 的新特性也不断地在添加。它在数据同步方面与 Angular.js 很像。 双向的数据交换能够确保应用的快速性和可扩展性。同时,它还可以帮助开发者建立一些前端元素。

和 React.js 的类似之处在于,Ember.js 提供了一样的服务器端虚拟 DOM 以确保高性能和高可扩展。同时, Ember.js 提倡简化代码,提供了丰富的 API。Ember.js 还有很是优秀的社区。

 

7. Polymer.js

若是你曾想过建立你本身的 HTML5 元素,那么你可使用 Polymer.js 来作这些事。 Polymer 主要集中于经过给 web 开发者提供建立本身的标签的功能来提供扩展功能。例如,你能够建立一个和 HTML5 中的 <video> 相似的具备本身的功能的 <my_video> 元素。

Polymer 在 2013 年被 Google 引入并以 三句版 BSD 协议发布。

 

8. Three.js

Three.js 又是另外一个 JavaScript 库,主要用于 3D 效果开发。若是你在作游戏开发的动画效果,那么你能够利用 Three.js 的优点。Three.js 在底层中使用 WebGL 使 Three.js 能够轻松地被用于在屏幕上渲染 3D 物体。举一个比较知名的使用 Three.js 的例子就是 HexGLA,这是一个将来派赛车游戏。

 

9. PhantomJS

使用 JavaScript 工做就意味着和不一样的浏览器打交道,同时,当说起浏览器的时候,就不得不讨论资源管理。在 PhantomJS 中,因为有 Headless WebKit 的支持,因此你能够随时监测你的 web 应用。Headless WebKit 是 Chrome 和 Safari 使用的渲染引擎中的一部分。

这整个过程是自动化的,你所须要作的只是使用这个 API 来构建你的 web 应用。

 

10. BabylonJS

BabylonJS 与 Three.js 不相伯仲, 提供了建立平滑而强大的 3D web 应用的 JavaScript API。它是开源的,且基于 JavaScript 和 WebGL 。建立一个简单的 3D 物体,好比一个球体是很是简单的,你只须要写短短几行代码。经过这个库提供的 文档,你能够很好地掌握它的内容。 同时 BabylonJS 的主页上也提供了一些优秀的 demo 来看成参考。在其官网上你能够找到这些 Demo。

 

11. Boba.js

Web 应用老是有一个共通的需求,那就是分析。若是你还在苦于将数据的分析与统计插入到 JavaScript 的 web 应用中,那么你能够试一下 Boba.js。Boba.js 能够帮助你将分析的数据插入到你的 web 应用中而且支持旧的 ga.js 。你甚至能够把数据指标和 Boba.js 集成在一块儿,只须要依赖 jQuery 便可。

 

12. Underscore.js

Underscore.js 解决了 “当我面对一个空白 HTML 页面并但愿即刻开始工做,我须要什么” 这个问题。当你刚开始一个项目,你可能会感到失落或者重复一系列你在以前项目中常作的步骤。 为了简化开启一个项目的过程和给你起个头,Underscore.js 这个 JavaScript 库给你提供了一系列的方法。例如,你可使用你在以前项目中经常使用的 Backbone.js 中的 suspender 或者 jQuery 的一些方法。

一些实用的帮助例如 “filter” 和 “invoke the map” 能够给你起个好头,以助于你尽量快的投入到工做中。 Underscore.js 同时还自带了一个套件来简化你的测试工做。

 

13. Meteor.js

Meteor.js 是一个快速构建 JavaScript 应用的框架。它是开源的且它可以用于构建桌面应用、移动应用和 web 应用。Meteor.js 是一个全栈的框架同时容许多平台的端到端开发。 你可使用 Meteor.js 来实现前端和后端功能,同时它也能密切监视应用的性能。Meteor.js 的社区很是庞大,因此它会有不断的新特性更新或者是 bug 修复。Meteor.js 也是模块化的,同时它能配合一些其它的优秀的 API 使用。

 

14. Knockout.js

Knockout.js 在这些库中多是最被低估的一个。它是一个基于 MIT 开源协议的开源 JavaScript 框架。做者是 Steve Sanderson。它基于 MVVM 模式。

 

值得注意的是: Node.js

Node.js 是一个强有力的 JavaScript 运行时环境。它能够被用于使用真实世界数据来构建快速且可扩展的应用。它既不是一个框架也不是一个库,而是一个基于 Google Chrome 的 V8 引擎的运行时环境。你能够用 Node.js 来建立多元化的 JavaScript 应用,包括单页应用、即时 web 应用等等。从技术层面上来说,因为它的事件驱动式架构,因此 Node.js 支持异步 I/O 。这种作法使得它成为开发高可扩展应用的一个极好的解决方案的选择。查看 Node.js在 livecoding.tv 上的视频。

 

总结

JavaScript 是 web 开发中的通用语言。它之因此快速发展不只仅是由于它所提供的内容,更多的是由于它的庞大的开源社区的支持。以上提到的框架和库对任何一个 JavaScript 开发者来讲都是必须知道的。它们都提供了一些途径来探索 JavaScript 和前端开发。上面说起的大部分框架和库频繁地在 Livecoding.tv 上出现,其大部分来自对 JavaScript 及其相关技术感兴趣的软件工程师。

 

 

原文出处:https://linux.cn/article-8383-1.html

相关文章
相关标签/搜索