深度解讀 2018 JavaScript 趨勢報告(含視頻)

原文做者:UC 國際研發 Randy前端


寫在最前:歡迎你來到「UC國際技術」公衆號,咱們將爲你們提供與客戶端、服務端、算法、測試、數據、前端等相關的高質量技術文章,不限於原創與翻譯。react


好像掘金不能發佈視頻,那就貼上 B 站連接🔗叭~git

http://www.bilibili.com/video/av36543409程序員


文字版

Hello 我是 Randy. 🤣今天在這個視頻裏,我要帶你們一塊兒看看 The State of JavaScript 2018 的調查結果。github

The State of JavaScript 是一個由 Raphaël Benitte Sacha Greif, 以及 Michael Rambeau 從 2016 年開始每一年都會發起的一個針對 JavaScript 開發者的調查。調查包括對 JavaScript 社區總體走向的滿意度、對流行的框架或技術的評價、JavaScript 程序員的薪資狀況等等一系列問題。每一年都在年末提早幾個月開放調查問卷,而後在新年以前以數據可視化的形式,公佈調查結果。算法

你能夠在 https://stateofjs.com/ 上瀏覽今年以及往年的調查結果。編程

今年(2018 年)一共有兩萬多人蔘加了此次的調查,值得留意的是,這兩萬人當中,參與人數最多的國家是美國 🇺🇸,總共有 4929 個。而參與調查的中國 🇨🇳開發者只有 75 個。本人就是這 75 人之中的其中一個。後端

因此,我建議看到此次調查的中國開發者,下一年也參與其中。你能夠在 stateofjs.com 的首頁上,填寫你的 Email 地址,下一年開始接受問卷填寫時,就會收到郵件通知啦💡。react-native


接下來我不會把全部調查結果逐個講,而是隻講我我的認爲比較有意思的那一部分。前端框架

這些編譯到 JS 的語言,不算 ES6, 綜合來看,TypeScript 是最受歡迎的。最多人表示會再次使用,也最多人表示願意去學習他。而和 TypeScript 一樣爲 JS 增長類型檢查的 Flow, 就顯得不是那麼多人願意去學他,也許大部分人會認爲 TypeScript 是更好的選擇,並且 TypeScript 不只僅只有類型檢查。

令我意外的是,不少人沒有據說過 Reason. 但 Reason 在此次調查中,被認爲是最有潛力的。我認爲 Reason 藉助強大成熟的 OCaml 🐫, 以及對 JS 程序員友好的語法,是值得被更多人使用的。我相信當前端社區愈來愈接受函數式編程的時候,Reason 會和 TypeScript 同樣成功。

大多數人沒有興趣去學習 CloujureScript. 有趣的是,喜歡 cljs 的人最喜歡的是它的代碼風格,而不喜歡它的人,最不喜歡的也是它的代碼風格。

至於前端框架,毋庸置疑,最流行的是 React. 但不少人也願意去學 Vue. 最慘的是 Angular, 至關多的人表示不想再使用他,而且不想再用他的人在逐年增長。而你們不喜歡他的緣由主要是太臃腫,太複雜。


至於狀態管理,Redux 依然有大量的用戶。GraphQL 和 Apollo 雖然用戶不算太多,但有很是多的人想要學。

值得注意的是,Vue 官方的狀態管理工具 VueX 也被不少人提到。大概是由於用 Vue 的人都是用 VueX 來作狀態管理。

在後端,Express 依然是最多人的選擇,最大的緣由是他自己已經作了不少預設,開發的時候很省心。至於 Next.js, 相信已是作 React 服務器端渲染的首選框架。

在測試工具的對比當中,Jest 和 Mocha ☕️可謂是勢均力敵,但 Jest 的上升趨勢十分驚人。選擇 Jest 的緣由是不用任何配置,你就能夠用 Jest 作測試和斷言。並且經過官方的文檔,你幾乎能夠很清楚地學會怎麼在各類各樣的場景裏面使用 Jest 對你的程序進行測試。

我我的測試 React 程序的時候,也喜歡用 Jest 配合 Enzyme.


至於用 JS 來寫手機應用和桌面程序,Electron 和 React Native 毫無懸念是最多的人的選擇。對 Electron 的批評主要是性能差和臃腫,畢竟一個 Electron 打包的應用 gzip 後也有 50 多 MB. 根據調查結果來看,React Native 比其它 JS 開發手機應用的方案優勝的地方在於豐富的生態,和使用 React 的優點。但他實在是太 buggy 了。Airbnb 曾經也是 React Native 的重度使用者,但在早前也在博客稱計劃放棄 React Native 以及放棄的緣由. 我會把連接放在視頻的簡介裏。

我推薦你們關注 Carlo 和 Flutter. Carlo 基於 puppeteer, 能夠運行在裝有 Chrome 的電腦,是替代 Electron 的一個不錯的選擇。Flutter 使用 Dart 編譯成原生代碼,若是你不介意使用 Dart, 那麼不妨試試他。在國內,閒魚也在一部份的頁面實踐了 Flutter.


最後是開發工具,VS Code 能夠說是超高票數絕對領先於其它編輯器,遠遠高於 Sublime Text 和 Atom. 我本身也是從 Sublime Text 轉到 VS Code 的,由於 VS Code 既像編輯器那麼輕量,又有 IDE 同樣強大的功能。

總的來講,你們都認爲 JS 社區在往正確的方向走,不少人也願意使用 JS 做爲本身的主力語言。事實上我在這個問題上是投了 disagree 的。由於我以爲 使用 JS 編寫嚴肅的、大規模的應用是很危險的,我更願意選擇用 TypeScript 或者 Reason 做爲主力語言。


我我的認爲 2019 年前端社區會流行的技術有兩個,一個是 GraphQL, 由於使用 GraphQL 寫 CRUD 應用的時候,配合 Apollo 🚀能夠下降不少工做量。若是你們對 GraphQL 和 Apollo 有興趣,不妨讀一讀個人這篇文章,你會對他們有個大概的印象。另外一個是 React Hooks. React Hooks 可讓你把狀態邏輯獨立於你的組件,複用給其它的組件。這樣一來,基於 React Hooks 能夠創建起一個新的 React 生態。


這就是本次視頻的全部內容,喜歡這個節目的朋友不妨把它分享出去,順便點個關注和贊哦!歡迎留言討論。


>> 相關連接 <<


高效的 GraphQL:

https://gist.github.com/djyde/955aa3f8f46116d648d44a743970b089


React Native at Airbnb:

https://medium.com/airbnb-engineering/react-native-at-airbnb-f95aa460be1c


好文推薦:

2018 JavaScript 趨勢報告來啦!


「UC國際技術」致力於與你共享高質量的技術文章

歡迎關注咱們的公衆號、將文章分享給你的好友

相關文章
相關標籤/搜索