Flutter 1.5 釋出,正式成為全平臺 UI 框架!

承香墨影發表於2019-05-09

006tNc79ly1fyuhpu6m8zj30hs02st8x.jpg

Flutter 1.5 釋出,正式成為全平臺 UI 框架!

一. 序

在 Google I/O 2019 上,Dart 團隊宣佈推出新的 Flutter 穩定版本 1.5,這是 Flutter 迄今為止最大的一次版本釋出。

伴隨著 Flutter 1.5 的釋出,同期也宣佈釋出 Flutter for Web 的 Preview 版本,正式開啟了 Flutter 的全平臺 UI 框架之路。

Flutter 1.5 釋出,正式成為全平臺 UI 框架!

早在年初發布的 Flutter 2019 Roadmap 中,就有提到,會在今年支援移動裝置之外的平臺,對 Web 的支援,算是完成了一個新的里程碑吧。

二. Flutter for Web

Flutter 之所以能夠在移動平臺上執行,主要是依賴的 Flutter Engine,就是 Flutter 所依賴的執行環境。這就導致在移動平臺,只要你使用了 Flutter,哪怕只用混合開發的模式寫了一個頁面,這也將為你的 App 增大大約 4MB 的體積。

而 Flutter for Web,完全是一種全新的模式,它可以將 Dart 編寫的現有 Flutter 程式碼,編譯成可嵌入瀏覽器並部署到任何 Web 伺服器的程式碼。

編譯後的程式碼,完全是基於 HTML、CSS 和 JavaScript 這些標準的 Web 技術,所以它也不需要任何瀏覽器外掛的支援。

早期微軟的 Silverlight 和 Adobe 的 Flash 都證明了,一切需要外掛才能支援的 Web 應用,都是紙老虎,最終都會被基礎的 HTML 技術所替代。

我想這也是 Flutter for Web 選擇這種支援方式的一個考量因素。

Flutter 1.5 釋出,正式成為全平臺 UI 框架!

新增 Web 支援,涉及在標準 API 之上,實現 Flutter 的核心繪圖層,結合使用 DOM、Canvas 和 CSS,Flutter for Web 能夠實現在現代瀏覽器中提供便攜的、高質量和高效能的使用者體驗。

Flutter for Web 很大程度上,歸功於 Chrome、Firefox 和 Safari 等現代瀏覽器的快速發展,這些瀏覽器提供了基礎的硬體加速的圖形、動畫和文字以及 JavaScript 的快速執行。

隨著 Flutter for Web 的釋出,Flutter 正式成為一個全平臺的 UI 框架。

Flutter 1.5 釋出,正式成為全平臺 UI 框架!

Flutter 最初的設想,也並不是想作為一個 HTML 的替代品,而是想基於 Flutter 能夠快速構建出全平臺的所支援的,圖形豐富、互動流程的應用。

在 Google I/O 上,也展示了最近刷屏的 KENKEN 益智遊戲(文末有地址),該遊戲在 Android、iOS、Web、Mac 和 Chrome 上,執行的都是相同的程式碼。

Flutter 1.5 釋出,正式成為全平臺 UI 框架!

Flutter for Web 還只是一個 Preview 版本,還有很多不足和被限制的地方。

限制:

  1. Flutter_web 的外掛還不完善,暫時只提供了最基礎的 dart:htmldart:jsdart:svgdart:indexed_db,可以通過他們訪問絕大多數瀏覽器的 API。
  2. 並非所有的 Flutter 都在 Flutter_web 上實現了。
  3. Flutter_web 編譯還很慢。
  4. 在桌面瀏覽器上執行,還有一些不足,大部分是基於移動應用的操作特性,而沒有對桌面系統的操作習慣進行特殊的優化。
  5. 開發流程目前僅支援 Chrome。

更多細節,可以直接上 Github 上檢視。

三. 小結

自此 Flutter 就不再是一個單純的移動框架,而是一個多平臺框架,通過它,可以快速的構建應用,更快的觸達使用者。

坦率的講,Flutter 這一年的發展以及推廣效果都是驚人的,據公開的訊息來看,不少一線大廠已經在一些生產專案上,嘗試使用 Flutter,雖然嘗試的大多都並不是主力專案,但這背後一定也少不了 Google 的推廣,Google 本身對 Flutter 的期望也很大,短期應該不會涼。

不過框架這個東西,有興趣看看就好了,畢竟鐵打的基礎,流水的 API,不要花太多的精力沉迷在框架中,把程式設計的基礎技術學好才是正道。如果真到了公司想嘗試 Flutter 的地步,專門花一週兩週突擊一下,肯定能上手。

本文對你有幫助嗎?留言、點贊、轉發是最大的支援,謝謝!


公眾號後臺回覆成長『成長』,將會得到我準備的學習資料,也能回覆『加群』,一起學習進步;你還能回覆『提問』,向我發起提問。

Flutter 1.5 釋出,正式成為全平臺 UI 框架!

相關文章