(点击上方公众号,可快速关注)
英文: Paul Krill 译文:oschina
www.oschina.net/translate/the-10-essential-tools-for-javascript-developers
JavaScript,一种所有主流浏览器都支持的语言,是开发基于浏览器的 Web 应用程序的主力,几乎每年都会受到来自众多开发人员的关注。自然地,框架和库的生态系统自然而然地围绕着 JavaScript 而努力,以简化和增强 JavaScript 应用程序的开发。
这些工具提供从事件处理到代码缩减和数据渲染的功能。以下是开发基于浏览器的 Web 应用程序的 JavaScript 开发人员工具包中最必要的技术汇总。
Angular
Angular,之前是由Google开发的被称为AngularJS,是用于移动和桌面Web开发的单框架。为了创建类原生渐进式web应用程序,Angular提供用于汇编应用程序的数据服务的依赖注入,以及用于复合组件的HTML模板。
何处下载Angular?
Angular项目快速入门页面使得开发者可以轻松开始使用Angular。
Angular的功能
2016年9月的Angular第2版的特色是基于TypeScript(Microsoft的JavaScript类型化超集)的重写,以处理在Angular初始版本中架构上存在的性能限制。
现在,开发者都在等待Angular 5,预计到到十月二十三日发布(没有第3版或第4版)。它预期的功能包括:
-
用于在浏览器中缓存应用程序,以加强构建渐进的Web应用程序的便利性。
-
构建优化器,通过删除不必要的代码使应用程序更小。
-
使Material Design组件与服务器端渲染兼容。
Angular 6,预计发布时间比Angualr 5玩晚发布五到六个月,将聚焦于与Angular 5相同的主题:易用性,更小尺寸和性能。Angular本身具有强大的生态系统,在IDE中有四个数据库和支持,如JetBrains IntelliJ Idea。
Aurelia
由聚焦的模块组成的Aurelia是由Blue Spire开发的用于移动、桌面和Web应用程序的客户端框架。它实现了快速渲染和“高效”的内存使用率。
何处下载Aurelia?
你可以从GitHub上下载Aurelia。
Aurelia的功能
Aurelia有处理元数据、依赖注入、绑定、模板和路由的模块。Aurelia集成了Web组件,并提供与对象的双向数据绑定。多数Aurelia代码都是以纯JavaScript编写的。其他功能包括:
-
一个用于构建自定义元素和给元素添加属性的HTML编译器。
-
支持动态加载。
-
用于单元测试的可构建耦合代码的依赖注入容器。
-
提供创建新项目选项的Aurelia CLI,需要安装Node 4或更高版本、NPM 3和Git。
-
与Polymer库的集成,用于构建可重复使用的web组件。
-
在模板引擎中,用于组件继承时支持bindable的继承。
Backbone.js
Backbone.js ,也就是 Backbone ,为重度 JavaScript 应用程序提供了结构体。它具有带有键值绑定和自定义事件的模型,它们是一个支持可枚举函数和声明性事件处理视图的 API 的集合。
何处下载 Backbone.js ?
你可以从 Backbone 项目网站下载开发版本和产品发布版本。
Backbone.js 的功能
Backbone.js 中的数据是使用可以创建、校验、销毁并保存到服务器的模型表示的。这些模型通过 RESTful JSON 接口连接到应用程序。使用 Backbone.js 时,当 UI 操作提示要更改模型的属性时,该模型会触发更改事件。显示模型状态的视图会收到此更改的通知并重新渲染他们。
Ember.js
Ember.js 是一个强调开箱即用的高效率的框架。它具有集成的模板,被称为句柄条,旨在减少代码编写量; 在数据改变时,这些模板会自动更新。
从哪里获取 Ember.js
可以在 NPM 中输入 npm install -g ember-cli@2.15 来安装 Ember.js 。
Ember.js 的功能
Ember.js 的功能包括:
-
专注于简化开发的 API 。
-
专注于让开发者使应用程序特例化的通用风格。
Ember.js 3.0 稳定版会在2018年1月1日发布测试版之后的2月12日发布。在 2.x 版本中不推荐使用的 API ,依然是支持的,这些 API 将在 Ember.js 3.x 中被清除。 一个 add-on 应将支持在 3.x 代码行中的 Ember.js 2x API 。
Ext JS
与其他知名的 JavaScript 框架不同,Sencha 的 Ext JS 并不是开源的; 它是一种商业产品。它用于构建面向企业的数据密集型跨平台 Web 应用程序,需要多种形式的因素。
何处下载 Ext JS ?
The Ext JS 软件可以从 Sencha 的 Ext JS 页面下载到。
Ext JS 的功能
Ext JS 框架提供了许多组件,例如数据网格和日历。Ext JS 可与 Sencha Architect 等工具一起使用,用于拖放 HTML5 应用程序开发,以及 Sencha Themer ,用于应用程序的样式设置。
Ext JS 的构建器正在考虑如何使用 Ext JS 的架构执行长期的任务。Sencha 计划在今年年底或明年初发布 Ext JS 7 ,但是由于 Sencha 收购了 Idera ,这些计划现在被搁置了。关于提供符合最新的 ECMAScript 标准和使用 NPM 包管理器和 Webpack 模块绑定器的可行性讨论已经举行过了。
jQuery
JavaScript 的 jQuery 库的 API 提供了操作 HTML 文档、事件处理和动画等功能。jQuery 库由 JS 基金会管理,于 2006 年 8 月首次发布。
哪里下载 jQuery?
jQuery 可以从jQuery 项目网站下载。
jQuery 的特性
jQuery 并不是用来构建应用程序的框架,但它提供基本的 API,很容易在浏览器中操作 DOM。jQuery 也可以和应用程序构建工具一起使用,比如 Angular 和 React/Redux。
jQuery 团队现在差不多每年发布两个版本,从现在到 2018 年中只会发布一些小版本。除此之外,jQuery 4.0 和后续版本要求使用“下一代”JavaScript完全重写,这需要对构建系统进行更新。在 jQuery 4 和后续版本中还有如下计划:
-
重写 jQuery 的速度框架,跟踪性能回归
-
新设计的事件模型,会丢弃特殊事件钩子,避免使用 jquery.Event 类的包装
-
支付新的原生选项,比如被动事件监听器
Meteor
Meteor(又名 Meteor.js )是一个 JavaScript 框架,可以使用较少的代码更快地开发 Web、移动和桌面应用程序。开发人员可以在所有环境中使用 JavaScript ,包括在应用服务器、Web 浏览器和移动设备上。
何处下载 Meteor
Meteor 软件可以从 Meteor 项目网站下载。
Meteor 的功能
Meteor 平台,也被称为 Meteor.js ,包括用于构建已连接客户端的响应式应用程序的技术,构建工具以及一系列来自 Node.js 和 JavaScript 社区的软件包。使用 Meteor 后,服务器会通过设备发送数据而不是HTML,然后在客户端渲染它。
Meteor 1.6 是下一个发行版本号,其重点是升级到 Node.js 8,这将让 Meteor 更好地利用服务器上的 ECMAScript 功能,从而提高构建性能。
Polymer
Google的Polymer JavaScript库旨在使开发人员能够充分利用Web组件,为可重用的自定义元素提供与浏览器内置元素的交互提供可能。
何处下载Polymer?
你可以从Bower包管理器上安装Polymer。
Polymer的功能
5月份发布的Polymer 2.0版通过去掉DOM操作时使用的Polymer.dom改善了互操作性。这使得使用其他库和框架时再使用Polymer组件更容易。
Polymer 2.0中的其他功能包括:
-
数据系统的改进,以提升数据通过和元素之间的调试和传递。
-
ECMASript 2015类和标准的自定义元素。Polymer第1版中的方法用于定义元素,而不是使用Plymer的工厂方法。但是工厂方法仍然通过兼容性层来支持。
-
更简单的数组处理。
即将发布是Polymer 3.0,它目前是预览版本,功能包括Bower和HTML import、NPM和ECMAScript 15模块。Bower和HTML imports功能适用于基于HTML基于导入的工作流程。但是,他们把Polymer置于网络开发的主流之外,并且使人们难以使用其他框架或构建工具。
React
Facebook用来构建用户界面的 React 库 ,提供基于组件的声明性的视图(view),使用JavaScript来编写组件逻辑。React库,也就是React.js,并不支持模型(model)和控制器(controller),但是可以通过其他一些相关的项目完善这些功能。
哪里下载 React
React 可以从 React 项目网站 下载。
React 特性
你可以使用React的 JSX 语法 来描述用户界面。JSX允许在一个组件中混合使用JavaScript和HTML。在构建的过程中会转换成纯JavaScript。
为了提高性能,React 在最近的发行版React 16 中对架构进行了重写,称为Fiber。这次更新的主要特点是着重于为了处理大型组件的异步渲染。但是React本身还并不支持异步渲染,这将会在React 16.x的版本线中实现。
React 16的其他改进包括:
-
提供组件堆栈追踪,使得调试更加简单。
-
可以在组件的渲染方法(render)中直接返回字符串或者数组。
-
新的更快的,基于流的服务器端渲染。
-
更接近原生应用的性能。
在一些组织如Apache软件基金会反对其许可条款后,React 重新修改了其基于BSD+MIT Patents的新的许可证。Apache 担忧基于BSD + Patents 的许可使得软件对于下游项目来说,不再是一个“万能捐赠者” 。
Vue.js
Vue.js是React的竞争对手之一,声称更快的渲染速度。其核心库聚焦于视图层,并且框架主要是为了增量实现。
何处下载Vue.js?
Vue.js软件可以从Vue.js项目网站下载。
Vue.js的功能
声明式渲染是Vue.js中的关键,使用模板语法将数据渲染到DOM中。Vue.js组件系统是一种抽象,支持由可自包含开发和可重用的模块组成的大型应用程序。Vue.js中的组件本质上是一个具有预定义选项的Vue实例。
Vue.js 2.5将于2017年10月到来,具有更好集成了TypeScript功能。稍后版本的Vue.js的计划包括:
-
使TypeScript用户更容易在Vue.js中启动新项目
-
使用代理重写框架的响应式系统
-
支持WebAssembly可移植代码格式
-
吸收Web组件更多功能的能力
觉得本文对你有帮助?请分享给更多人
关注「前端大全」,提升前端技能