JavaScript,一種所有主流瀏覽器都支持的語言,是開發(fā)基于瀏覽器的 Web 應(yīng)用程序的主力,幾乎每年都會受到來自眾多開發(fā)人員的關(guān)注。自然地,框架和庫的生態(tài)系統(tǒng)自然而然地圍繞著 JavaScript 而努力,以簡化和增強 JavaScript 應(yīng)用程序的開發(fā)。
這些工具提供從事件處理到代碼縮減和數(shù)據(jù)渲染的功能。以下是開發(fā)基于瀏覽器的 Web 應(yīng)用程序的 JavaScript 開發(fā)人員工具包中最必要的技術(shù)匯總。
Angular
Angular,之前是由Google開發(fā)的被稱為AngularJS,是用于移動和桌面Web開發(fā)的單框架。為了創(chuàng)建類原生漸進式web應(yīng)用程序,Angular提供用于匯編應(yīng)用程序的數(shù)據(jù)服務(wù)的依賴注入,以及用于復(fù)合組件的HTML模板。
何處下載Angular?
Angular項目快速入門頁面使得開發(fā)者可以輕松開始使用Angular。
Angular的功能
2016年9月的Angular第2版的特色是基于TypeScript(Microsoft的JavaScript類型化超集)的重寫,以處理在Angular初始版本中架構(gòu)上存在的性能限制。
現(xiàn)在,開發(fā)者都在等待Angular 5,預(yù)計到到十月二十三日發(fā)布(沒有第3版或第4版)。它預(yù)期的功能包括:
用于在瀏覽器中緩存應(yīng)用程序,以加強構(gòu)建漸進的Web應(yīng)用程序的便利性。
構(gòu)建優(yōu)化器,通過刪除不必要的代碼使應(yīng)用程序更小。
使Material Design組件與服務(wù)器端渲染兼容。
Angular 6,預(yù)計發(fā)布時間比Angualr 5玩晚發(fā)布五到六個月,將聚焦于與Angular 5相同的主題:易用性,更小尺寸和性能。Angular本身具有強大的生態(tài)系統(tǒng),在IDE中有四個數(shù)據(jù)庫和支持,如JetBrains IntelliJ Idea。
Aurelia
由聚焦的模塊組成的Aurelia是由Blue Spire開發(fā)的用于移動、桌面和Web應(yīng)用程序的客戶端框架。它實現(xiàn)了快速渲染和“高效”的內(nèi)存使用率。
何處下載Aurelia?
你可以從GitHub上下載Aurelia。
Aurelia的功能
Aurelia有處理元數(shù)據(jù)、依賴注入、綁定、模板和路由的模塊。Aurelia集成了Web組件,并提供與對象的雙向數(shù)據(jù)綁定。多數(shù)Aurelia代碼都是以純JavaScript編寫的。其他功能包括:
一個用于構(gòu)建自定義元素和給元素添加屬性的HTML編譯器。
支持動態(tài)加載。
用于單元測試的可構(gòu)建耦合代碼的依賴注入容器。
提供創(chuàng)建新項目選項的Aurelia CLI,需要安裝Node 4或更高版本、NPM 3和Git。
與Polymer庫的集成,用于構(gòu)建可重復(fù)使用的web組件。
在模板引擎中,用于組件繼承時支持bindable的繼承。
Backbone.js
Backbone.js ,也就是 Backbone ,為重度 JavaScript 應(yīng)用程序提供了結(jié)構(gòu)體。它具有帶有鍵值綁定和自定義事件的模型,它們是一個支持可枚舉函數(shù)和聲明性事件處理視圖的 API 的集合。
何處下載 Backbone.js ?
你可以從 Backbone 項目網(wǎng)站下載開發(fā)版本和產(chǎn)品發(fā)布版本。
Backbone.js 的功能
Backbone.js 中的數(shù)據(jù)是使用可以創(chuàng)建、校驗、銷毀并保存到服務(wù)器的模型表示的。這些模型通過 RESTful JSON 接口連接到應(yīng)用程序。使用 Backbone.js 時,當(dāng) UI 操作提示要更改模型的屬性時,該模型會觸發(fā)更改事件。顯示模型狀態(tài)的視圖會收到此更改的通知并重新渲染他們。
Ember.js
Ember.js 是一個強調(diào)開箱即用的高效率的框架。它具有集成的模板,被稱為句柄條,旨在減少代碼編寫量; 在數(shù)據(jù)改變時,這些模板會自動更新。
從哪里獲取 Ember.js
可以在 NPM 中輸入 npm install -g ember-cli@2.15 來安裝 Ember.js 。
Ember.js 的功能
Ember.js 的功能包括:
專注于簡化開發(fā)的 API 。
專注于讓開發(fā)者使應(yīng)用程序特例化的通用風(fēng)格。
Ember.js 3.0 穩(wěn)定版會在2018年1月1日發(fā)布測試版之后的2月12日發(fā)布。在 2.x 版本中不推薦使用的 API ,依然是支持的,這些 API 將在 Ember.js 3.x 中被清除。 一個 add-on 應(yīng)將支持在 3.x 代碼行中的 Ember.js 2x API 。
Ext JS
與其他知名的 JavaScript 框架不同,Sencha 的 Ext JS 并不是開源的; 它是一種商業(yè)產(chǎn)品。它用于構(gòu)建面向企業(yè)的數(shù)據(jù)密集型跨平臺 Web 應(yīng)用程序,需要多種形式的因素。
何處下載 Ext JS ?
The Ext JS 軟件可以從 Sencha 的 Ext JS 頁面下載到。
Ext JS 的功能
Ext JS 框架提供了許多組件,例如數(shù)據(jù)網(wǎng)格和日歷。Ext JS 可與 Sencha Architect 等工具一起使用,用于拖放 HTML5 應(yīng)用程序開發(fā),以及 Sencha Themer ,用于應(yīng)用程序的樣式設(shè)置。
Ext JS 的構(gòu)建器正在考慮如何使用 Ext JS 的架構(gòu)執(zhí)行長期的任務(wù)。Sencha 計劃在今年年底或明年初發(fā)布 Ext JS 7 ,但是由于 Sencha 收購了 Idera ,這些計劃現(xiàn)在被擱置了。關(guān)于提供符合最新的 ECMAScript 標(biāo)準(zhǔn)和使用 NPM 包管理器和 Webpack 模塊綁定器的可行性討論已經(jīng)舉行過了。
jQuery
JavaScript 的 jQuery 庫的 API 提供了操作 HTML 文檔、事件處理和動畫等功能。jQuery 庫由 JS 基金會管理,于 2006 年 8 月首次發(fā)布。
哪里下載 jQuery?
jQuery 可以從jQuery 項目網(wǎng)站下載。
jQuery 的特性
jQuery 并不是用來構(gòu)建應(yīng)用程序的框架,但它提供基本的 API,很容易在瀏覽器中操作 DOM。jQuery 也可以和應(yīng)用程序構(gòu)建工具一起使用,比如 Angular 和 React/Redux。
jQuery 團隊現(xiàn)在差不多每年發(fā)布兩個版本,從現(xiàn)在到 2018 年中只會發(fā)布一些小版本。除此之外,jQuery 4.0 和后續(xù)版本要求使用“下一代”JavaScript完全重寫,這需要對構(gòu)建系統(tǒng)進行更新。在 jQuery 4 和后續(xù)版本中還有如下計劃:
重寫 jQuery 的速度框架,跟蹤性能回歸
新設(shè)計的事件模型,會丟棄特殊事件鉤子,避免使用 jquery.Event 類的包裝
支付新的原生選項,比如被動事件監(jiān)聽器
Meteor
Meteor(又名 Meteor.js )是一個 JavaScript 框架,可以使用較少的代碼更快地開發(fā) Web、移動和桌面應(yīng)用程序。開發(fā)人員可以在所有環(huán)境中使用 JavaScript ,包括在應(yīng)用服務(wù)器、Web 瀏覽器和移動設(shè)備上。
何處下載 Meteor
Meteor 軟件可以從 Meteor 項目網(wǎng)站下載。
Meteor 的功能
Meteor 平臺,也被稱為 Meteor.js ,包括用于構(gòu)建已連接客戶端的響應(yīng)式應(yīng)用程序的技術(shù),構(gòu)建工具以及一系列來自 Node.js 和 JavaScript 社區(qū)的軟件包。使用 Meteor 后,服務(wù)器會通過設(shè)備發(fā)送數(shù)據(jù)而不是HTML,然后在客戶端渲染它。
Meteor 1.6 是下一個發(fā)行版本號,其重點是升級到 Node.js 8,這將讓 Meteor 更好地利用服務(wù)器上的 ECMAScript 功能,從而提高構(gòu)建性能。
Polymer
Google的Polymer JavaScript庫旨在使開發(fā)人員能夠充分利用Web組件,為可重用的自定義元素提供與瀏覽器內(nèi)置元素的交互提供可能。
何處下載Polymer?
你可以從Bower包管理器上安裝Polymer。
Polymer的功能
5月份發(fā)布的Polymer 2.0版通過去掉DOM操作時使用的Polymer.dom改善了互操作性。這使得使用其他庫和框架時再使用Polymer組件更容易。
Polymer 2.0中的其他功能包括:
數(shù)據(jù)系統(tǒng)的改進,以提升數(shù)據(jù)通過和元素之間的調(diào)試和傳遞。
ECMASript 2015類和標(biāo)準(zhǔn)的自定義元素。Polymer第1版中的方法用于定義元素,而不是使用Plymer的工廠方法。但是工廠方法仍然通過兼容性層來支持。
更簡單的數(shù)組處理。
即將發(fā)布是Polymer 3.0,它目前是預(yù)覽版本,功能包括Bower和HTML import、NPM和ECMAScript 15模塊。Bower和HTML imports功能適用于基于HTML基于導(dǎo)入的工作流程。但是,他們把Polymer置于網(wǎng)絡(luò)開發(fā)的主流之外,并且使人們難以使用其他框架或構(gòu)建工具。
React
Facebook用來構(gòu)建用戶界面的 React 庫 ,提供基于組件的聲明性的視圖(view),使用JavaScript來編寫組件邏輯。React庫,也就是React.js,并不支持模型(model)和控制器(controller),但是可以通過其他一些相關(guān)的項目完善這些功能。
哪里下載 React
React 可以從 React 項目網(wǎng)站 下載。
React 特性
你可以使用React的 JSX 語法 來描述用戶界面。JSX允許在一個組件中混合使用JavaScript和HTML。在構(gòu)建的過程中會轉(zhuǎn)換成純JavaScript。
為了提高性能,React 在最近的發(fā)行版React 16 中對架構(gòu)進行了重寫,稱為Fiber。這次更新的主要特點是著重于為了處理大型組件的異步渲染。但是React本身還并不支持異步渲染,這將會在React 16.x的版本線中實現(xiàn)。
React 16的其他改進包括:
提供組件堆棧追蹤,使得調(diào)試更加簡單。
可以在組件的渲染方法(render)中直接返回字符串或者數(shù)組。
新的更快的,基于流的服務(wù)器端渲染。
更接近原生應(yīng)用的性能。
在一些組織如Apache軟件基金會反對其許可條款后,React 重新修改了其基于BSD+MIT Patents的新的許可證。Apache 擔(dān)憂基于BSD + Patents 的許可使得軟件對于下游項目來說,不再是一個“萬能捐贈者” 。
Vue.js
Vue.js是React的競爭對手之一,聲稱更快的渲染速度。其核心庫聚焦于視圖層,并且框架主要是為了增量實現(xiàn)。
何處下載Vue.js?
Vue.js軟件可以從Vue.js項目網(wǎng)站下載。
Vue.js的功能
聲明式渲染是Vue.js中的關(guān)鍵,使用模板語法將數(shù)據(jù)渲染到DOM中。Vue.js組件系統(tǒng)是一種抽象,支持由可自包含開發(fā)和可重用的模塊組成的大型應(yīng)用程序。Vue.js中的組件本質(zhì)上是一個具有預(yù)定義選項的Vue實例。
Vue.js 2.5將于2017年10月到來,具有更好集成了TypeScript功能。稍后版本的Vue.js的計劃包括:
使TypeScript用戶更容易在Vue.js中啟動新項目
使用代理重寫框架的響應(yīng)式系統(tǒng)
支持WebAssembly可移植代碼格式
吸收Web組件更多功能的能力
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com