JavaScript,一種全部主流瀏覽器都支持的語言,是開發基於瀏覽器的 Web 應用程序的主力,幾乎每一年都會受到來自衆多開發人員的關注。天然地,框架和庫的生態系統天然而然地圍繞着 JavaScript 而努力,以簡化和加強 JavaScript 應用程序的開發。javascript
這些工具提供從事件處理到代碼縮減和數據渲染的功能。如下是開發基於瀏覽器的 Web 應用程序的 JavaScript 開發人員工具包中最必要的技術彙總。前端
Angular,以前是由Google開發的被稱爲AngularJS,是用於移動和桌面Web開發的單框架。爲了建立類原生漸進式web應用程序,Angular提供用於彙編應用程序的數據服務的依賴注入,以及用於複合組件的HTML模板。java
Angular項目快速入門頁面使得開發者能夠輕鬆開始使用Angular。jquery
2016年9月的Angular第2版的特點是基於TypeScript(Microsoft的JavaScript類型化超集)的重寫,以處理在Angular初始版本中架構上存在的性能限制。
如今,開發者都在等待Angular 5,預計到到十月二十三日發佈(沒有第3版或第4版)。它預期的功能包括:web
用於在瀏覽器中緩存應用程序,以增強構建漸進的Web應用程序的便利性。數據庫
構建優化器,經過刪除沒必要要的代碼使應用程序更小。npm
使Material Design組件與服務器端渲染兼容。數組
Angular 6,預計發佈時間比Angualr 5玩晚發佈五到六個月,將聚焦於與Angular 5相同的主題:易用性,更小尺寸和性能。Angular自己具備強大的生態系統,在IDE中有四個數據庫和支持,如JetBrains IntelliJ Idea。瀏覽器
由聚焦的模塊組成的Aurelia是由Blue Spire開發的用於移動、桌面和Web應用程序的客戶端框架。它實現了快速渲染和「高效」的內存使用率。緩存
你能夠從GitHub上下載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 ,爲重度 JavaScript 應用程序提供告終構體。它具備帶有鍵值綁定和自定義事件的模型,它們是一個支持可枚舉函數和聲明性事件處理視圖的 API 的集合。
你能夠從 Backbone 項目網站下載開發版本和產品發佈版本。
Backbone.js 中的數據是使用能夠建立、校驗、銷燬並保存到服務器的模型表示的。這些模型經過 RESTful JSON 接口鏈接到應用程序。使用 Backbone.js 時,當 UI 操做提示要更改模型的屬性時,該模型會觸發更改事件。顯示模型狀態的視圖會收到此更改的通知並從新渲染他們。
Ember.js 是一個強調開箱即用的高效率的框架。它具備集成的模板,被稱爲句柄條,旨在減小代碼編寫量; 在數據改變時,這些模板會自動更新。
能夠在 NPM 中輸入 npm install -g ember-cli@2.15 來安裝 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 。
與其餘知名的 JavaScript 框架不一樣,Sencha 的 Ext JS 並非開源的; 它是一種商業產品。它用於構建面向企業的數據密集型跨平臺 Web 應用程序,須要多種形式的因素。
The Ext JS 軟件能夠從 Sencha 的 Ext JS 頁面下載到。
Ext JS 框架提供了許多組件,例如數據網格和日曆。Ext JS 可與 Sencha Architect 等工具一塊兒使用,用於拖放 HTML5 應用程序開發,以及 Sencha Themer ,用於應用程序的樣式設置。
Ext JS 的構建器正在考慮如何使用 Ext JS 的架構執行長期的任務。Sencha 計劃在今年年末或明年初發布 Ext JS 7 ,可是因爲 Sencha 收購了 Idera ,這些計劃如今被擱置了。關於提供符合最新的 ECMAScript 標準和使用 NPM 包管理器和 Webpack 模塊綁定器的可行性討論已經舉行過了。
JavaScript 的 jQuery 庫的 API 提供了操做 HTML 文檔、事件處理和動畫等功能。jQuery 庫由 JS 基金會管理,於 2006 年 8 月首次發佈。
jQuery 能夠從jQuery 項目網站下載。
jQuery 並非用來構建應用程序的框架,但它提供基本的 API,很容易在瀏覽器中操做 DOM。jQuery 也能夠和應用程序構建工具一塊兒使用,好比 Angular 和 React/Redux。
jQuery 團隊如今差很少每一年發佈兩個版本,從如今到 2018 年中只會發佈一些小版本。除此以外,jQuery 4.0 和後續版本要求使用「下一代」JavaScript徹底重寫,這須要對構建系統進行更新。在 jQuery 4 和後續版本中還有以下計劃:
重寫 jQuery 的速度框架,跟蹤性能迴歸
新設計的事件模型,會丟棄特殊事件鉤子,避免使用 jquery.Event 類的包裝
支付新的原生選項,好比被動事件監聽器
Meteor(又名 Meteor.js )是一個 JavaScript 框架,可使用較少的代碼更快地開發 Web、移動和桌面應用程序。開發人員能夠在全部環境中使用 JavaScript ,包括在應用服務器、Web 瀏覽器和移動設備上。
Meteor 軟件能夠從 Meteor 項目網站下載。
Meteor 平臺,也被稱爲 Meteor.js ,包括用於構建已鏈接客戶端的響應式應用程序的技術,構建工具以及一系列來自 Node.js 和 JavaScript 社區的軟件包。使用 Meteor 後,服務器會經過設備發送數據而不是HTML,而後在客戶端渲染它。
Meteor 1.6 是下一個發行版本號,其重點是升級到 Node.js 8,這將讓 Meteor 更好地利用服務器上的 ECMAScript 功能,從而提升構建性能。
Google的Polymer JavaScript庫旨在使開發人員可以充分利用Web組件,爲可重用的自定義元素提供與瀏覽器內置元素的交互提供可能。
你能夠從Bower包管理器上安裝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置於網絡開發的主流以外,而且令人們難以使用其餘框架或構建工具。
Facebook用來構建用戶界面的 React 庫 ,提供基於組件的聲明性的視圖(view),使用JavaScript來編寫組件邏輯。React庫,也就是React.js,並不支持模型(model)和控制器(controller),可是能夠經過其餘一些相關的項目完善這些功能。
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是React的競爭對手之一,聲稱更快的渲染速度。其核心庫聚焦於視圖層,而且框架主要是爲了增量實現。
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】跟大佬一塊兒學前端!歡迎你們留言討論一塊兒轉發
以爲本文對你有幫助?請分享給更多人