2017 年前端大事件回顧,2018 年又將何去何從?

https://my.oschina.net/editorial-story/blog/1586488

2017年,前端開發繼續飛速發展。以下是在過去的一年中非常值得關注的十大事件整理,主要參考了國內外的一些報道和文章,希望能對大家在思考 2018 年的趨勢和走向上有所幫助。

1、React 16 和 MIT 許可證

2017年,React 繼續在前端領域佔據主導地位,備受期待的 React 16 也正式發佈。該版本包含可實現異步 UI 渲染的 fiber 架構,以及更便捷的錯誤管理。

不過,React 更引人關注的不是其新特性,而是開源許可證的更改。Facebook 放棄了導致很多企業拒絕使用其開源項目的 BSD+專利許可模式,並採用了對用戶友好的 MIT 許可證。同時,Jest、Flow、Immutable.js 和 GraphQL 等項目也更改為了 MIT 許可證。

2017 年前端大事件回顧,2018 年又將何去何從?

2、下一代 Web 應用模型 — PWA

PWA(Progressive Web App)是 Google 於 2016 年提出的概念,2017 年已被迅速採用。PWA 旨在增強 Web 體驗,可顯著提高加載速度、可離線工作、可被添加至主屏、全屏執行、推送通知消息等等。這些特性將使得 Web 應用漸進式接近原生 App。

2017 年前端大事件回顧,2018 年又將何去何從?

3、Yarn 快速普及,NPM 跟上腳步

Facebook 與 Exponent、 Google 和 Tilde 合作開發的 Yarn 在2016年10月發佈以後,迅速躥紅。Yarn 可以看做是對 NPM 缺失的一些關鍵特性的補充,能夠更快速地安裝軟件包和管理依賴關係,並且可以在跨機器或者無網絡的安全環境中保持代碼的一致性。據悉,Yarn 下載量目前已超過10億次(每月下載量達到125萬次)。

Yarn 的成功,使得 NPM 在 5.0 版本中也加入了上述的這些特性。

2017 年前端大事件回顧,2018 年又將何去何從?

4、WebAssembly 受主流瀏覽器支持

WebAssembly (wasm)在今年受到了所有主流瀏覽器的支持,包括 Chrome、Firefox、Safari 和 Edge 。wasm 源於 Mozilla 發起的 Asm.js 項目,用於補充 JavaScript,其本地解碼速度比 JS 解析快得多,讓高性能的 Web 應用在瀏覽器上運行成為可能,比如視頻遊戲、計算機輔助設計、視頻和圖像編輯、科學可視化等等。

而且由於 wasm 字節碼(Bytecode)較一般程序代碼小許多倍,意謂著這項標準可節省移動設備的使用帶寬,有助於改善網頁加載速度,且字節碼更適合瀏覽器讀取。

wasm 還提供了一個JavaScript API,為前端開發人員提供了一個更容易的切入點。

2017 年前端大事件回顧,2018 年又將何去何從?

5、Angular 發佈了 v4,以及……v5

由於採用語義化版本控制,Angular 在今年跨越了兩個大版本:於 3月23日 發佈的 Angular 4 以及於 11月1日 發佈的 Angular 5。Angular 4 優化了視圖引擎、減少代碼體積;Angular 5 中包含了一些用戶期待已久的改進,像是編譯器的改進,能更快的構建/重建;新的 @angular/service-worker 包能夠更好的構建漸進式 Web 應用程序。

6、Vue.js 繼續流行

既然說到了 React ,說到了 Angular ,自然不能落下 Vue 。2017年,Vue 依然越來越受歡迎,該框架提供基於組件的架構,是 React 在因許可證問題被抵制時的主要替代方案之一。它已經被包括 GitLab 在內的許多大型公司採用,在 Stack Overflow 上的關注度居高不下。

2017 年前端大事件回顧,2018 年又將何去何從?

7、CSS-in-JS 在爭議中沉澱

React 的出現,打破了以前“關注點分離”的網頁開發原則,因其採用組件結構,組件強制要求把 HTML、CSS、JavaScript 寫在一起。隨著 React 的走紅和組件模式深入人心,這種"關注點混合"的新寫法逐漸成為主流。表面上,React 的寫法是 HTML、CSS、JavaScript 混合在一起。實際上並不是,其實是用 JavaScript 在寫 HTML 和 CSS,React 是在 JavaScript 裡面實現了對 HTML 和 CSS 的封裝。

由於 CSS 的封裝非常弱,導致了一系列的第三方庫,用來加強 React 的 CSS 操作,它們統稱為 CSS in JS,意思就是使用 JS 語言寫 CSS。

CSS in JS 的出現帶來了很多爭議,有不少人認為是在重複造輪子,或者說是沒有找到其優勢。CSS-IN-JS 是不是未來的方向我們暫且不議,但其在2017年已得到明顯的採用。

2017 年前端大事件回顧,2018 年又將何去何從?

8、靜態網站捲土重來

2017 ,靜態網站捲土重來。Gatsby 等框架使你能夠使用 React 和其他現代工具構建靜態網站。不是每個網站都需要或應該是一個複雜的現代 Web 應用,靜態網站生成器能夠提供的服務器端渲染和無與倫比的速度,正式其優勢所在。

靜態網站生成器還引發了另一個被稱為 JAMStack 的趨勢:“JavaScript,APIs,Markup”。 JAMStack 使用相同的靜態預構建 HTML 文件以及可重複使用的 API 和 JavaScript 來處理請求/響應週期內的任何動態編程,旨在提供更好的性能,更高的安全性,更低的擴展成本和更優的開發人員體驗。

2017 年前端大事件回顧,2018 年又將何去何從?

9、GraphQL 繼續挑戰 REST

雖然很多人認為 GraphQL 在2017年依然沒有火起來,但不可否認的是 GraphQL 已逐漸佔據了一席之地。不再管理多個端點並獲取不必要的數據,GraphQL 允許客戶端聲明式地定義所需的數據,並從單個端點檢索所有數據。這也正式它在剛出現時被認為是革命性的 API 工具的原因,因為它可以讓客戶端在請求中指定希望得到的數據,而不像傳統的 REST 那樣只能呆板地在服務端進行預定義。

2017 年前端大事件回顧,2018 年又將何去何從?

10、TypeScript 和 Flow 受追捧

2017年,TypeScript 受到了很多 JavaScript 開發者的追捧。TypeScript 由微軟創建,也是新版 Angular 採用的語言,其強類型正式優勢所在。 而 Flow 則提供了一種更加靈活的方式來引入類型,而不需要進行重構。

2017 年前端大事件回顧,2018 年又將何去何從?


分享到:


相關文章: