編譯自: http://www./blog/6-best-javascript-frameworks-to-learn-in-2016 常言道,條條大路通羅馬,,可是那一條適合我呢,? 由于用于構建前端頁面等現(xiàn)代技術的出現(xiàn),JavaScript 在 Web 開發(fā)社區(qū)早已是如雷貫耳,。通過在網(wǎng)頁上編寫幾個函數(shù)并提供執(zhí)行邏輯,,可以很好的支持 HTML (主要是用于頁面的 表現(xiàn) 或者 布局)。如果沒有 JavaScript,,那頁面將沒有任何 交互特性 可言,。 現(xiàn)在的框架和庫的已經(jīng)從蠻荒時代崛起了,很多老舊的技術紛紛開始將功能分離成模塊?,F(xiàn)在不再需要在整個核心語言中支持所有特性了,,開發(fā)者允許所有用戶創(chuàng)建庫和框架來增強核心語言的功能,。這樣,,語言的靈活性獲得了了顯著提高。 如果在已經(jīng)在使用 JavaScript (以及 JQuery) 來支持 HTML,,那么你肯定知道開發(fā)和維護一個大型應用需要付出多大的努力以及編寫多么復雜的代碼,,而 JavaScript 框架可以幫助你快速的構建交互式 Web 應用 (包含單頁面應用或者多頁面應用)。 當一個新手開發(fā)者想要學習 JavaScript 時,,他常常會被各種 JavaScript 框架所吸引,,也幸虧有為數(shù)眾多的社區(qū),任何開發(fā)者都可以輕易地通過在線教程或者其他資源來學習,。 但是,,唉,!多數(shù)的程序員都很難決定學習和使用哪一個框架。因此在本文中,,我將為大家推薦 6 個值得好好學習的 JavaScript 框架,。讓我們開始吧。 1,、AngularJS Angular (注:這是我個人最喜歡的框架) 無論你是何時聽說的 JavaScript,,很可能你早就聽過 AngularJS,因為這是在 JavaScript 社區(qū)中最為廣泛使用的框架了,。它發(fā)布于 2000 年,,由 Google 開發(fā) (這夠有說服力讓你是用了吧) ,它是一個開源項目,,這意味著你可以閱讀,、編輯和修改其源代碼以便更加符合自身的需求,并且不用向其開發(fā)者支付一分錢 (這不是很酷嗎,?),。 如果說你覺得通過純粹的 JavaScript 代碼編寫一個復雜的 Web 應用比較困難的話,那么你肯定會興奮的跳起來,,因為它將顯著地減輕你的編碼負擔,。它符合支持雙向數(shù)據(jù)綁定的 MVC (模型-視圖-控制) 設計典范。假如你不熟悉 MVC,,你只需要知道它代表著無論何時探測到某些變化,,它將自動更新前端 (比如,用戶界面端) 和后端 (代碼或者服務器端) 數(shù)據(jù),。 MVC 可為大大減少構建復雜應用程序所需的時間和精力,,所有你只需要集中精力于一處即可 (DOM 編程接口會自動同步更新視圖和模型)。由于 視圖組件 與 模型組件 是分離的,,你可以很容易的創(chuàng)建一個可復用的組件,,使得用戶界面的效果非常好看。 如果因為某些原因,,你已經(jīng)使用了 TypeScript (一種與 JavaScript 非常相似的語言),,那么你可以很容易就上手 AngularJS,因為這兩者的語法高度相似,。與 TypeScript 相似這一特點在一定程度上提升了 AngularJS 的受歡迎程度,。 目前,Angular 2.0 已經(jīng)發(fā)布,,并且提升了移動端的性能,,這也足以向一個新的開發(fā)者證明,該框架的開發(fā)活躍的夠高并且定期更新,。 AngularJS 有著大量的用戶,,包括 (但不限于) Udemy,、Forbes、GoDaddy,、Ford,、NBA 和 Oscars。 對于那些想要一個高效的 MVC 框架,,用來開發(fā)面面俱到,、包含健壯且現(xiàn)代化的基礎架構的單頁應用的用戶來說,我極力的推薦這個框架,。這是第一個為無經(jīng)驗 JavaScript 開發(fā)者設計的框架,。 2、React React 與 AngularJS 相似,,React 也是一個 MVC (模型-視圖-控制) 類型的框架,,但不同的是,它完全針對于 視圖組件 (因為它是為 UI 特別定制的) 并且可與任何架構進行無縫銜接,。這意味著你可以馬上將它運用到你的網(wǎng)站中去,。 它從核心功能中抽象出 DOM 編程接口 (并且因此使用了虛擬 DOM),所以你可以快速的渲染 UI,,這使得你能夠通過 node.js 將它作為一個客戶端框架來使用,。它是由 Facebook 開發(fā)的開源項目,還有其它的開發(fā)者為它貢獻代碼,。 假如說你見到過并喜歡 Facebook 和 Instagram 的界面,,那么你將會愛上 React。通過 React,,你可以給你的應用的每個狀態(tài)設計一個簡單的視圖,,當數(shù)據(jù)改變的時候,視圖也自動隨之改變,。只要你想的話,,可以創(chuàng)建各種的復雜 UI,也可以在任何應用中復用它,。在服務器端,,React 同樣支持通過 node.js 來進行渲染。對于其他的接口,,React 也一樣表現(xiàn)得足夠的靈活,。 除 Facebook 和 Instagram 外,還有好多公司也在使用 React,,包括 Whatsapp、BBC,、,、PayPal,、Netflix 和 Dropbox 等。 如果你只需要一個前端開發(fā)框架來構建一個非常復雜且界面極好的強大視圖層,,那我極力向你推薦這個框架,,但你需要有足夠的經(jīng)驗來處理各種類型的 JavaScript 代碼,而且你再也不需要其他的組件了 (因為你可以自己集成它們),。 3,、Ember Ember 這個 JavaScript 框架在 2011 年正式發(fā)布,是由 Yehuda Katz 開發(fā)的開源項目,。它有一個龐大且活躍的在線社區(qū),,所有在有任何問題時,你都可以在社區(qū)中提問,。該框架吸收融合了非常多的通用 JavaScript 風格和經(jīng)驗,,以便確保開發(fā)者能最快的做到開箱即用。 它使用了 MVVM (模型-視圖-視圖模型) 的設計模式,,這使得它與 MVC 有些不一樣,,因為它由一個 連接器 (binder) 幫助視圖和數(shù)據(jù)連接器進行通信。 對于 DOM 編程接口的快速服務端渲染,,它借助了 Fastboot.js,,這能夠讓那些復雜 UI 的性能得到極大提高。 它的現(xiàn)代化路由模式和模型引擎還支持 RESTful API,,這可以卻確保你可以使用這種最新的技術,。它支持句柄集成模板,用以自動更新數(shù)據(jù),。 早在 2015 年間,,它的風頭曾一度蓋過 AngularJS 和 React,被稱為最好的 JavaScript 框架,,對于它在 JavaScript 社區(qū)中的可用性和吸引力,,這樣的說服力該是足夠了的。 對于不追求高靈活性和大型架構的用戶,,并且僅僅只是為了趕赴工期,、完成任務的話,我個人非常推薦這個 JavaScript 框架,, 4,、Adonis Adonis 如果你曾使用過 Laravel 和 NodeJS,那么你在使用這一個框架之時會覺得相當順手,,因為它是集合了這兩個平臺的優(yōu)點而形成的一個框架,,對于任何種類的現(xiàn)代應用來說,它都顯得非常專業(yè),、圓潤和精致,。 它使用了 NodeJS,,所以是一個很好的后端框架,同時還附帶有一些前端特性 (與前面提到那些更多地注重前端的框架不同),,所以想要進入后端開發(fā)的新手開發(fā)者會發(fā)覺這個框架相當迷人,。 相比于 NoSQL,很多的開發(fā)者都比價喜歡使用 SQL 數(shù)據(jù)庫 (因為他們需要增強和數(shù)據(jù)以及其它特性的交互性),,這一現(xiàn)象在這個框架中得到了很好的體現(xiàn),,這時的它更接近標準,開發(fā)者也更容易使用,。 如果你混跡于各類 PHP 社區(qū),,那你一定很熟悉 服務提供商,也由于 Adonis 相應的 PHP 風格包含其中,,所以在使用它的時候,,你會覺得似曾相識。 在它所有的特性中,,最好的便是那個極為強大的路由引擎,,支持使用函數(shù)來組織和管理應用的所有狀態(tài)、支持錯誤處理機制,、支持通過 SQL ORM 來進行數(shù)據(jù)庫查詢,、支持生成器、支持箭頭函數(shù),、支持代理等等,。 如果喜歡使用無狀態(tài) REST API 來構建服務器端應用,我比較推薦它,,因為你會愛上這個框架的,。 5、Vue.js Vue.js 這一個開源的 JavaScript 框架,,發(fā)布于 2014 年,,它有個極為簡單的 API,用以為現(xiàn)代 Web 界面開發(fā)交互式組件,。其設計著重于簡單易用,。與 Ember 相似,它使用的是 MVVM (模型-視圖-視圖模型) 設計范例,,這樣簡化了設計,。 這個框架最有吸引力的一點是,你可以根據(jù)自身需求來選擇使用的模塊,。比如,,你需要編寫簡單的 HTML 代碼,抓取 JSON,然后創(chuàng)建一個 Vue 實例來完成可以復用的小特效,。 與之前的那些 JavaScript 框架相似,,它使用雙路數(shù)據(jù)綁定來更新模型和視圖,,同時也使用連接器來完成視圖和數(shù)據(jù)連接器的通信,。這是一個還未完全成熟的框架,因為它全部的關注點都在視圖層,,所以你需要自己處理其它的組件,。 如果你熟悉 AngularJS,那你會感覺很順手,,因為它大量嵌入了 AngularJS 的架構,,如果你懂得 JavaScript 的基礎用法,那你的許多項目都可以輕易地遷移到該框架之下,。 假如你只想把任務完成,,或者想提升你自身的 JavaScript 編程經(jīng)驗,又或者你需要學習不同的 JavAScript 框架的本質(zhì),,我極力推薦這個,。 6、Backbone.js Backbone.JS 這個框架可以很容易的集成到任何第三方的模板引擎,,默認使用的是 Underscore 模板引擎,,而且該框架僅有一個依賴 (JQuery),因此它以輕量而聞名,。它支持帶有 RESTful JSON 接口的 MVC (模型-視圖-控制) (可以自動更新前端和后端) 設計范例,。 假如你曾經(jīng)使用過著名的社交新聞網(wǎng)絡服務 reddit,那么你肯定聽說過它在幾個單頁面應用中使用了 Backbone.js,。Backbone.js 的原作者為之建立了與 CoffeScript 旗鼓相當?shù)?nbsp;Underscore 模板引擎,,所以你可以放心,開發(fā)者知道該做什么,。 該框架在一個軟件包中提供了鍵值對 模型,、視圖以及幾個打包的模塊,所以你不需要額外下載其他的外部包,,這樣可以節(jié)省不少時間,。框架的源碼可以在 GitHub 進行查看,,這意味著你可以根據(jù)需求進行深度定制,。 如果你是尋找一個入門級框架來快速構建一個單頁面應用,那么這個框架非常適合你,。 總而言之 至此,,我已經(jīng)在本文著重說明了 6 個值得好好學習的 JavaScript 框架,希望你讀完本文后能夠決定使用哪個框架來完成自己的任務。 如果說對于選擇框架,,你還是不知所措,,請記住,這個世界是實踐出真知而非教條主義的,。最好就是從列表中挑選一個來使用,,看看最后是否滿足你的需求和興趣,如果還是不行,,接著試試另一個,。你也盡管放心好了,列表中的框架肯定是足夠了的,。 譯者簡介: GHLandy[1] —— 生活中所有歡樂與苦悶都應藏在心中,,有些事兒注定無人知曉,自己也無從說起,。 via: http://www./blog/6-best-javascript-frameworks-to-learn-in-2016 作者:Danyal Zia[2] 譯者:GHLandy 校對:wxy |
|
來自: 控影 > 《程序,,人力,,銷售》