2017年值得關注的JavaScript框架與主題翻譯自Top JavaScript Frameworks & Topics to Learn in 2017,從屬于筆者的Web 前端入門與最佳實踐。其他有關于2016年前端開發(fā)的總結包括2016 年前端工具使用度調研報告、2016年里做前端是怎樣一種體驗、2016前端學習路線圖。另外推薦The State of UX in 2017,作為開發(fā)者了解下設計的想法也是必需的。
JavaScript的繁榮促生了很多優(yōu)秀的技術、框架與工具庫,這空前的繁榮也給很多人造成了困惑,無所適從。到底何者是值得投入,代表了未來的方向,而何者又是真正適合于當前項目,當前團隊的?而本文即時作者基于自身實踐的一些思考,與諸君共享。
JavaScript%20&%20DOM%20Fundamentals
工欲善其事,必先知其器。在我們準備了解使用其他JavaScript框架的時候,我們首先需要去了解JavaScript的語法要點與一些工程實踐:
內建方法:%20我們需要了解標準數(shù)據(jù)類型%20(特別是%20arrays,%20objects,%20strings,%20以及%20numbers).
函數(shù)%20&%20純函數(shù):%20或許你覺得自己已經很了解函數(shù)了,但是總有些小技巧是你沒有接觸過的。另外不僅僅是對于基本的函數(shù)的用法,我們還要對函數(shù)式編程的思想,譬如純函數(shù)高階函數(shù)等有所掌握。
Closures:%20在學習閉包的過程中了解JavaScript傳統(tǒng)的函數(shù)作用域。
Callbacks:%20回調是JavaScript異步編程的基本概念,某個回調函數(shù)會在某個異步操作結束后被調用,就好比領導對你說:好好干你的工作,做好了跟我匯報下。
Promises:%20Promise是處理將來值的方法之一,當某個函數(shù)返回的是Promise對象時,你可以調用該對象的
then
函數(shù)來獲取異步傳入的值。而調用者是通過傳入的resolve
回調來傳值,譬如doSomething().then(value%20=http://www.netofthings.cn/JieJueFangAn/2016-12/>%20console.log(value));
Ajax%20&%20服務端API調用:%20絕大部分有趣的應用都需要與服務端通過網(wǎng)絡進行交互,你應該了解基本的HTTP%20Client知識。
ES6:%20最新的JavaScript版本為ES7,或者叫ES2016,不過很多人ES6還沒用熟練,正在過渡期吧。
Classes%20(note:%20避免類繼承.%20參考%20How%20to%20Use%20Classes%20and%20Sleep%20at%20Night.)
函數(shù)式編程基礎:%20函數(shù)式編程基于數(shù)據(jù)函數(shù)的組合來構建業(yè)務邏輯,避免了共享狀態(tài)與可變數(shù)據(jù),這一點會避免很多的問題。
Generators%20&%20async/await:%20個人觀點,最好的異步代碼的寫法就是用寫同步代碼的方式去寫異步代碼。不可否認這些都存在學習曲線,不過磨刀不誤砍柴工。
Performance:%20RAIL?—?參考%20“PageSpeed%20Insights”%20&%20“WebPageTest.org”
Progressive%20Web%20Applications%20(PWAs):%20參考%20“Native%20Apps%20are%20Doomed”&%20“Why%20Native%20Apps%20Really%20Are%20Doomed”
Node%20&%20Express:%20Node允許你在服務端運行JavaScript程序,而Express則是目前最為流行的基于NodeJS的Web框架。
Lodash:%20一個非常好用的、模塊清晰的JavaScript輔助工具,其也遵循了很多函數(shù)式編程的理念,你可以通過%20
lodash/fp
導入。