顶级的JavaScript框架、库、工具及其使用

几乎每隔一个星期,就有一个新的 JavaScript 库席卷网络社区!Web 社区日益活跃、多样,并在多个领域快速成长。想要研究每一个重要的 JavaScript 框架和库,是个不可能完成的任务。接下来,我会分享一些前端开发的最著名和最有影响力的框架和库。下面,就让我们一起来看看,顶级的 JavaScript web 前端框架、库和工具及其使用。

请注意:

  • 如果没有包括你最喜欢的 JavaScript 的框架和库,请多包涵。
  • 请实时更新你的框架和库,最新版本往往有更好的跨浏览器和跨设备支持。可以使用检测设备一样的工具,来帮助确定一个旧版本,是否可以和配置最好的设备兼容。

接下来,让我们看看下面的列表!

 

AngularJS

AngularJS 是一种流行的企业框架,许多开发人员使用其构建和维护复杂的 Web 应用程序。AngularJS 是十分受欢迎的,许多公司都使用它,像达美乐披萨、瑞安航空、iTunes Connect,PayPal 支付,谷歌等。AngularJS 是由谷歌支持的开源框架。AngularJS 把自己描述为一个 HTML 的扩展,可用来构建复杂的 Web 应用程序。此外,如果你熟悉 TypeScript,将会很清楚 AngularJS 是如何编写的。

AngularJS 是一个 MVC 类型的框架,它提供了双向的数据模型和视图之间的绑定。这种数据绑定,允许在双方只要有一个数据变化时,自动进行更新。它使你可以构建可重用的 View 组件。同时,它也提供了一个服务框架,以便前后端服务的轻松通信。最后,它只是普通的 JavaScript。

什么时候使用 AngularJS?当你正在建立一个复杂的 web 前端应用程序,并且需要一个模块化的框架来处理一切时。

 

React

React 是今年最受喜爱的 JavaScript 的工程!每个人似乎都在谈论 ReactJS。每一个会议上,去年出席的会议,至少有两个人是在讨论 React。React 是开源的,主要是由 facebook 借助其它公司的主要技术开发出来的。React 描述自己是一个 JavaScript 库,用于构建用户界面。

React 在 MVC 中,主要是 View。它完全专注于 MVC 那部分,无视应用程序的其它部分。它提供了一个成分层,可以更容易使用UI元素,并将它们组合在一起。它抽象了 DOM,使其擅长于优化渲染,并允许使用 node.js 来表述 React ; 它实现了一个单向灵活的数据流,使得它更容易理解和使用其它框架。

作为在 MVC 中的 V,许多工程结合 React 和 AngularJS 或 Ember 一起使用。

什么时候使用 React?当你想要一个强大的 View 层,但应用的其它部分却不需要详尽的框架时,或者当你的应用中想要一个结合 了Angular、Backbone 或 Ember 的视图层时,又或者是创建一个同构的 Web 框架时。

 

Backbone

Backbone 是一个很著名的简单的框架,融入了一个单一的 JavaScript 文件。Backbone 流行了一段时间。由 Jeremy Ashkenas 从CoffeeScript 和 Underscore 框架中开发出来的。对于追寻小型架构的团队来说,Backbone 是特别受欢迎的。因为他们小型的 Web 应用是不需要使用像 AngularJS 和 Ember 这样的大型框架的。

Backbone 提供了一个完整的 MVC 框架和路由。该模型允许键-值绑定和处理数据变化的事件。Models(和 Collections)可以连接到 RESTful API 中。Views 可以声明事件处理,而路由器则可以非常出色地处理 URL 和状态管理。在建立一个不提供太多功能和非必要复杂功能的单页面应用时,能提供你所需的所有功能。

什么时候使用 Backbone?Backbone 是适用于简单 Web 应用的 GOTO 框架。

 

Ember

Ember 是一个独立的 Web 应用程序框架,专注于编码效率。Ember 是比较受欢迎的,核心团队包括牛人 Yehuda Katz,他是 Ruby on Rails 和 jQuery 的核心团队之一。Ember 描述自己为一个不浪费你的时间,能用于创建伟大 Web 应用程序的框架。 这是非常有主见,这也使你有了很多选择。

Ember 也是一个 MVC 框架。它包括一个模板和视图引擎,保证了数据变化时的自动更新,就像 AngularJS,Backbone 和 React 一样。它包括的概念 web 组件,让你用自己的标签来扩展 HTML(就像 AngularJS)。它也有一个路由和模型引擎,能够和 RESTful API 协同工作。

什么时候使用 Ember?如果你只是想要一个能够工作的框架时、或者你的预算紧张、又或者最后期限将近时,不追求太多的灵活性,可以使用 Ember。

 

JQuery

jQuery 是一个不需要过多介绍的框架。它凭一己之力使得跨浏览器站点成为现实并促使 Web 发展到今天。Web 标准被大多数主要浏览器厂商所采纳真正的尊重,jQuery 是其原因之一。jQuery 的基金会的使命是“通过开发和支持开源软件,提高开放的网络,使之为所有人开放,并与开发社区合作。”

jQuery 是世界上最常用的 JavaScript 库,没有应用程序不去使用它,除非不在乎编码效率。它使得在所有浏览器中,DOM traversal、事件处理、动画、AJAX 是如此的简单和容易。

什么时候使用 jQuery?除你想使用像 Zepto 这样的轻量级版本之外,都可以使用 jQuery。

 

Wijmo

Wijmo Enterprise 是为企业应用程序开发而推出的一系列包含 HTML5 和 JavaScript 的开发控件集。包含有先进的 JavaScript 控件、经典的 jQuery 小部件、金融图标、以及 FlexSheet 和 OLAP,能够满足移动端、PC 端和支持 IE6 等应用程序的需求。同时,Wijmo 还支持其它流行的框架,如 Angular、Angular2、KnockOut、Vue、React 等。

什么时候使用 Wijmo?当你想为应用程序构建具有良好用户体验的用户界面时。

 

Underscore&lodash

对于程序开发者来说,一些 JavaScript 的内置,效率是不够高的。总有缺少实用的功能或将代码化简的函数。Underscore(和 lodash)是一个 JavaScript 库,提供了实用功能,同时不需要 JavaScript 对象内置的猴子补丁。这两个库提供超过 100 个帮助函数和其它特别好用的功能;,包括像地图,过滤器,调用,缩减,模板,调节,绑定,扩展,挑选,克隆和更多的功能。

什么时候使用 Underscore?当你需要一个单一 JavaScript 文件来提高编码效率时。

什么时候使用 lodash?当你需要一个模块和轻量高效的,容易被 AMD 和社区插件支持 Underscore 版本时。

 

D3.js

数据可视化和图表是 Web 应用程序的常见需求。当涉及到任何数据操作和可视化,D3.js 是事实上的标准。它是在 GitHub 上最受欢迎的项目之一,并在被数百个组织使用。大量的图形,图表和可视库建立在 D3 上。

D3 允许操作任何数据源的文件,并且可以转换为 DOM、SVG 或 CSS。D3 专注于现代网络标准,并确保像 Flash 或 Silverlight 等专有格式的免费。

什么时候使用 D3.JS?当你需要任何形式的可视化时。

 

Babylon.js

想要创建一个完全运行在现代 Web 标准和跨浏览器上的视频游戏?可以考虑 Babylon.js,Babylon.js 是一个建立在 WebGL 和 JavaScript 上的 3D 游戏引擎。你可以创建一个难以置信的高质量的游戏引擎,包括物理,音频和粒子系统。

什么时候使用 Babylon.js?当你正在构建一个包含任何复杂 3D 场景的视频游戏时。

 

three.js

想要创建一个 3D 可视化,却又不需要完整的游戏引擎?Three.js 提供了一个轻量的 3D 库来将 3D 渲染成一个 HTML5 canvas、SVG 和 WebGL。这确实是一个明确的库,在 Three.js 的用例展示中,有几百个效果很好的例子。

什么时候使用 three.js?每当你需要一个简单的三维可视化,可以输出到画布上时。

 

Mocha & Chai

在很长一段时间里,JavaScript 的测试令人难以置信的烦恼。从头开始,测试任何代码通常被视为令人讨厌的,但它是每一个开发者应该做的。同时,测试他们的代码,每个开发者似乎总是很不屑,而选择忽略它。有一个办法来改善这个问题,就是使用 Mocha & Chai 的形式。虽然这两个库从美味的热饮中得名的,但是它们都可以以不同的方式测试你的代码。

Mocha 是一个 JavaScript 测试框架,可以很轻松地在 node 模型和浏览器应用程序中测试异步代码。Mocha 测试可以串联运行,并且对于正确的测试用例具有高质量的跟踪异常。

Chai 是一个行为驱动的开发/测试驱动开发断言库,可以与 Mocha 配套使用。它使得可以很容易的以一种可读的方式去表达你的测试内容。

什么时候使用 Mocha 和Chai? 永远都可以!请测试你的代码,使世界变得更美好。

 

Karma

这个列表上包含了 Mocha 和 Chai,如果不包含运行这些测试和设定持续集成测试的运行者,那么这将是不完整的。Karma 是一个旨在帮助针对不同的浏览器自动运行测试的工具。这将帮助你在所有的浏览器上运行 Mocha 和 Chai。

并不是每一个浏览器都可以在每个平台上运行,幸运的是,有一些免费的工具,你可以用来测试其他浏览器, 例如浏览器截图。如果你在 OS X 上运行,并希望测试 Edge 或 Internet Explorer,您可以使用这种免费工具。

什么时候使用 Karma?当你的应用程序有一个完整的测试套件,并想要确保在所有的浏览器上测试通过时。

 

PhantomJS

运行全功能浏览器,以测试你的代码内存和 CPU 密集型。PhantomJS 允许你在 Safari 和 Chrome 上运行 headless WebKit 的渲染引擎。这样你就可以运行你的测试,捕捉屏幕截图,监视网络,使用 JavaScript API 自动浏览页面。

什么时候使用 PhantomJS? 当你需要做更多的测试,操作页面并监视网络请求时。

 

Grunt & Gulp

产品网站建设通常会涉及到一些提高性能的任务,例如缩小 JavaScript 和 CSS,CoffeeScript/TypeScript 的编译,单元测试,性能 lintin。也许你已经为产品网站准备好了工具链,但是如果还没有,那么你可以使用 Grunt 和 Gulp 这样的工具。这两个工具都有很多插件,来帮助你完善产品网站。

什么时候使用 Grunt?如果你喜欢写配置文件,并且不介意任务运行期间产生中间文件时。

什么时候使用 Gulp?如果对比于写配置文件,你更喜欢写代码,并且想要使用 node.js 的流媒体功能来更快的执行任务时。

 

Babel

JavaScript 作为一门语言,发展地很快。2015年夏天的 ECMAScript 发布了它的许多在最新的浏览器中实现的新功能。如果你想看看2015年的 ECMAScript 兼容,你可以看看来自原 @kangax 的列表。你会发现最新版本的 Edge,Firefox 和 Chrome,具有近乎完全的兼容性。

我们不是生活在一个完美的世界。作为开发人员,我们需要继续支持那些没有最新 JavaScript 特性的旧版浏览器。我们要推进网络并提高我们的代码库。Babel 是一个 JavaScript 编译器,可以将最新的 JavaScript 标准编译成 ES5 兼容的 JavaScript,这样就允许在像 IE9 这样较老的浏览器上运行。它有一些插件,使得很容易的使用 React 去开发,甚至使用一些规格之外的特性去开发。

什么时候使用 Babel?当你要使用新的 JavaScript 语言特性,同时继续支持旧版浏览器时。

 

更多的Web开发实践

本文来自于 JavaScript 学习文章中微软技术布道者和工程师的系列文章之一,同时最好的文章里也包含微软的 Edge 浏览器和新的 EdgeHTML 渲染引擎。

我们鼓励大家测试跨浏览器和设备,例如微软的 Edge(Windows10 默认的浏览器)

从工程师和布道者那里更深度的学习

开源社区项目:

  • vorlon.JS (cross-device remote JavaScript testing)
  • manifoldJS (deploy cross-platform hosted web apps)
  • babylonJS (3D graphics made easy)

更多免费工具和后端Web开发

文章来源:by Rami Sayar

原文链接:http://www.codeproject.com/Articles/1066408/Top-JavaScript-Frameworks-Libraries-Tools-and-Wh

 

相关阅读:

开放才能进步!Angular和Wijmo一起走过的日子

Angular vs React 最全面深入对比

Wijmo已率先支持Angular4 & TypeScript 2.2

 

时间: 2024-09-15 18:45:19

顶级的JavaScript框架、库、工具及其使用的相关文章

九个用于移动APP开发的顶级JavaScript框架

从技术上讲,iOS.Android和Windows Phone上的移动app使用了不同的编程语言进行编码.iOS app使用Objective-C,Android app使用Java,而Windows Phone app使用.NET.但是,掌握一定量的JavaScript.CSS和HTML知识,你就可以构建超棒的移动app.因此,在本博客中,我们将讨论用于开发移动app的顶级JavaScript框架. 对于Web开发而言,JavaScript是一个有前途的编程语言,并且在不久的将来它将依然在这个

2016年非常热门的七大顶级JavaScript框架

当涉及到Web开发时,JavaScript框架往往是一些开发人员和企业最受欢迎的平台.可能,你有机会尝试过一两个顶级的JavaScript框架,但你仍然有点不确定哪个才是最佳的最值得掌握的,或者哪个值得你建议你的开发人员选择用于下一个web开发项目. JavaScript正在以惊人的速度前进,并且添加新的技能到你的存储库变得有不断的压力.为了做到这一点,知道和了解更多的顶级JavaScript框架在现在看来是必要的.在ValueCoders进行了彻底的研究后,我们入围了其中七个顶级框架,它们是:

JavaScript框架、类库、工具汇总

相比于JavaScript开发人员的数量,目前JavaScript框架.类库和工具的数量似乎更多一些.截至2017年5月,GitHub上的快速搜索显示,有超过110万个JavaScript项目.npmjs.org有50万个可用的软件包,每月下载量近100亿次. 本文将会讨论目前最为流行的客户端JavaScript框架.类库和工具以及它们之间的基本差异.也许本文无法告诉你哪个是最好的,但是最适合自己项目的,就是最好的. 类库 类库是一个有组织的功能集合.典型的类库包括字符串处理.日期.HTML D

推荐用于移动APP开发的顶级JavaScript框架

从技术上讲,iOS.Android和Windows Phone上的移动app使用了不同的编程语言进行编码.iOS app使用Objective-C,Android app使用Java,而Windows Phone app使用.NET.但是,掌握一定量的JavaScript.CSS和HTML知识,你就可以构建超棒的移动app.因此,在本博客中,我们将讨论用于开发移动app的顶级JavaScript框架. 对于Web开发而言,JavaScript是一个有前途的编程语言,并且在不久的将来它将依然在这个

新手教程:您必须了解的15套JavaScript框架与库

[51CTO.com快译]JavaScript拥有着庞大的技术社区,而如此可观的技术支持基础亦帮助其进一步在受众群体中吸引人气.值得强调的是,目前面向开发者的大部分框架及库属于开源项目,这意味着相关开发人员能够轻松运用这些资源以高效完成日常工作.因此,无论您身为JavaScript新手抑或经验丰富的前辈高人,充分利用这些方案的既有优势都将显著提升您的开发效率与效果. 在今天的文章中,我们将介绍15款最为重要的JavaScript框架与库--您千万不要错过. 1. Angular.js Angul

javascript的库和框架分别指什么,有什么区别

问题描述 javascript的库和框架分别指什么,有什么区别 如题,javascript的库和框架分别指什么,有什么区别,请大神具体阐述 解决方案 jquery就是一个库,angularjs就是一个框架. 库的功能就是提供函数的封装.框架是抽象的软件结构. 解决方案二: 我这样理解,类库是为了实现某一个功能,可以理解为一个控件. 框架是提供了一整套组件,不过要遵守他的规则. 解决方案三: 框架也算是库的一种,但倾向于重量级一些,倾向于提供整套的解决方案,倾向于创造一些需要你来遵守的规则和范例.

13个可实现超棒数据可视化效果的Javascript框架

随着商业及其相关需求的发展,数据成为越来越重要的元素之一,为了更加直观和明显的展示商业潜在的趋势和内在的特性,我们需要使用图表和图形的方式来直观动态的展示数据内在秘密,在今天的这篇文章中我们推荐12款最棒的数据可视化的Javascript框架,希望能够帮助大家在项目中更好的实现数据可视化效果. ECharts 提起ECharts,经常使用开源软件的朋友应该很熟悉,当然,如果你不知道也没关系.但是你肯定知道去年春节以及近期央视大规划报道的百度大数据产品,如百度迁徙.百度司南.百度大数据预测等等,这

WEBJX推荐10个带有漂亮UI组件的JavaScript框架

文章简介:十个拥有丰富 UI 组件的 JavaScript 开发框架. 如今,网上有各种各样的JavaScript框架用来简化 Web 应用开发.这些框架都提供了一些核心的特性,例如 DOM 操作,动画,事件处理以及 Ajax 交互,但不是都带有 UI 组件.今天这篇文章向大家推荐的10个JavaScript框架提供了丰富的 Web UI 组件,帮助你构建一致,可靠以及高度交互的漂亮用户界面. ExtJS ExtJS 是最流行的 JavaScript 框架之一,提供了非常丰富的 UI 组件,包括

什么是JavaScript框架

摘要:现代网站和web应用程序趋向于依赖客户端的大量的javascript来提供丰富的交互.特别是通过不刷新页面的异步请求来返回数据或从服务器端的脚本(或数据系统)中得到响应.在这篇文章中,你将会了解到javascript框架如何更快.更方便的创建互动性强.响应快得网站和web应用程序. 导言:JavaScript是一种面向对象的脚本语言,一直以来用作Web浏览器应用程序客户端脚本接口的选择.JavaScript允许Web开发人员编程与网页上的对象的工作,为凭空操作这些对象提供了一个平台.当Ja