鏈接:https://zhuanlan.zhihu.com/p/24373050
來源:知乎
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
2017年值得關(guān)注的JavaScript框架與主題翻譯自Top JavaScript Frameworks & Topics to Learn in 2017,從屬于筆者的Web 前端入門與最佳實踐。其他有關(guān)于2016年前端開發(fā)的總結(jié)包括2016 年前端工具使用度調(diào)研報告、2016年里做前端是怎樣一種體驗、2016前端學習路線圖。另外推薦The State of UX in 2017,作為開發(fā)者了解下設(shè)計的想法也是必需的。

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