譯-2018年該學哪一個JavaScript框架?

zhuxy發表於2018-01-02

enter image description here

首先我要定義一下我心中的程式碼框架,因為這個詞存在爭議。我認為框架是一個庫(注:個人不太同意這個說法),它定義了每一個方面或層的結構,使建立應用程式的任務變得更容易。從層上說,我指的是資料庫、模型、控制器、檢視、表現層、網路,等等......

框架嘗試去解決在應用中經常遇到的絕大多數大且已知的問題。它們內建了許多你不需要關心的設計決策,它們同樣也有精心制定的指導方針。

好的框架有巧妙的預設值以及遵循約定而不是配置的概念,在這方面做得好的是 Ruby On Rails 框架,同時也是我最喜歡的框架之一。在 JavaScript 領域,頭牌 JavaScript 框架是 Angular 和 Ember。

現在我們弄清了這一點,那我就來回答標題的答案:2018年該學哪一個JavaScript框架?

我的答案是:沒有。

我來解釋一下為什麼。

除非你工作中需要你使用一個框架,不要僅僅為了學習而去學一個框架。我在說的是學習如何使用一個框架,這些知識會很快過時。

另一方面,你應該學習框架是如何工作的,這是非常珍貴的知識。如果你學習一個框架的動力是得到一個好的工作,知道框架是如何工作的比只知道如何使用它,肯定給人更深的印象。

僅當你確實需要的時候,才去學習如何使用一個框架。

我想為了成為一個更有市場的開發者,有許多更重要技術的去學:

● 學習JavaScript本身,好的部分和壞的部分以及最近剛添的現代特性;學習如何建立和使用JavaScript中各種各樣的資料結構。

● 學習JavaScript的執行時,像Node和瀏覽器以及它們是如何是單執行緒的;學習它們的API和各自的邊界;學習 Event-Loop;學習 VM 的呼叫棧。熟悉瀏覽器的 DevTools。

● 學習客戶端和服務端如何共享程式碼以及預載入資料;學習在瀏覽器中如何最小化JavaScript載入和如何解析;學習如何按需載入JavaScript。

● 學習函數語言程式設計並且在你需要的地方使用它;學習如何做宣告式而不是命令式。

● 學習那些專且精的小JavaScript庫,選擇使用最小的API的庫,不要把重點放在API上,而是關注這些庫能讓你做些什麼。

● 學習如何構建可伸縮的資料API(可以看看GraphQL)

● 學習CSS的強大之處以及使用它如何來減少你應用中的JavaScript程式碼;學習新的佈局屬性:Flexbox和Grid;學習響應式設計。

● 學習通過TypeScript(或者Flow)如何在JavaScript加入靜態型別,同時你應該把重點放在型別和測試上。

謝謝閱讀!

更多文章請關注:

enter image description here

原文:Which JavaScript frameworks should you learn in 2018?

相關文章