原文http://web.jobbole.com/84644/
作者伯乐在线 - cucr
AngularJS
Angular 是流行的企业级框架,许多开发人员都在使用它来构建 和维护复杂的 web 应用程序。Angular 的人气非常高,包括 Domino’s Pizza, Ryanair, iTunes Connect, PayPal Checkout, 谷歌等企业都在使用它。Angular 是一个由谷歌支持的开源框架。Angular 自称是 HTML 的一个扩展,用来构建复杂的 web 应用程序。另外如果你熟悉 TypeScript, Angular 2就是用它构建的。
这个作者的更多文章
Angular 是一个 MVC 类型的框架。它提供了模型和视图之间的双向数据绑定。该数据绑定允许每当数据改变时,两边自动更新。 它使你能够构建可复用的视图组件。它提供了一个服务框架,使得后端-前端服务通信更容易。最后,它只是普通的 JavaScript。
何时使用 AngularJS?当你正在构建一个复杂的 web 前端应用程序,同时需要一个模块化的框架来处理一切时。
GitHub: https://github.com/angular/angular.js
当前版本: 1.4.7/1.2.29
网址: angularjs.org
React
React 是今年最受欢迎的 JavaScript 项目!每个人都似乎在谈论 ReactJS。去年我参加的每一个会议,至少有好几个议题是关于 React 和同家族的其他库(Flux, Redux)的。React 是开源软件,主要由 Facebook 开发,其他大型科技公司也有贡献。React 自称是一个用于构建用户界面的 JavaScript 库。
React 主要是 MVC 中的 V。它的重点完全在 MVC 的 V 部分,忽视应用程序架构的其余部分。它提供了一个组件层,使得创建 UI 元素,组合元素变得更容易。它使用虚拟 DOM,因此优化了渲染,且允许从 node.js 渲染 React。此外,它实现了单向响应的数据流,因此比其他框架更容易理解和使用。
作为 MVC 中的 V,很多项目将 React 结合 Angular 或 Ember 这样的框架使用。
何时使用 React?当你想要一个强大的视图层,但不需要在应用程序的其余部分使用一个复杂的框架,或者你在 Angular、Backbone 或 Ember 应用上需要一个视图层时。当你正试图建立一个同构 web 框架时。
GitHub: https://github.com/facebook/react
当前版本: v0.14.0
网址: Facebook.github.io/react/
Backbone
Backbone 是一个著名的简易框架,适合单个 JavaScript 文件。Backbone 已经存在有一段时间了,是以 CoffeeScript 和 Underscore 闻名的 Jeremy Ashkenas 所开发的。对于一些为小型 web 应用寻找一个结构简单的框架,而不想引入如 Angular 或 Ember 这些大型框架的团队,Backbone 特别受欢迎。
Backbone 提供一个完整的 MVC 框架以及路由。模型允许键-值绑定和数据变化的事件处理。模型(和集合)可以连接到RESTful API。视图具有声明式事件处理,路由在处理 URL 和状态管理上做的很出色。它包含你创建一个单页面应用程序所需要的一切,且没有提供太多东西,没有不必要的复杂度。
何时使用 Backbone?Backbone 是我创建简单 web 应用程序的首选框架。
GitHub: https://github.com/jashkenas/backbone/
当前版本: 1.2.3
网站: backbonejs.org
Ember
Ember 是一个固执的 web 应用程序框架,关注程序员的工作效率。Ember 比较流行,它的核心团队包括像曾是 Ruby on Rails 和 jQuery 核心团队成员的 Yehuda Katz 的聪明人。Ember 自称是“一个用于创建大规模 web 应用程序的框架”,且不浪费你的时间。它很固执,为你提供了很多选择。
Ember 也是一个 MVC 框架。它包括一个模板和视图引擎,当数据变化时自动更新,就像 Angular,Backbone 和 React 一样。它包含 web组件 的思想,让你使用自己标签扩展 HTML(就像 Angular 一样)。它也有一个知道如何与你的 RESTful API 一起工作的路由和模型引擎。
何时使用 Ember?当你只需要一个可以运行的框架时。当你因为预算紧张或工期很短而不需要灵活性时,请使用 Ember。
GitHub: https://github.com/emberjs/ember.js
当前版本: 2.1.0
网站: emberjs.com
jQuery
jQuery 是一个无需介绍的库。它凭一己之力让跨浏览器网站使用成为现实,同时把 web 带到今天的位置。Web 标准已经被大多数浏览器制造商采纳并真正地尊重,jQuery 是其中的原因之一。jQuery 基金会的使命是“通过开源软件的开发和支持,以及开发社区的合作,改善开放的 web,让每一个人都可以访问它。”
jQuery 是世界上最常用的 JavaScript 库,所有应用程序都应该使用它,除非你不在意程序员的工作效率。它使得 DOM 遍历、事件处理、动画、AJAX 在所有浏览器上变得更简单、更容易。
何时使用 jQuery?一直使用,除非你想使用一个像 Zepto 的轻量级版本。
GitHub: https://github.com/jquery/jquery
当前版本: v1.11.3 or v2.1.4
网站: jquery.com
Underscore &lodash
有时候 JavaScript 内置的功能导致程序员的效率并不高。总是缺少一个工具函数或一个可以简化代码的函数。Underscore(和 lodash)是一个 JavaScript 库,它提供了一整套工具函数,不需要对内置 JavaScript 对象打补丁。两个库均提供超过 100 个功能助手和其他专用功能,包括 map,filter,invoke,reduce,template, throttle, bind, extend, pick, clone 等更多的函数。
何时使用 Underscore?当你需要一个单独的 JavaScript 文件,来立即提升程序员的工作效率时。
Underscore GitHub: https://github.com/jashkenas/underscore
Underscore 当前版本: 1.8.3
Underscore 网站: underscorejs.org
何时使用 lodash?当你需要模块化和性能稍强版本的 Underscore,同时更容易地支持 AMD 和社区插件时。
LodashGitHub: https://github.com/lodash/lodash
Lodash 当前版本: v3.10.1
Lodash 网站: lodash.com
D3.js
数据可视化和图表是一种常见的 web 应用程序需求。D3.js 是任何数据操作和可视化的事实标准。它是 GitHub上最受欢迎的项目之一,被数以百计的组织使用。大量的图形,图表和可视化库在 D3 上构建。
D3 允许你操作任何来源的数据文档,转换成 DOM 或/和 SVG 或/和 CSS。D3 关注现代 web 标准,确保你不受任何专有格式的约束,比如 Flash 和 Silverlight。
何时使用 D3.js?在你需要任何形式的可视化的时候。
GitHub: https://github.com/mbostock/d3
当前版本: 3.5.6
网站: d3js.org
Babylon.js
想要构建完全符合现代 web 标准且跨浏览器的视频游戏吗?看看 Babylon.js,它是基于 WebGL 和 JavaScript 的 3d 游戏引擎。你可以创建令人难以置信的包含物理、音频和粒子系统等等的高质量游戏。
何时使用 Babylon.js?无论何时,只要你想做一个视频游戏或任何类型的复杂三维场景,都能用上。
GitHub: https://github.com/BabylonJS/Babylon.js
当前版本: 2.2
网站: babylonjs.com
Three.js
想要构建一个 3D 可视化场景,但不需要一个完整的游戏引擎?three.js 提供了一个轻量级的 3d 库,允许渲染 3d 为 HTML5 画布、SVG 和 WebGL。它是相当简单的库,在 three.js 的展示里有数百个优美的例子。
何时使用Three.js?当你需要一个能输出为 Canvas 的简单的 3D 可视化场景时。
GitHub: https://github.com/mrdoob/three.js/
当前版本: r73
网站: threejs.org
Mocha& Chai
JavaScript 在很长一段时间内是非常烦人的。测试任何代码通常都被认为是恼人的,但它却是每个开发人员都应该做的事情。每个开发人员似乎总是蔑视和忽略它,而不测试他 们的代码。这个恼人的东西有一个解决办法,那就是 Mocha 和 Chai。两个库的名字都来自美味的热饮料,它们都能帮你测试代码,但方式不同。
Mocha 是一个 JavaScript 测试框架,使得你在 node 模块和浏览器 app 中测试异步代码变得更容易。Mocha 测试可以串联运行,可以为正确的测试用例添加异常跟踪的能力。
Chai 是一个行为驱动开发/测试驱动开发的断言库,可以搭配 Mocha 使用。它可以把你需要测试的东西用可读的风格简单地表达出来。
何时使用 Mocha & Chai?总是!请测试你的代码,让世界变得更美好。
Mocha 当前版本: 2.3.3
Mocha 网址: mochajs.org
Chai GitHub: https://github.com/chaijs/chai
Chai 当前版本: v3.4.1
Chai 网址: chaijs.com
Karma
既然已经把 Mocha 和 Chai 包含在这个列表中了,如果不包含用来运行这些测试或设置持续集成测试的测试运行器,那将是不完整的。Karma 是一款旨在帮助你在不同的浏览器上自动运行测试的工具。它可以帮助你在所有浏览器上运行 Mocha 和 Chai 测试。
不是每个浏览器都运行在所有平台,但幸运的是可以使用一些免费工具来测试其他浏览器,看看 Browser Screenshots。如果你正在 OS X 上运行代码,想测试 Edge 或 IE,可以 免费 使用这个工具。
何时使用 Karma?当你的应用程序有一个完善的测试套件,并希望确保测试在所有浏览器上通过时。
GitHub: https://github.com/karma-runner/karma
当前版本: v0.13
网址: karma-runner.github.io
PhantomJS
运行完整的浏览器来测试你的代码比较耗内存和 CPU。PhantomJS 允许你运行一个轻量的 WebKit —— Safari 和Chrome(现在是 Blink)后台的渲染引擎。它允许你通过 JavaScript API 运行测试,捕捉截图,监控网络和自动浏览页面。
何时使用 PhantomJS ?当你需要进行更多的测试,操作页面和监视网络请求时。
GitHub: https://github.com/ariya/phantomjs
当前版本: v2.0
网址: phantomjs.org
Grunt & Gulp
为生产环境构建网站,通常涉及到提高性能的任务,比 如 JavaScript 和 CSS 的压缩, CoffeeScript/TypeScript 的编译,单元测试,语法检查。也许你已经有一个为网站发布到生产环境的工具链,如果没有,你可以使用任务运行器,比如 Grunt 或Gulp。两者都有大量关于网站的任何转换的插件,为发布到生产环境做好准备。
何时使用 Grunt?当你喜欢写配置文件同时不介意你的任务运行器生成中间文件时。
Grunt GitHub: https://github.com/gruntjs/grunt
Grunt 当前版本: v0.4.5
Grunt 网址: gruntjs.com
何时使用 Gulp?当你喜欢在配置上写代码和利用 node.js 的流功能来加快任务执行时。
Gulp GitHub: https://github.com/gulpjs/gulp
Gulp 当前版本: v3.9.0
Gulp 网址: gulpjs.com
Babel
JavaScript 语言正在迅速发展。ECMAScript2015 于去年夏天发布,它的许多新特性在最新的浏览器上实现了。如果你想看看 ECMAScript 2015 的兼容性,你可以看看来自 @kangax 的这个 表。你会注意到,最新版本的 Edge,Firefox 和 Chrome 已经几乎完全兼容了。
我们并不是生活在一个完美的世界。作为开发人员,我们需要继续支持旧的浏览 器,它们没有最新最好的 JavaScript 特性。我们要推进 web 和改善我们的代码库。Babel 是一个 JavaScript 编译器,用于把最新的 JavaScript 标准编译成可在 IE9 等老浏览器上运行的兼容ES5的 JavaScript。它有一些插件,使得 React 开发更容易,甚至可以使用一些不属于该规范的特性(例如ES7)。
何时使用 Babel?当你想使用新的 JavaScript 语言特性,同时还要支持老版本浏览器时。
GitHub: https://github.com/babel/babel
当前版本: 6.1.2
网址: babeljs.io
相关推荐
前端框架是为了简化网页开发,提高效率,提供统一的代码结构和最佳实践,而jQuery则是一个广泛使用的JavaScript库,它使得JavaScript编程变得更加简单,尤其在DOM操作、事件处理和动画效果方面。 首先,让我们来...
在IT行业中,前端框架是构建Web应用程序的关键工具,它们提供了标准化的方法来组织代码,提高开发效率,同时确保应用具有良好的可维护性和用户体验。本资料包“整理的前端框架”聚焦于这一主题,旨在帮助开发者更好...
在Web开发领域,前端框架是构建交互式和高性能网站的关键工具。这些框架为开发者提供了便捷的工具集,促进了代码的组织、重用和优化。本文将深入探讨几个主流的Web前端框架,以及它们的特点和用途。 一、React.js ...
在IT行业中,前端框架是构建Web应用程序的重要工具,它们提供了结构化的方法来组织代码,提高开发效率,并确保项目的可维护性和可扩展性。本手册主要关注前端框架、模板及其相关知识,旨在帮助开发者更好地理解和...
淘宝开源的前端UI框架,名为Kissy,是一个强大的JavaScript库,专为构建现代Web应用程序而设计。这个框架具有模块化、跨终端、高扩展性和组件齐全的特点,使其在前端开发领域具有广泛的应用潜力。 模块化是Kissy的...
本压缩包“前端框架和插件文件.zip”收集了几个常用的前端工具,如Bootstrap.js、Vue.js、vue-element.js、vue-viewui以及vue-router,这些都是前端开发者日常工作中频繁使用的框架和组件库。 首先,Bootstrap.js是...
在现代Web开发中,前端框架扮演着至关重要的角色,它们为开发者提供了丰富的工具和组件,大大提升了开发效率和用户体验。本资源"Web前端框架模板(包括各类控件及展示图表)"是一个集成了多种控件和图表展示的HTML...
在IT行业中,前端框架是构建交互式Web应用的关键工具,它们极大地提高了开发效率,提供了统一的结构和设计模式。这份名为“前端框架网址大全”的资源集合,无疑为前端开发者提供了一个宝贵的导航平台,免去了他们在...
总的来说,Web前端知识框架是一个庞大且不断演进的体系,涵盖了许多技术、工具和最佳实践。持续学习和实践,是成为一名优秀前端开发者的必经之路。通过深入理解并熟练运用这个框架中的各项技能,你可以创建出功能...
"BeyondAdmin前端框架"是一个专为构建现代Web应用而设计的UI工具包,它提供了丰富的组件和布局选项,便于开发者快速构建美观且响应式的界面。这个框架的核心在于其源码,通过对源码的学习和理解,开发者可以深入掌握...
这个框架深受开发者喜爱,因为它提供了丰富的工具和最佳实践,使得构建复杂的前端应用变得更加简单。下面将详细介绍JavaScript EST框架的主要特点和关键知识点。 1. **模块化**:EST框架采用模块化设计,允许开发者...
Java前端框架是用于构建用户界面和交互的工具,它结合了JavaScript、CSS和HTML这三种核心技术,以提高开发效率和优化用户体验。在本主题中,我们将深入探讨基于这些技术的前端框架源码,特别是如何通过JSON数据格式...
前端框架通常由HTML、CSS和JavaScript库或工具组成,它们简化了页面布局、样式设计和交互逻辑的开发过程。例如,React、Angular和Vue.js是当前最流行的前端框架,它们各自都有独特的特性和优势。 "ItsBrain"作为一...
JavaScript开发框架是现代Web开发中的核心工具,它们提供了一套完整的工具集和约定,帮助开发者遵循最佳实践。在这个案例中,我们关注的是JavaScript开发中的框架部分,特别是那些专注于前端的解决方案。jQuery和...
除了框架本身外,JavaScript开发者还会利用诸如AJAX(Asynchronous JavaScript and XML)这样的技术来进行异步数据处理,以及各种库和工具来增强功能性和性能。 #### 三、流行框架介绍 ##### 1. AngularJS ...
【前端框架模板】是现代Web开发中不可或缺的一部分,它为开发者提供了一套完整的结构和工具,使得构建交互式、响应式的网页应用变得更加高效和便捷。前端框架的主要目标是简化页面布局、组件化代码、处理用户交互...
Ace 前端框架是一款专为后台开发人员设计的强大工具,它填补了开发者在前端技能上的空白,使得那些专注于后端技术的工程师也能轻松应对前端开发任务。Ace 框架以其高效、易用和丰富的功能特性,成为了许多开发团队的...
内容概要:本文档是一份全面介绍JavaScript语言的教程,从基础语法讲起,深入探讨了函数和闭包、对象和原型、DOM操作、事件处理、AJAX和Fetch API等内容,最后涵盖了ES6+的新特性和流行的前端框架(如React、Vue、...
前端框架和库如React、Vue、Angular等,极大地推动了JavaScript的发展。这些框架引入了虚拟DOM、组件化和状态管理等概念,大大提升了开发效率。即使不立即深入学习,也应了解其基本原理和使用场景。 最后,性能优化...
8. **前端框架和库**:React、Vue、Angular是目前最流行的前端框架,它们提供了组件化开发、虚拟DOM、状态管理等高级功能,极大地提高了开发效率。 9. **CSS操作**:JavaScript也可以操作CSS样式,例如改变元素的...