06.21 「程序猿」的福音?Google Flutter 迎來首個「發佈預覽版」

「程序猿」的福音?Google Flutter 迎來首個「發佈預覽版」

6 月 21 日,Google 正式發佈了 Flutter 的首個發佈預覽版,這也預示著 Flutter 正式版(1.0)的到來進入了倒計時。

「程序猿」的福音?Google Flutter 迎来首个「发布预览版」

回看 Flutter 的發佈軌跡:在 Google I/O 2017 開發者大會上正式公佈;2018 年 2 月發佈第一版 beta;Google I/O 2018 開發者大會上發佈 beta 3,以及 6 月 21 日新鮮出爐的首個發佈預覽版。

而隨著測試版的更迭,越來越多的開發者也在持續關注著這個開發框架。在 GitHub stars 排行榜上可以看到,自從今年二月份 Flutter 的首個 beta 版本釋出以來,Flutter 的熱度一直在持續上升,而最新的數據顯示,五月份開始 Flutter 已經成功擠進 GitHub stars 排行榜前 100 的位置。

「程序猿」的福音?Google Flutter 迎来首个「发布预览版」

說了這麼多,Flutter 其實是一套開發架構,更加準確的說應該是一套能夠使用相同的 Dart 語言代碼

同時實現 Android 和 iOS 跨平臺應用的框架。而從目前全球操作系統的市場佔有率來看,Android 和 iOS 一直都牢牢佔劇著絕大部分份額或許也是 Flutter 提出的契機。

據 2017 年 Statista 的圖表數據顯示,Andrid 系統的市場佔有率已經達到 85.1%,iOS 系統的市場佔有率也有 14.7%,而剩下的操作系統則被劃分到了「Other」分類,僅僅只有不到 0.2% 的市場佔有率。

「程序猿」的福音?Google Flutter 迎来首个「发布预览版」

所以對於大部分「程序猿」來說,Andoird 開發或者 iOS 開發依然是兩個主要的方向,但是兩個平臺一直以來的跨平臺開發問題卻成為了最主要的鴻溝。

「程序猿」的福音?Google Flutter 迎来首个「发布预览版」

目前市面上的跨平臺解決方案主要有兩大類:

  • 使用平臺支持的 web 技術,如 PhoneGap;
  • 本地跨平臺,程序員編寫的代碼自動轉換為 Native 代碼,如 Xamarin 等

但以上兩種方案都存在或大或小的缺點,例如 web 移動端網頁的性能不如人意,用戶體驗不高,在不同瀏覽器下也有不同程度細微的差異;本地化跨平臺如 React Native 則存在操作難度高、在實際平臺上需要適配和橋接差異性的缺點,而且兩者都逃不開性能、包大小、流暢性、內存、平臺特性等問題。所以對於同時進行 Android、iOS 雙版本開發的開發者來說,伴隨而來的是繁重的開發任務。

Flutter 的出現提供了第三種跨平臺解決方案,據 Google 介紹,Flutter 有兩個目標,其一是實現原生應用的性能和與平臺的集成,其二是提供一個多平臺,可移植的 UI 工具包來支持高效的應用開發。

「程序猿」的福音?Google Flutter 迎来首个「发布预览版」

通過 Flutter Engine 引擎,在 iOS 和 Android 兩個平臺上開發應用和界面只需要一套代碼,這套代碼會被直接編譯成本地 ARM 代碼,而且能夠使用 GPU、訪問平臺接口以及服務等。

「程序猿」的福音?Google Flutter 迎来首个「发布预览版」

相比其他開發框架,Flutter 具有以下的特點:

  • 主打快速開發,如熱重載(hot reload)、可定製部件(widgtes)、支持常見的編輯器;
「程序猿」的福音?Google Flutter 迎来首个「发布预览版」
  • Flutter 將控件、渲染、動畫以及手勢功能集成到框架中從而使得開發過程更加自由;
「程序猿」的福音?Google Flutter 迎来首个「发布预览版」
  • Flutter 遵循平臺規範和界面細節,如導航、滑動、圖標等
「程序猿」的福音?Google Flutter 迎来首个「发布预览版」

既然 Flutter 如此強大,那麼有沒有哪些知名開發者用上呢?其實還真有,如阿里推出的「閒魚」 app 以及騰訊推出的「Now」 app 均採用了 Flutter 的開發架構。

隨著 Andoird 和 iOS 最新系統版本發佈,兩者在某些系統功能上可以說「走到了一起」,如 Android P 上用於統計並顯示用戶手機使用習慣的「Dashboard」和 iOS 12 上對於用戶使用習慣的監控工具「Report」,而這也是近些年來 Android 和 iOS 的發展趨勢,兩者從「爭個你死我活」逐漸轉變為「互相借鑑」。

Google Flutter 的推出,在另一個層面上是不是也是順應這個趨勢的產物呢?


分享到:


相關文章: