
整理:鄭麗媛
今日,谷歌重磅發布了下一代 Flutter —— 專為 Web、移動和桌面而構建的 Flutter 2!
作為谷歌免費開源的 UI 工具包,Flutter 幫助許多開發者構建了多平臺應用,支持移動、Web、桌面和嵌入式平臺,僅在 Google Play Store 平臺上就有已超過 15 萬個基于 Flutter 開發的應用,國內我們熟知的閑魚 App、以及“國民應用”微信,均使用了 Flutter 進行開發,
Flutter 的重大升級版本 Flutter 2 為了從根本上改變開發者對構建應用的看法,將 Flutter 從移動開發框架擴展成可移植框架,因而開發者無需重寫代碼即可將應用擴展至桌面或網頁,此外,利用 Flutter 2 還能實作許多功能:
- 開發者可使用相同的代碼庫,將本地應用發布到五個作業系統上:iOS、Android、Windows、macOS 和 Linux;
- 針對 Chrome、Firefox、Safari 或 Edge 等瀏覽器提供不同的網路體驗;
- List itemFlutter 還可以嵌入汽車、電視和智能家用電器,
那么 Flutter 2 具體有哪些新變化呢?

Flutter 2 對 Web 的支持
本次更新最大的變化大概就是 Flutter 2 對構建 Web 應用的支持,
與早期 Web 不同,目前的 Web 平臺已發展為包含更豐富的平臺 API,可以使用硬體加速的 2D 和3D 圖形以及靈活的布局等來支持各種高度復雜的應用,Flutter 2 的 Web 支持正是基于這些創新,提供了一個以應用程式為中心的框架,充分利用現代 Web 提供的所有功能,
Flutter 2 對此主要關注三個應用場景:
- 漸進式 Web 應用程式(PWA),將 Web 的訪問范圍與桌面應用程式的功能結合在一起,
- 單頁應用程式(SPA),加載一次并與 Internet 服務之間進行資料傳輸,
- 將現有的 Flutter 移動應用移植到 Web,實作一套代碼,兩端運行,
除了對 Web 的支持,Flutter 2 還在性能優化上取得了不錯的進展,例如新增了一個用 WebAssembly 構建、由 Canvaskit 驅動的渲染引擎,在提供最佳 Web 平臺方面,Flutter 2 中也添加了文本自動填充功能、對地址欄 URL 和路由的控制以及 PWA 清單,此外,由于桌面瀏覽器和移動瀏覽器同等重要,Flutter 2 中還新增了互動式滾動條和鍵盤快捷鍵、桌面模式下的默認內容密度以及螢屏閱讀器對 Windows,macOS 和 Chrome OS 上可訪問性的支持,
目前已有一些使用 Flutter 2 構建 Web 應用程式的例子,全球頂尖的消費類機器人公司 iRobot,已利用 Flutter 2 將其現有的教育編程環境移植至 Web,

還有在線影片工具 Rive,其更新后的 Web 應用程式(目前提供 Beta 版)完全由 Flutter 2 構建,


Flutter 2 可應用至多種設備
除了傳統的移動設備和 Web 之外,Flutter 2 的應用也支持桌面 PC、可折疊設備和嵌入式設備,以谷歌官方發布的應用為例,Flutter 2 優秀的移植性得到了充分地證實,
通過與促進開源軟體專案 Canonical 的合作,谷歌成功將 Flutter 帶入桌面,并且未來 Flutter 還可能成為 Canonical 創建桌面和移動應用程式的默認選擇,

其次,微軟也在擴大對 Flutter 的支持,除了正在合作實作 Flutter 對 Windows 的高質量支持,微軟今榷訓宣布 Flutter 將支持其新款可折疊 Android 設備,對此 Surface 團隊展示了他們如何使用 Flutter 為 Surface Duo 和其他設備提供高質量實作,

最后,世界暢銷汽車制造商豐田也宣布了一項計劃:將通過由 Flutter 提供支持的資訊娛樂系統,將最佳的數字體驗帶入汽車市場,Flutter 的高性能、快速迭代、智能手機層的觸摸機制等特點都是豐田選擇它的原因,此外,通過使用 Flutter 的 Embedder API,豐田還能針對車載系統的獨特需求量身定制 Flutter,


期待 or 擔憂?
Flutter 2 一經發布就引起了眾多開發者的注意,在 Hacker News 迅速登上 TOP 榜,引發諸多討論,

有網友表示期待:
我相信 Flutter 是一個非常雄心勃勃的專案,感謝谷歌確實在試圖解決跨平臺 UI 開發問題,
也有網友對此無動于衷:
也許 Flutter 會成為跨平臺 UI 開發的王者,但開發者社區已經被這個承諾騙了很多次了,我們必須先看到最終產品才會興奮起來,
還有網友擔憂同樣用于開發桌面應用的 Electron 會受到沖擊:
Flutter 2.0 發布了,一套代碼同時支持移動端和桌面端(ios,Android,Windows,macOS 和 Linux),如果真能做到,Electron 應該會受到很大沖擊,
對此,你有什么看法嗎?歡迎評論區留言!
參考鏈接:
https://developers.googleblog.com/2021/03/announcing-flutter-2.html
https://hn.algolia.com/?dateRange=last24h&page=0&prefix=false&query=&sort=byPopularity&type=story


轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/266327.html
標籤:AI
上一篇:結構體及結構體記憶體對齊講解
