2016 開發人員不容錯過的最佳免費 JavaScript 框架

0
2832

JavaScript 社區去年經歷了一些很大的變化。ECMA Script 6 最終被標準化並且發布,熱門的編譯器和 Web瀏覽器正在努力適應新的變動和規則。要完全理解這樣巨大的更新(最後 ES 更新是在 2009 年),我們有必要一步一步的推敲它的新指南。也可以在 Smashing Mag 找到由 Lars Kappert 分享的 ES6 的變化列表

在瀏覽器實行 ES6 功能本身,目前由 Mozilla Firefox(85%)和 Google Chrome(71%)暫時領先。但 JavaScript 不僅只是一個標準化程序,一些真正偉大的應用程式和平台已經為公眾建立且發布,今年最近一次是 OS.js – 一個功能齊全的雲平台,整合在桌上型瀏覽器功能上。我們還看到一些真正有用的技術和 JavaScript 內容,Eric Elliott 在 2015 年發表了一篇熱門的 JavaScript 文章綜述

JavaScript 正在快速增長,它變得越來越原生,但最重要的是,它變得更加穩定。 在過去幾年裡進入 JavaScript 領域的 Web開發框架的數量確實激增,許多框架已經在它們周圍建立了巨大的社區,例如 Angular、Meteor 和 React。在這裡,我們將仔細觀察這些熱門的 JavaScript 框架,我們相信這些框架在 2016 年將看到更多增長,互動和曝光的機會。

Reactive JavaScript Frameworks

反應式Web開發 涉及響應能力、靈活性、可擴展性和準確性。我們都希望構建即時需求的應用程式和軟體,我們也還希望我們的系統能夠抵禦峰值性能或來自未知來源的需求,並且項目是可擴展的,以便在時間到來時,我們可以輕鬆的升級或降級軟體以獲得最佳性能。下面的 JavaScript 框架已經構建了反應式 web 開發,我們期待能看到更多這樣的框架。

Mobservable

Why Mobservable Introduction使用 Mobservable 將可以有觀察數據結構的能力,同時也有反應功能,這意味著數據可以重新評估且有即時改變的能力。像從你的結構中獲取任何數據並將其轉換為單獨的行,然後將函數轉換為自動更新公式。 Mobservable 讓開發人員擁簡單有效的視圖,這些視圖總是完整呈現,而不需要其他框架才能帶來的額外的功能。

Omniscient

Omniscient.jsOmniscient 為開發人員提供了明確的 UI 組件、構建功能和工具,使其發展為更靜態模型。非常類似於靜態網頁中我們在做的 HTML。但是 Omniscient 開啟了編程的能力。你仍然可以操作視圖,只是不需要處理類似模板引擎或域特定語言。Omniscient 支持小型可組合的組件,並通過 mixins 共享功能。

下載

Ractive.js

Ractive.js The diamond age of web development

Ractive(反應式)已經存在了一段時間,許多領先世界的網站已經接受了這種用戶界面導向的組件功能,且更加支持 JavaScript 的功能和靈活性。在瀏覽器中建立互動式應用不是一件容易的事,但 Ractive 是少見有助於彌合這一差距的框架,並可以提供一種更完美的體驗。Toptal 的 Eugene Mirotin 深入探討 Ractive 的功能,並構建一個簡單、反應和交互式應用程式的過程

下載

Mercury

Mercury

Mercury 是一種輕量級、簡單卻強大的模組化前端框架,提供了一些預先構建的 Web 模塊和組件,可以立即在應用程式中實現。演示頁面展示了諸如功能的反應式改變之類的事情,例如,同一個瀏覽器窗口中一張簡單的圖像(設置了 blue 的顏色)為例,你可以即時將顏色更改為 red,並為你提供更多的空間,以開發真正多元化網路應用程式。

下載

WebRx

WebRx The Browser based MVVM Framework for ReactiveX powered Single Page Applications

WebRx 是一種基於 RX.js 構建的模型視圖 – Model–view–viewmodel(MVVM)框架,用於支持可觀察和聲明性數據綁定,客戶端路由和模板功能和反應式編程模式組合在一起。無論是希望構建的一個簡單和被動的 Hello World,或者是一個功能齊全的 ToDo 應用程式。WebRx 的目地是幫助加快現今網路應用程式開發過程,而且檔案極小,精簡壓縮後只有 30KB。

下載

Deku

Readme DekuDeku 是 Segment 團隊為 React 所另開發更輕量級的替代品。Deku 的主要功能是幫助使用純 JavaScript 函數和虛擬文檔對像模型(DOM)來渲染 UI。使用 Deku,你不需要依賴類別,而是可以直接使用函數將任務轉移到像 Redux 這樣的第三方軟體,讓 Segment 不更加複雜化,Deku 將主要在現代和新的瀏覽器作業,與現有的 React 並行開發工作。

下載

Riot.js

Riot.js — A React like user interface micro library就現今開發世界中我們所看到的大多數反應式 JavaScript 框架來講,React 絕對有著巨大的影響力。Riot.js 也不例外。用他們自己的話來說,Riot.js 就是基於 React 專注於微功能的 UI 函式庫。Streamdata 在他們的部落格上詳細探討了這種方法。Riot.js 由 Muut 的開發者維護 – 我們迄今為止所看到的最突出的討論平台之一,它也是超級反應和交互式的,所以當你開始使用 Riot 的時候,可以在你的應用程式中找到同樣的性能及功能。

下載

Mithril

MithrilMithril 以其靈活的函式庫大小(7KB)及在發展過程中該公司不斷地為新環境更新和不斷進步的說明文檔引起人們關注。與其他一些著名的 JavaScript 框架相比,基準測試相當令人吃驚,也會讓你很想嘗試一下。

下載

Vue.js

vue.jsVue.js 在描述自身為一個框架時非常謙虛,它更喜歡使用術語「函式庫」,與其他工具結合使用可以轉變為一個完全功能的框架。Vue 用於開發和創建現代和時尚的網路界面。它一直是一個 beta 項目,但直到最近 2015 年十月標誌著 V1 的發布,這意味著 Vue 已經準備好進行現實世界的開發,所以許多人已經在框架中分享他們的見解經驗。如果你喜歡創建有意義的代碼,從你看它的那一刻,絕對值得為 Vue 作一次嘗試。

下載

MVC JavaScript Frameworks

MVC 是一種將應用程式邏輯與表示分離的方法。在實踐中,它允許您的網頁包含最少的腳本,因為演示文稿是獨立於 PHP 腳本。我們在稍後介紹的 MVC 框架在過去幾年中取得了長足的進步,大多數框架提供了無縫移動應用程序開發的功能。

Web 框架像 Angular (即將發佈 V2) 和 React 已經改變了 Web 開發環境,使其變得更好,並且令人興奮的是隱藏在未來的預期之中的新功能。

Angular.js

AngularJS — Superheroic JavaScript MVW Framework

Google 的通用網路開發框架 Angular 已經在近幾年迅速崛起,並繼續為嚴格遵守最新行業標準和能力的開發人員提供堅實的基礎。Angular.js 本身提供了一組用於快速應用程序開發的現代開發和設計功能,而 Google 也已經建立了自己的並提供了 Material Design 規範,幫助你用最現代的方法構建並維持與應用程式間的連繫。

Angular 2 正逐步邁向第一個 BETA 版本,你可以在 Angular 開發團隊的最新文章中了解更多資訊。由於 Angular 豐富的框架性質,它完全支持可擴展的庫和插件 – 這裡是一些為 2015 年最熱門的函式庫彙編

下載

jQuery

jQuery

jQuery 的壽命讓那些即使是不曾開發過的設計員也曾聽說過它。每當有人想要擴展他們的網站(或移動頁面),並使其更具互動性; 通常依賴的就是 jQuery 的功能。這個微小的函式庫將整個網路變成一個完全互動和娛樂的體驗,曾有報告指出高達 70% 世界領先的網站的東西與 jQuery 有關。jQuery 插件和小部件是前端開發人員最常搜索的組件之一。

像 WordPress、Google、IBM 和許多其他公司依靠 jQuery 提供一種類型的網路瀏覽體驗,當然,還包括廣闊的網際網路用戶。 jQuery 也與移動設備完全兼容,並設有獨立的 jQuery Mobile 函式庫應用於所有的移動設備。

下載

React

A JavaScript library for building user interfaces React

React 是網路編程道路上最新的掌上明珠,甚至連 Angular.js 用戶都已經切換到 React,因為它允許更靈活的前端開發,而不需要沉浸在前端框架的複雜性。React 是由 Facebook 維護的 JavaScript 函式庫,React 背後的主要專業領域是幫助開發人員實現一個虛擬 DOM ; 作為輸出一個稱為虛擬 DOM 的值。然後,虛擬 DOM 與 DOM 的當前狀態進行比較,生成一系列 DOM 操作,使當前 DOM 看起來像新的一樣。這些操作被批量快速應用。

在人氣方面,開發商最近發布了一個流量統計數據有趣的發現,在 Reddit 上 r/Reactr/Angular 似乎每天都有相同的流量,這意味著 React 實際上在很多方面趕上了 Angular。

下載

Socket

Socket.IO

Socket 在即時開發者社區中獲得了很大的勢力。使用 Socket,你可以在客戶端和服務器之間享受功能齊全的即時通信。Socket 分為兩個不同的部分 – 第一部分是從瀏覽器運行的客戶端庫,而服務器庫建立在 Node.js 之上。這兩個函式庫共享一個非常相似的 API,Socket 也是事件驅動;很像 Node.js。使用 Socket,你可以實現二進制,即時消息平台的實時流式傳輸,交互式文檔協作,應用和項目(分析)的即時統計資訊等等。

Microsoft Office 依賴 Socket 來提供大部分的即時功能,Yammer 也是如此。Socket 與 WebSocket 協議大量工作,提供了一種透明的體驗。

下載

Polymer

Welcome Polymer 1.0

Google 的 Polymer項目不僅僅是使用 Material Design 的東西,這個 stupefying JavaScript 框架是所有關於快速和現代的web設計通過創建和重用 web 組件的能力。該項目在 BETA 版本中花了很長時間,但去年我們看到了 V1 的第一個版本,該項目自那以後就一直在滾雪球。

雖然許多人仍然想知道 Polymer 和 Angular 之間的真正區別是什麼(因為它們具有很多類似的代碼語法和設計特性),我們知道Polymer 帶來了一種新的開發體驗,將推動其餘的將行業轉化為基於現代網路組件的開發方法。

下載

Node.js

Node.js

Node.js 很可能是自 JavaScript 成立以來我們所看到的最強大的框架,並且該項目在最近幾年已經發展得非常大。雖然許多人預測 Node.js 的垮台和其他服務器端框架的興起,但是 Node.js 已經能夠保持其領導地位,直到今日也是。Node.js 已經變得極具可擴展性和多功能性,它的功能,許多開發人員在技術編程語言如 Java 和 .NET 之上排名! (至少對於web)

Node.js 構建在 Google 的 V8 JavaScript 引擎之上,框架的主要目的是幫助建構互動強大的網路應用程式,如社區網站,內容流網站,功能強大的單頁應用程式和其他依賴大量數據的應用程式相互作用。這個開源項目可以由初學者學習,因為它可以很容易地被來自其他語言的開發人員學習。每個人的學習曲線是一樣的。

去年,Node 與 IO.js 完全合併 – 帶來一些功能和潛在的擴展列表。

下載

Meteor

Meteor

Meteor 已經從一個簡單的靈感理念發展成為一個功能齊全,資金充足的項目。目前擁有數以千計的熱心開發者。Meteor 在許多方面革新了開發的即時移動和Web應用程序,可以從單一的開發界面構建。任何使用 Meteor 構建的Web應用程序也會自動與移動設備兼容 – 讓你可以將現有的網路應用程式轉換為移動應用程序,並在最受歡迎的移動應用商店上發布!

隨著最近發布的 Galaxy(雲託管平台),Meteor 正在使前端和後端開發成為一個統一的,無復雜性的體驗。Meteor 的一個穩定的 full-stack 框架,支持本地 JavaScript 語言,幫助構建現代和可擴展的Web和移動應用程式。公共軟件包 Atmosphere 有成千上萬個已發布的軟件包,可讓你即時構建 Multiplex 應用程式。

下載

D3.js

D3.js Data Driven Documents

視覺、動畫和圖形是網路相當重要的組成部分。 如果沒有在我們的設計中實現好的圖形,我們有可能根據給定的情況將我們的設計描繪為暗淡和淺色。D3 是一個數據驅動的可視化組件函式庫,幫助開發人員和設計師使用 JavaScript 構建真正令人驚訝的可視化數據報告,像創意工作、互動箭頭圖、旭日圖、各種數據矩陣、字雲以及無數其他類型的數據可視化,這將會讓你的客戶對整體演示感到非常滿意。使用 D3.js 需要時間來學習正確語法用法,但這非常值得,你可以這個頁面看到一些範例

D3 的創造者 – Mike Bostock – 去年在 Reddit 上做了一個有趣的 Ask Me Anything(AMA),它包含了深刻的問題和答案,這將有助於您更好地理解這個項目的意圖,願景和驅動力。有興趣的話可以花一些時間消化所有的答案。

下載

Ember

Ember.js A framework for creating ambitious web applications.

Ember 是一個面向開發人員的現代Web開發框架。以其幫助開發人員構建複雜的大型客戶端應用程式而聞名 – Ember 憑藉其簡單性和功能流程,使Web應用程式開發變得流暢。 開始使用 Ember 是快速和無痛的,許多開發人員已經走出自己的方式來創建教學和指南,了解如何開始使用這個適應性框架。

Ember 已經設法避開了模糊的術語和模塊,使它在現今眾多框架中脫穎而出,而 Ember 維持了傳統的功能,同時提供了強大的功能,像是 Discourse discussion forum

下載

Aurelia

Home Aurelia

Aurelia 自稱為下一代Web開發框架,主要致力於使編程(Web開發)成為一個創造性的過程。但也許正如 Aurelia 所說的那樣,它已經採用了 ES6(最新的JS標準)建構,並且已經包含一些可用的 ES7(下一個JS標準)功能,同時保留了在所有現代瀏覽器上的功能。該框架建立在模塊化框架之上,意味著它由幾個小型和大型函式庫組成,可以一起使用,也可以單獨使用,具體取決於您正在構建的應用程式的類型。

然而,這些僅僅是少數 Aurelia 軟件包一些更有遠見的特點,強烈建議你閱讀 Rob Eisenberg 關於 Aurelia 的文章,以充分了解框架的目的。

下載

Knockout

Knockout Home

Knockoutjs 的主要特點是聲明綁定、自動刷新界面、依賴追踪和模板功能。使用簡單的語法將現有的 DOM 元素與數據模型相關聯。每當更新數據模型時,UI 中的更改都會即時反映。在數據模型之間創建連接以組合和轉換它們。 創建複雜的介面模型作為您用於數據模型的函數的一部分。在原生 JavaScript 的支持下,Knockout 將使它非常容易與任何其他可用框架整合在一起。

下載

Keystone

KeystoneJS · Node.js cms and web application platform built on Express and MongoDB

我們應該在一個單獨的 Node.js 框架文章中提到這個框架,但 Keystone 的功能在現代前端網頁開發中非常突出,我們通常不會看到完整的內容管理系統(CMS)框架。Keystone 在 Express.js 和 MongoDB 的支持下構建,支持動態路由、數據庫字段管理、交互式和動態管理界面,即使在構建應用程序/內容系統時也可以使用,只需使用代碼庫、表單處理、電子郵件發送和管理,以及大量的其他功能。

下載

Backbone

Backbone.js

使用傳統的 Web開發庫構建單頁應用程式,如果稍不注意代碼結構,可能將你的代碼庫變成糾纏在一起的麵條。Backbone 就是為解決這一問題而產生,所有服務器端功能應該流經一個 API,最小化需要組成的代碼量,以便實現更複雜的Web框架的同樣複雜的功能。

Backbone 作為 JavaScript 開發人員相當熱門的Web開發框架之一,部分原因有兩個:很容易理解可用性模塊,以及非常直接的學習曲線。

下載

Stapes

Stapes.js the little Javascript framework that does just enough

Stapes 有點像是 Backbone 的後繼者,並提供了一個偉大的框架體驗,同時保留一個範圍內僅 20 個活動模塊的能力。Stapes 主要關注的是類的創建,自定義事件和數據的方法。

下載

Choosing the Best JavaScript Development Framework

選擇一個框架不應該是關於特定框架可以提供多少功能及數量,而且很明顯,用像「下一代」這樣的術語聽起來非常的有吸引力,但追根究底還是要看框架的實際功能,如何使用且為你自己的項目、應用程式、正在建設的軟體提供哪些功能。