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的继承。

    web前端/H5/javascript学习群:250777811

    欢迎关注此公众号→【web前端EDU】跟大佬一起学前端!欢迎大家留言讨论一起转发

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

    web前端/H5/javascript学习群:250777811

    欢迎关注此公众号→【web前端EDU】跟大佬一起学前端!欢迎大家留言讨论一起转发

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

JavaScript 开发者的 10 款必备工具的更多相关文章

  1. 简化工作流程,10款必备的HTML5开发工具

    利用HTML5工具不仅可以帮助设计师和开发者创建更具吸引力的网站,还能增加网站的可用性和可访问性.本文收集了10款HTML5开发工具让你在网页中搭建特效.动画.视频.音频等诸多功能,为你节省更多开发时 ...

  2. 简化工作流程 10款必备的HTML5开发工具

    利用HTML5工具不仅可以帮助设计师和开发者创建更具吸引力的网站,还能增加网站的可用性和可访问性.本文收集了10款HTML5开发工具让你在网页中搭建特效.动画.视频.音频等诸多功能,为你节省更多开发时 ...

  3. MySQL工具:管理员必备的10款MySQL工具

    MySQL是一个复杂的的系统,需要许多工具来修复,诊断和优化它.幸运的是,对于管理员,MySQL已经吸引了很多软件开发商推出高品质的开源工具来解决MySQL的系统的复杂性,性能和稳定性,其中大部分是免 ...

  4. 向 Windows 高级用户进阶,这 10 款效率工具帮你开路 | 新手问号

    原文地址:https://sspai.com/post/41411 编注:「新手问号」是少数派的一个全新栏目.它面向完全「零基础」的新手用户,通过最简单易懂的方式,帮助你快速掌握关于系统和软硬件的入门 ...

  5. 身为 Java 程序员必须掌握的 10 款开源工具!

    本文主要介绍Java程序员应该在Java学习过程中的一些基本和高级工具.如果你是一位经验丰富的Java开发人员,你可能对这些工具很熟悉,但如果不是,现在就是是开始学习这些工具的好时机.Java世界中存 ...

  6. 解放你生产力的10款效率工具,赶紧mark起来

    聪明的人总是善用工具 社会的快度发展赋予我们的一个幸运之处在于:你可以通过读书或使用工具去改善自身的处境甚至是阶层. 在父母那个时代,通过熟练使用办公软件,可以使一个在水泥地做帮工的青年走进格子间.而 ...

  7. sublime3 10款必备插件

    http://www.cnblogs.com/lhb25/p/10-essential-sublime-text-plugins.html

  8. MySQL管理员珍藏:十大必备工具盘点

    作者:dongdongzzcs 第1页: [IT168 专稿]本文的作者Daniel Nichter是MySQL工具的开发者,他为MySQL管理员推荐了十款必备工具.以下是全文内容: MySQL是一套 ...

  9. iOS开发者必备的10款工具

    当前iOS和Android两大移动操作系统“二足鼎立”,几乎覆盖了市面上大部分的智能手机.相比Android,iOS开发适配更简单,且随着各种实用工具和Swift语言的出现,iOS开发门槛地降低,开发 ...

随机推荐

  1. cycling -avoid the vicious cycle

    ‘Numerous' studies in the past appear to have shown a link between cycling and ED. The researchers a ...

  2. 油田(DFS)

    //DFS:油田问题 #include <iostream> using namespace std; ][]; int n,m; //一个网格的8个方向 ][] = {{-,-},{-, ...

  3. Linux认知之旅【04 进一步了解目录】!

    一.目录是什么? 二.不得不提的文件系统! 三.绝对路经,相对路径

  4. navmesh自动寻路

    一个导航网格(也就是Navmesh)是世界几何体简化的表示法,被游戏代理用于在世界中进行导航.通常,代理(agent )有一个目标,或一个目的地,它试图找到一个路径,然后沿路径导航到达目标.这个过程被 ...

  5. C#帮助类

    1.集合操作 // <summary> /// 判断一个集合是否包含某个值 /// </summary> /// <typeparam name="T" ...

  6. Python全栈工程师(函数的传参)

     ParisGabriel   感谢 大家的支持                                                               每天坚持 一天一篇 点个订 ...

  7. (原)Unreal渲染模块 管线 - 程序和场景查询

    @author: 白袍小道 查看随意,转载随缘     第一部分: 这里主要关心加速算法,和该阶段相关的UE模块的结构和组件的处理. What-HOW-Why-HOW-What(嘿嘿,老规矩) 1.渲 ...

  8. python /usr/bin/python^M: bad interpreter: No such file

    今天在WingIDE下写了个脚本,传到服务器执行后提示: -bash: /usr/bin/autocrorder: /usr/bin/python^M: bad interpreter: No suc ...

  9. Python——开篇之词

    我也断断续续的用Python挺长时间了.但是一直都没有系统的学习过Python.很多东西都是现用现学.这样感觉对Python的理解太浅,完完全全就是搬砖的. 因此,我专门找了一个比较完整的老男孩的Py ...

  10. vue vscode 开始

    E:\Html\4 Vue版>npm config set registry https://registry.npm.taobao.org E:\Html\4 Vue版>npm i &g ...