2019年前端發展趨勢分析

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

核心觀點:react

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

三大框架趨於一致和平穩

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

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

PWA 進入穩按期

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

  1. 安裝:PWA 是一個不須要下載安裝便可使用的應用。web

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

  3. 基本能力補齊,好比推送。數據庫

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

小程序火爆

若是說和 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編程更上一層樓,尤爲是大團的開發,簡直是利器。

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

總結

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

相關文章
相關標籤/搜索