譯-2018年該學哪一個JavaScript框架?
首先我要定義一下我心中的程式碼框架,因為這個詞存在爭議。我認為框架是一個庫(注:個人不太同意這個說法),它定義了每一個方面或層的結構,使建立應用程式的任務變得更容易。從層上說,我指的是資料庫、模型、控制器、檢視、表現層、網路,等等......
框架嘗試去解決在應用中經常遇到的絕大多數大且已知的問題。它們內建了許多你不需要關心的設計決策,它們同樣也有精心制定的指導方針。
好的框架有巧妙的預設值以及遵循約定而不是配置的概念,在這方面做得好的是 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加入靜態型別,同時你應該把重點放在型別和測試上。
謝謝閱讀!
更多文章請關注:
相關文章
- [譯] 哪一個深度學習框架增長最迅猛?TensorFlow 還是 PyTorch?深度學習框架PyTorch
- 哪一個深度學習框架增長最迅猛?TensorFlow 還是 PyTorch?深度學習框架PyTorch
- openSUSE Leap 與 Tumbleweed,我該選擇哪一個
- Python開源框架,你最中意哪一個?Python框架
- 學習程式設計,python和GO語言應該選擇哪一個?程式設計PythonGo
- cross-plateform 跨平臺應用程式-03-如果只選擇一個框架,應該選擇哪一個?ROSORM框架
- [譯] 2019 年值得學習的頂級 JavaScript 框架與主題JavaScript框架
- 值得探索的 8 個機器學習 JavaScript 框架機器學習JavaScript框架
- 企業應該首先採用Istio或Kubernetes中哪一個?
- 【譯】2019年JavaScript開發者應該都在用的9個棒的技巧JavaScript
- [譯] React Native 對 Flutter:哪一個對創業公司更加友好?React NativeFlutter創業
- 【譯】2019年值得學習的頂尖JavaScript框架和要學習的主題JavaScript框架
- JavaScript框架的四個時代JavaScript框架
- 【譯】關於JavaScript 陣列你應該知道的事情JavaScript陣列
- 每個JavaScript開發人員都應該知道的新ES2018功能(譯文)JavaScript
- 「譯」Java Thread vs AsyncTask:該用哪個?Javathread
- 推薦4個常用Python自動化測試框架,你更鐘愛哪一個?Python框架
- 【譯】分享7個好用的JavaScript技巧JavaScript
- 【譯】12個提高 JavaScript 技能的概念!JavaScript
- 為什麼 Web 開發人員需要學習一個 JavaScript 框架?WebJavaScript框架
- [譯] Vue.js 還是 React?你會選擇哪一個?為什麼?Vue.jsReact
- 【譯】用JavaScript寫一個區塊鏈JavaScript區塊鏈
- 【譯】關於 JavaScript 的原型你應該知道的所有事情JavaScript原型
- [譯] 理解非同步 JavaScript-學習JavaScript是怎麼工作的非同步JavaScript
- 每個開發者都應該知道的33個JavaScript概念JavaScript
- Kite: 一個分散式微服務框架(翻譯)分散式微服務框架
- Python還是c++ 哪一個適合自學+[阿喜]32265190PythonC++
- 機器翻譯進化到哪一步了?
- Memcached vs Redis, 挑選哪一個?Redis
- 【譯】我是如何學習任意前端框架的前端框架
- contributions該不該譯成“貢獻”?
- 【六西格瑪】市場上叫諮詢公司的那麼多,我該選哪一個?
- 實現一個簡單的 JavaScript 編譯器JavaScript編譯
- [翻譯] JavaScript函式的6個基本術語JavaScript函式
- [譯]使用 JavaScript 物件 Rest 和 Spread 的7個技巧JavaScript物件REST
- 【譯】Jest 初學者教程:JavaScript 測試入門JavaScript
- [翻譯]每一個計算機專業的學生應該知道的知識(一)計算機
- [譯] JavaScript 之 this 指南JavaScript
- 每個JavaScript開發人員都應該瞭解UnicodeJavaScriptUnicode