JAVASCRIPT 开发者的 10 款必备工具

Widen是一家数字资产管理解决方案提供商。目前,其技术栈还非常传统,包括服务器端的Java、浏览器端的AngularJS、提供REST
API支持的Jersey澳门新萄京官方网站,以及jQuery、
Underscore、lodash、jQuery
UI和Bootstrap等各种库。近日,该公司的首席开发人员Ray
Nicholus在一篇文章中提出了一个面向未来的Web开发技术栈,用于取代现有的工具。

JavaScript,一种所有主流浏览器都支持的语言,是开发基于浏览器的 Web
应用程序的主力,几乎每年都会受到来自众多开发人员的关注。自然地,框架和库的生态系统自然而然地围绕着
JavaScript 而努力,以简化和增强 JavaScript 应用程序的开发。

虽然他们已经习惯并信任现有的技术栈,但为了实现以下几个目标,Ray希望引入一个全新的技术集合:

这些工具提供从事件处理到代码缩减和数据渲染的功能。以下是开发基于浏览器的
Web 应用程序的 JavaScript 开发人员工具包中最必要的技术汇总。

  • 一种新的、闪亮的方法:作为一名开发人员,他希望通过采用一个全新的工具集获得全新的视角,并有所进步。

  • 简洁:他不喜欢 AngularJS 1.x
    陡峭的学习曲线,更令他失望的是,AngularJS
    v2的学习曲线更加陡峭。Java也有这样的特点。另外,他希望能够尽可能地避免样板代码,应用程序可以快速投入应用而又无损可扩展性,前端很容易描述为
    一组独立的专用组件的集合。他还希望用一种更好的方法取代难以维护和改进的传统REST
    API。

  • 高效:他希望可以消除由传统REST API所导致的不必要的请求和响应开销。

  • 优雅:他希望编写优雅、易读的代码。在用户界面上查找和修改数据要直观,最好是开发者只需要考虑自己的数据模型,而不用关心可用的API端点。

澳门新萄京官方网站 1

放弃现有的技术栈意味着开发人员要走出自己的舒适区,部分人可能会抵触,认为新选择不必要或过于复杂。Ray也有类似的想法,但当他对React、
webpack、Falcor有了深入地了解之后,他改变了这种想法,认为这是一个面向未来的Web开发技术栈,Widen即将推出的部分软件产品将会使
用下面讨论的所有技术:

Angular

  • React:Ray认为,React与Angular&Ember
    的不同之处在于其有限的应用范围和空间占用。Angular&Ember的定位是框架,而React主要是作为应用程序“视图”。React不包含依赖注入或“服务”支持,不需要“jq-lite”,也不依赖于jQuery。开发人员可以直接使用JSX编写标记,而无需Ember
    Handlebars。React会维护一个“虚拟DOM”,并通过它更新真正的DOM,避免了不必要的重排与重绘。总之,他非常喜欢React这种用途相对专一的特性。而且,React让他可以将复杂的应用程序切分成更小的组件。

  • Falcor:这是一个由Netflix开源的、非常新的库。不同于传统REST
    API,它只提供唯一的一个端点。有了它,开发者不再需要向不同的服务器端点请求不同的数据,而是向同一个端点请求不同的模型数据。服务器端可以识别请求参数,并由Falcor
    Router调用恰当的router函数。也就是说,Falcor提供了一个更加直观的API,就是开发者的数据模型。这可以确保服务器永远不会返回不必要的模型数据,
    节省了带宽。Falcor客户端还可以使用缓存数据为连续的请求提供服务,减少服务器响应时间。要了解更多关于Falcor的信息,可以查看Jafar
    Husain的视频。

  • webpack:作为一个模块绑定器,webpack可以为React组件模块化提供进一步的支持。它使开发者可以轻松压缩和连接CSS及JavaScript,并通过生成source
    map大大地简化调试工作。配置完成后,webpack会监控代码,每次代码发生变化,它就会生成新的bundles。客户端无需再导入大量的CSS或JS文件,而只需要导入bundles,减少了页面加载时的HTTP请求数。此外,webpack还提供了大量的插件,例如,使用jsx-loader可以将JSX转换成JavaScript,使用babel-loader
    可以将ES6代码转换成兼容ES5的代码。

  • ES6:即ECMAScript
    2015,是JavaScript的最新规范,定义了若干重要的新特性,比如胖箭头函数、类、字符串插值、块作用域等。更多信息,请查看Mozilla
    Developer Network上的ECMAScript
    6参考指南。

Angular,之前是由Google开发的被称为AngularJS,是用于移动和桌面Web开发的单框架。为了创建类原生渐进式web应用程序,Angular提供用于汇编应用程序的数据服务的依赖注入,以及用于复合组件的HTML模板。

为了帮助读者更好地理解这些技术,Ray使用它们创建了一个单页应用程序,并详细解释了整个的创建过程及相关技术的工作原理。感兴趣的读者可以阅读原文,并从GitHub上下载该应用程序的源码。

何处下载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?

网站地图xml地图