JavaScript 开发者的 10 款必备工具

2017 年 11 月 4 日 前端大全

(点击上方公众号,可快速关注)


英文: 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组件更多功能的能力



觉得本文对你有帮助?请分享给更多人

关注「前端大全」,提升前端技能

登录查看更多
0

相关内容

JavaScript 是弱类型的动态脚本语言,支持多种编程范式,包括面向对象和函数式编程。
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
57+阅读 · 2020年6月26日
FPGA加速系统开发工具设计:综述与实践
专知会员服务
65+阅读 · 2020年6月24日
打怪升级!2020机器学习工程师技术路线图
专知会员服务
98+阅读 · 2020年6月3日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
234+阅读 · 2020年5月21日
Python导论,476页pdf,现代Python计算
专知会员服务
259+阅读 · 2020年5月17日
TensorFlow 2.0 学习资源汇总
专知会员服务
66+阅读 · 2019年10月9日
2020年你应该知道的8种前端JavaScript趋势和工具
前端之巅
5+阅读 · 2019年6月9日
使用 C# 和 Blazor 进行全栈开发
DotNet
6+阅读 · 2019年4月15日
34个最优秀好用的Python开源框架
专知
9+阅读 · 2019年3月1日
推荐系统资源(文献、工具、框架)整理
专知
17+阅读 · 2019年2月4日
深度学习开发必备开源框架
九章算法
12+阅读 · 2018年5月30日
干货 | Python 爬虫的工具列表大全
机器学习算法与Python学习
10+阅读 · 2018年4月13日
Python 杠上 Java、C/C++,赢面有几成?
CSDN
6+阅读 · 2018年4月12日
推荐|Google最热门31款开源项目资源
全球人工智能
4+阅读 · 2017年11月24日
开源巨献:Google最热门60款开源项目
程序猿
5+阅读 · 2017年7月12日
Arxiv
9+阅读 · 2019年4月19日
Embedding Logical Queries on Knowledge Graphs
Arxiv
3+阅读 · 2019年2月19日
Deep Reinforcement Learning: An Overview
Arxiv
17+阅读 · 2018年11月26日
Arxiv
5+阅读 · 2018年5月22日
VIP会员
相关VIP内容
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
57+阅读 · 2020年6月26日
FPGA加速系统开发工具设计:综述与实践
专知会员服务
65+阅读 · 2020年6月24日
打怪升级!2020机器学习工程师技术路线图
专知会员服务
98+阅读 · 2020年6月3日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
234+阅读 · 2020年5月21日
Python导论,476页pdf,现代Python计算
专知会员服务
259+阅读 · 2020年5月17日
TensorFlow 2.0 学习资源汇总
专知会员服务
66+阅读 · 2019年10月9日
相关资讯
2020年你应该知道的8种前端JavaScript趋势和工具
前端之巅
5+阅读 · 2019年6月9日
使用 C# 和 Blazor 进行全栈开发
DotNet
6+阅读 · 2019年4月15日
34个最优秀好用的Python开源框架
专知
9+阅读 · 2019年3月1日
推荐系统资源(文献、工具、框架)整理
专知
17+阅读 · 2019年2月4日
深度学习开发必备开源框架
九章算法
12+阅读 · 2018年5月30日
干货 | Python 爬虫的工具列表大全
机器学习算法与Python学习
10+阅读 · 2018年4月13日
Python 杠上 Java、C/C++,赢面有几成?
CSDN
6+阅读 · 2018年4月12日
推荐|Google最热门31款开源项目资源
全球人工智能
4+阅读 · 2017年11月24日
开源巨献:Google最热门60款开源项目
程序猿
5+阅读 · 2017年7月12日
相关论文
Arxiv
9+阅读 · 2019年4月19日
Embedding Logical Queries on Knowledge Graphs
Arxiv
3+阅读 · 2019年2月19日
Deep Reinforcement Learning: An Overview
Arxiv
17+阅读 · 2018年11月26日
Arxiv
5+阅读 · 2018年5月22日
Top
微信扫码咨询专知VIP会员