2019年前端發展趨勢分析


2019年已經過去一半,前端領域有了較大的變化,是時候總結一下前端的發展變化了。

核心觀點:

  • 前端三大框架已趨於平穩,標准化,向 Web Components 看齊。
  • 小程序(各種平台)爆發,互聯網創業優先選擇小程序。多端受到重視,不再只是 all in mobile。
  • WebAssembly 讓更多語言可以運行在瀏覽器上。
  • PWA 進入穩定期,尤其是 PWA 桌面版,可以讓我們更好的看清楚 PC 桌面版開發的全貌。
  • Flutter 發展較快,最大硬傷是Dart語言。RN原有的開發方式會退出歷史舞台。
  • TypeScript已經慢慢成為前端的主流開發語言,將成為必備開發技能。
  • 開發團隊前后端分離已經進入深水期。
  • 其他:ServerLess\GraphSQL發展迅猛、D3、webgl、SVG、webpack不再是唯一的打包工具選項(Rollup、parcel零配置)、WebRTC、靜態生成、人工智能前端化

三大框架趨於一致和平穩

  • Vue3.0發布
  • React16版本
  • Angular 8

Vue 3 的 Class API 和 React 的寫法幾乎是一模一樣,三大框架基本開始趨同,未來會更加像Web Components.

PWA 進入穩定期

PWA 和 native app(移動應用)的核心區別在於以下幾點:

  1. 安裝:PWA 是一個不需要下載安裝即可使用的應用。

  2. 緩存使用:native app 主要是對 sqlite 緩存,以及文件讀寫操作,而 PWA 對緩存數據庫操作支持的非常好,足以應對各種場景。

  3. 基本能力補齊,比如推送。

現在 PWA 已經支持的很好了,唯一麻煩的是緩存策略和發版比較麻煩,應用輕量化的趨勢已經很明朗了

小程序火爆

如果說和 PWA 比較像的,大概就是小程序了,小程序也可以說是今年最火的技術。

 
image

微信小程序的下一步計划,支持 NPM、小程序雲、可視化編程、支持分包等,聽起來很美好,但坑依然不少。小程序原生提供的 DSL 不夠好用,所以就有了上層開發框架或者腳手架來優化開發效率,目前比較主流的有 3 個:

 
image

今年還冒出了微信小程序之外的頭條小程序、支付寶小程序、百度智能小程序等,未來還會有很多。同時,手機廠商大概是看到了小程序對其應用商店的威脅,小米、華為、OPPO、vivo 等九大國內手機廠商聯手成立了“快應用聯盟”,基於 react-native 技術棧,整體也很不錯,尤其是天貓調用菜鳥裹裹的快應用,安卓下有非常好的體驗。相較而言,微信是基於 Webview 的,而快應用使用的是原生渲染方案,其他家也大抵如此。

WebAssembly

WebAssembly 是一種新的字節碼格式,目前主流瀏覽器都已經支持 WebAssembly。 和 JS 需要解釋執行不同的是,WebAssembly 字節碼和底層機器碼很相似,可以快速裝載運行,因此性能相對於 JS 解釋執行而言有了極大的提升。 也就是說 WebAssembly 並不是一門編程語言,而是一份字節碼標准,需要用高級編程語言編譯出字節碼放到 WebAssembly 虛擬機中才能運行, 瀏覽器廠商需要做的就是根據 WebAssembly 規范實現虛擬機。

移動端

Flutter 是 Google 推出的幫助開發者在 Android 和 iOS 兩個平台,同時開發高質量原生應用的全新移動 UI 框架,和 React-native/Weex 一樣支持熱更新。Flutter 使用 Google 自己家的 Dart 語言編寫,剛好今年 Dart 2 也正式發布,不知道二者之間是否有關聯。目前 Dart 主攻 Flutter 和 Web 兩塊,同時提供了 pub 包管理器,儼然是一門全新的語言,學習成本有些高。反觀 TypeScript 就非常容易被接受,基於 npm 生態,兼容 ES 語法

TypeScript

強大的靜態編譯能力,讓JavaScript編程更上一層樓,尤其是大團的開發,簡直是利器。

原生支持ES6、對各個框架的支持度都完美契合。2019年是TS的爆發年。

總結

進入2019年,前端發展進入深水區,不再是開發的附庸,前端將會是未來開發的主力,技術變化也將風起雲涌,對於初學前端小伙伴們,選擇一個具備國際視野和開發趨勢的老師是非常重要的。有興趣的小伙伴可以看一下老馬親帶的AICODER程序員全棧培訓。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM