Flutter 1.5 發布,正式成為全平台 UI 框架!


006tNc79ly1fyuhpu6m8zj30hs02st8x.jpg

一. 序

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

伴隨着 Flutter 1.5 的發布,同期也宣布發布 Flutter for Web 的 Preview 版本,正式開啟了 Flutter 的全平台 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 選擇這種支持方式的一個考量因素。

添加 Web 支持,涉及在標准 API 之上,實現 Flutter 的核心繪圖層,結合使用 DOM、Canvas 和 CSS,Flutter for Web 能夠實現在現代瀏覽器中提供便攜的、高質量和高性能的用戶體驗。

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

隨着 Flutter for Web 的發布,Flutter 正式成為一個全平台的 UI 框架。

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

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

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 的地步,專門花一周兩周突擊一下,肯定能上手。

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


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


免責聲明!

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



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