马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 不二如是 于 2017-4-9 11:31 编辑
推荐阅读:
JavaScript是未来编程语言界的王者?
HTML5 - 庖丁解牛
JavaScript - 庖丁解牛
第零篇 - 七招教你玩通Markdown! | 【撩妹、涨薪、装X神器】
小甲鱼Github教程
当今的市场需要快速开发,但是,重复造轮子是没有必要的。
不论你是一个 JavaScript 新手还是一个资深的 JavaScript 开发者。
使用框架和库都能极大提高你的工作效率!
JavaScript 是 web 开发中的通用语言。
它之所以快速发展不仅仅是因为它所提供的内容,更多的是因为它的庞大的开源社区的支持。
以上提到的框架和库对任何一个 JavaScript 开发者来说都是必须知道的。
它们都提供了一些途径来探索 JavaScript 和前端开发。
1. Angular.js
Angular.js[是目前最热门的 JavaScript 框架之一。
它用于开发者构建复杂的 web 应用。
Angular.js 背后的思想是它的单页应用 model。
同时它 也支持 MVC 架构。
在 Angular.js 中 ,开发者可以在前端中使用 JavaScript 代码,并从字面上扩展 HTML 词汇。
Angular.js 自 2009 年出现以来已经有了很大的改进。
Angular 1 当前的稳定版本是 1.5.8/1.2.30 。
你也可以试一试 Angular 2 ,相对于 Angular 1 来说它有了重大的改进。
但这个新版本仍未在全球范围内被普遍使用。
在 Angular.js 中,数据绑定是完成工作的一个重要概念。
在用户与接口的交互中,当交互完成,view 就会自动更新,随即新值与 model 交互以确保一切都是同步的。
底层的逻辑在 model 中执行完成后,DOM 也会随即更新。
GitHub: https://github.com/angular/angular.js
网址: angularjs.org
2. Backbone.js
复杂 web 应用并不适用于所有场景。
一些较简单的 web 应用框架例如 Backbone.js,就非常适合学习 web app 开发。
Backbone.js 是一个简单的框架,可以快速方便地构建简单的 web 应用和 Angular.js 一样,Backbone.js 也支持 MVC 。
Backbone.js 还有一些其它关键特性如路由,RESTful API 支持,适当的状态管理等等。
你甚至还可以用 Backbone.js 来构建单页应用。
当前的稳定版本是 1.3.3,可以在 GitHub 中找到。
GitHub: https://github.com/jashkenas/backbone/
网站: backbonejs.org
3. D3.js
D3.js是一个优秀的 JavaScript 库,它允许开发者创建具有数据处理功能的富 web 页面。
D3.js 使用 SVG、HTML 和 CSS 来实现这一切功能。
使用 D3.js ,你可以更轻松地将数据绑定到 DOM 及启用数据驱动事件。
使用 D3.js ,你还可以创建高质量的数据驱动的 web 页面来提供一个更易于理解的视觉效果来呈现数据。
何时使用 D3.js?
在你需要任何形式的可视化的时候。
GitHub: https://github.com/mbostock/d3
网站: d3js.org
4. React.js
React.js是一个使用起来很有趣的 JavaScript 框架。
和其它的 JavaScript 框架不同,React.js 志在构建一个高可扩展的前端用户界面。
React.js 出现于 2013 年,它采用了 BSD 开源协议。
它因其能够开发复杂且漂亮的用户界面所带来的优势而迅速发展壮大。
React.js 背后的核心思想是虚拟 DOM 。
虚拟 DOM 在客户端和服务端之间扮演着一个中间人的角色并带来了显著的性能提升。
虚拟 DOM 的改变和服务器端 DOM 一样,只需要更新所需的元素。
相对于传统的 UI 渲染来说极大提升了渲染速度。
你还可以使用 Recat 来实现 meterial 风格的设计,使你能够开发具有无与伦比的性能的 web 应用。
GitHub: https://github.com/facebook/react
网址: Facebook.github.io/react/
5. jQuery
jQuery[11] 是一个非常流行的 JavaScript 库,它拥有众多特性例如事件处理、动画等。
当你在做一个 web 项目的时候,你不会想要把时间浪费在为一些简单的功能写代码上。
jQuery 为减少你的工作量提供了一些易于使用的 API 。
这些 API 在所有的常见的浏览器中都能够使用。
使用 jQuery, 你可以无缝地控制 DOM 以及 Ajax 这样在近几年来拥有大量需求的任务。
使用 jQuery,开发者不必担心一些低级的交互。
同时可以使他们的 web 应用的开发更加容易与迅速。
jQuery 同时便于分离 HTML 和 JavaScript 代码,使开发者能够编写简洁而跨浏览器兼容的代码。
并且使用 jQuery 创建的 web 应用在将来也易于改善和扩展。
GitHub: https://github.com/jquery/jquery
网站: jquery.com
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 还有非常优秀的社区。
GitHub: https://github.com/emberjs/ember.js
网站: emberjs.com
7. Polymer.js
如果你曾想过创建你自己的 HTML5 元素,那么你可以使用 Polymer.js[13] 来做这些事。
Polymer 主要集中于通过给 web 开发者提供创建自己的标签的功能来提供扩展功能。
例如,你可以创建一个和 HTML5 中的 <video> 类似的具有自己的功能的 <my_video> 元素。
Polymer 在 2013 年被 Google 引入并以 三句版 BSD协议发布。
GitHub: https://github.com/Polymer
网站: https://www.polymer-project.org
8. Three.js
Three.js又是另一个 JavaScript 库,主要用于 3D 效果开发。
如果你在做游戏开发的动画效果,那么你可以利用 Three.js 的优势。
Three.js 在底层中使用 WebGL 使 Three.js 可以轻松地被用于在屏幕上渲染 3D 物体。
举一个比较知名的使用 Three.js 的例子就是 HexGLA,这是一个未来派赛车游戏。
GitHub: https://github.com/mrdoob/three.js/
网站: threejs.org
9. PhantomJS
使用 JavaScript 工作就意味着和不同的浏览器打交道。
同时,当提及浏览器的时候,就不得不讨论资源管理。
在 PhantomJS中,由于有 Headless WebKit 的支持,所以你可以随时监测你的 web 应用。
Headless WebKit 是 Chrome 和 Safari 使用的渲染引擎中的一部分。
这整个过程是自动化的,你所需要做的只是使用这个 API 来构建你的 web 应用。
GitHub: https://github.com/ariya/phantomjs
网址: phantomjs.org
10. BabylonJS
BabylonJS 与 Three.js 不相伯仲, 提供了创建平滑而强大的 3D web 应用的 JavaScript API。
它是开源的,且基于 JavaScript 和 WebGL 。
创建一个简单的 3D 物体,比如一个球体是非常简单的,你只需要写短短几行代码。
通过这个库提供的文档,你可以很好地掌握它的内容。
同时 BabylonJS 的主页上也提供了一些优秀的 demo 来当作参考。
在其官网上你可以找到这些 Demo。
GitHub: https://github.com/BabylonJS/Babylon.js
网站: babylonjs.com
11. Boba.js
Web 应用总是有一个共通的需求,那就是分析。
如果你还在苦于将数据的分析与统计插入到 JavaScript 的 web 应用中,那么你可以试一下 Boba.js。
Boba.js 可以帮助你将分析的数据插入到你的 web 应用中并且支持旧的 ga.js 。
你甚至可以把数据指标和 Boba.js 集成在一起,只需要依赖 jQuery 即可。
GitHub: https://github.com/BabylonJS/Babylon.js
网站: babylonjs.com
12. Underscore.js
Underscore.js解决了 “当我面对一个空白 HTML 页面并希望即刻开始工作,我需要什么” 这个问题。
当你刚开始一个项目,你可能会感到失落或者重复一系列你在之前项目中常做的步骤。
为了简化开启一个项目的过程和给你起个头,Underscore.js 这个 JavaScript 库给你提供了一系列的方法。
例如,你可以使用你在之前项目中常用的 Backbone.js 中的 suspender 或者 jQuery 的一些方法。
一些实用的帮助例如 “filter” 和 “invoke the map” 可以给你起个好头,以助于你尽可能快的投入到工作中。
Underscore.js 同时还自带了一个套件来简化你的测试工作。
Underscore GitHub: https://github.com/jashkenas/underscore
Underscore 网站: underscorejs.org
13. Meteor.js
Meteor.js是一个快速构建 JavaScript 应用的框架。
它是开源的且它能够用于构建桌面应用、移动应用和 web 应用。
Meteor.js 是一个全栈的框架同时允许多平台的端到端开发。
你可以使用 Meteor.js 来实现前端和后端功能,同时它也能密切监视应用的性能。
Meteor.js 的社区非常庞大,所以它会有不断的新特性更新或者是 bug 修复。
Meteor.js 也是模块化的,同时它能配合一些其它的优秀的 API 使用。
Meteor Github:Underscore GitHubhttps://github.com/meteor/meteor
Meteor网站:https://www.meteor.com
14. Knockout.js
Knockout.js 在这些库中可能是最被低估的一个。
它是一个基于 MIT 开源协议的开源 JavaScript 框架。
作者是 Steve Sanderson。
它基于 MVVM 模式。
GitHub: https://github.com/knockout/knockout/releases
网站: http://knockoutjs.com
15.Node.js
是一个强有力的 JavaScript 运行时环境。
它可以被用于使用真实世界数据来构建快速且可扩展的应用。
它既不是一个框架也不是一个库,而是一个基于 Google Chrome 的 V8 引擎的运行时环境。
你可以用 Node.js 来创建多元化的 JavaScript 应用,包括单页应用、即时 web 应用等等。
从技术层面上来讲,由于它的事件驱动式架构,所以 Node.js 支持异步 I/O 。
这种做法使得它成为开发高可扩展应用的一个极好的解决方案的选择。
GitHub: https://github.com/mikedeboer/node-github
网站:https://nodejs.org/en/ |