爲什麼要掌握 Flutter(一)?

前面寫了很多後端方面的技術,以及容器化方面的知識;

這幾天一直在整理前端方面的資料,今天寫點關於Flutter方面的知識,希望對讀者有幫助。

前言:

移動開發技術手段的發展:

(原生應用開發)---->(Google 和 Apple 各自推出新的語言 Kotiln、Swift)---->(各種跨平臺 Hybrid App 開發,如 React Native、Weex、小程序等等)

不過這些方案或多或少都有一些侷限性和缺點。

於是 Google 推出了新的跨平臺移動應用開發技術:Flutter。

爲什麼要掌握 Flutter(一)?

 

爲什麼說 Flutter 將是未來的主流跨平臺開發框架?

我們知道在移動平臺上,原生應用的體驗最好、流暢度最高、性能也最好。而目前的跨平臺技術和框架的流暢度和體驗遠遠達不到原生的體驗,多少都會卡頓和丟幀。

但是 Google 的 Flutter 開發應用的體驗和流暢度基本和原生體驗一致,感覺不到不流暢和卡頓。

具體原因有一下4點:

  • Flutter 最出色的地方就是自建了繪製引擎使得跨平臺開發一套代碼可以創造出和原生應用相同的體驗。並且 Flutter 開發效率非常高,SDK 裏所有的佈局、控件都組件化,採用 React 方式。
  • Flutter 的開發不僅僅侷限於移動跨平臺,目前已經支持 Web 開發、後端開發、PC 桌面應用開發(內測中)、嵌入式開發(內測中)。 這也是 Flutter 變得越來越受關注,越來越多大公司和開發者進行使用的原因之一。
  • Flutter 支持多種開發工具的插件化使用,這就大大的豐富了各種開發工具可以進行 Flutter 的開發和調試,也滿足了不同開發者的開發習慣。
  • 同時 Flutter 不但做到了一套代碼邏輯實現 Android 和 iOS 平臺的跨平臺運行,而且無需像 React Native 等技術那樣,部分和原生交互的邏輯需要寫兩套代碼邏輯,Flutter 只需寫一套代碼,大部分功能官方 SDK 裏已經支持,並在不斷更新拓展。而且如果需要一些與原生交互的部分,都是通過插件化形式使用,依然是一套代碼邏輯多平臺兼容。

接下來,我們就開始我們的認識 Flutter 技術之旅吧。小凡將主要爲大家介紹:

  1. Flutter 的誕生
  2. 目前各種跨平臺方案的對比
  3. Flutter 特點
  4. Flutter 框架結構
  5. Flutter社區活躍度和趨勢

1:Flutter 的誕生

爲什麼要掌握 Flutter(一)?

Flutter 發佈

Flutter是 Google 於 2015 年 5 月 3 日推出的免費開源跨平臺開發框架,可以快速開發 Android 和 iOS 應用,同時也將是未來的 Google Fuchsia OS 下開發應用的主要技術框架。未來的 Flutter 的開發不僅僅侷限於移動跨平臺,目前已經支持 Web 開發、後端開發、PC 桌面應用開發(內測中)、嵌入式開發(內測中)。

Flutter 的第一個版本 SDK 運行在 Android 操作系統上,被稱作“Sky”。第一個開發者版本在 2015 年的 Flutter 開發者會議上被公佈,並且對外宣稱 Flutter 的開發的應用目標爲實現 120FPS的渲染性能,原生的渲染性能一般爲 80FPS。由於之前一直是開發版本,所以 Flutter 不溫不火,只有少數的一些公司和 Google 內部在嘗試使用。

終於在 2018 年 12 月 5 日,Google Flutter 團隊正式發佈了 Flutter 1.0 正式版,正式版的發佈意味着 Flutter 在經過開發、測試、應用上已經基本上穩定和滿足大部分開發需求了。這也使得Flutter 在發佈正式版後,更多的大公司、開發者紛紛轉型使用和學習 Flutter 進行跨平臺應用的開發。

目前在 Google 內部,Flutter 已經被廣泛用於多個產品,比如 Google Ads 已經將其產品的 iOS 版本和 Android 版本轉向使用 Flutter。在正式版本之前,全世界已經有多個公司開始使用 Flutter 來開發應用,包括 Abbey Road Studios、阿里巴巴、Capital One、Groupon、Hamilton、京東、Philips Hue、Reflectly 以及騰訊等。而正式版的功能基本上已經比較完善,其他的擴展更強大的功能 Google 官方也正在規劃擴展開發。目前 Flutter 1.5 穩定版已經於 2019 年 5 月 8 號發佈,這樣的更新頻率,給更多的開發者和公司增加了動力。Flutter 勢必也將成爲未來的跨平臺開發主流趨勢!

接下來回顧下 2018 年和 2019 年 Flutter 的發展情況:

  • 2 月底在世界移動大會 (MWC)上宣佈了第一個 Beta 版發佈;
  • 5 月的 Google I/O 大會上發佈了 Beta 3;
  • 6 月底的 GMTC 宣佈了首個發佈預覽版;
  • 9 月的谷歌開發者大會(Google Developer Days)上,發佈預覽版 2。
  • 12 月宣佈發佈正式穩定 1.0 版;
  • 2019年 2 月宣佈發佈穩定版 1.2 版本 SDK。
  • 2019年 5 月宣佈發佈穩定版 1.5 版本 SDK。

作爲 Flutter 1.0 之後的首次更新, Flutter SDK 1.2 穩定版圍繞以下幾點進行了重點優化與改進:

  • 提升核心框架的穩定性、性能和質量;
  • 改進現有 Widget 視覺效果和功能;
  • 爲 Flutter 開發者提供全新的基於 Web 的調試工具。

爲什麼要掌握 Flutter(一)?

Flutter 分支

目前 Flutter 的社區非常活躍,Flutter 在 Github 最受歡迎的開源軟件中排名前 50,國內也有大量的開發者開始使用 Flutter 構建跨平臺 (Android & iOS) 的應用,如:阿里巴巴、騰訊、京東等都使用 Flutter 發佈了自己的應用。

Google 官方 Flutter 團隊計劃,未來也將支持 Flutter Web 和 Flutter PC 的應用移植開發,讓我們拭目以待吧!

2:目前各種跨平臺方案的對比

目前我們在開發應用時,需要同時兼容 iOS 和 Android 兩種平臺時有兩種技術選擇:走原生開發路線,把界面和邏輯在不同平臺分別實現;抑或用同一套代碼兼容多個平臺,但這往往意味着運行速度和產品體驗的損失。除了原生外,目前跨平臺技術一般是混合開發,如採用 H5、React Native、Weex、小程序等技術實現跨平臺應用。不過這些或多或少都能感覺到卡頓和體驗不流暢,並且開發和學習成本非常高,而且都有各自的侷限性。

Flutter 的出現就是爲我們提供了一套兩全其美的解決方案:既能用原生代碼直接調用的方式來加速圖形渲染和 UI 繪製,又能同時運行在兩大主流移動操作系統上,並且體驗和流暢度和原生基本一致、開發效率也非常高、學習難度和成本低

那麼接下來看下幾種方案的對比情況:

爲什麼要掌握 Flutter(一)?

從上面的對比可以看出:

Flutter 的優勢明顯:高體驗度、高開發效率、低學習成本、高可擴展性,未來 Google Flutter 團隊還將使 Flutter 支持 PC 和 Web 的跨平臺開發,真正全平臺。

在 Flutter 1.0 正式版本尚未推出之前,已經有成百上千的基於 Flutter 開發的應用在 Apple Store 和 Google Play 上架,相信 Flutter 將會被越來越多的開發者和公司所接受和採用。

Flutter 特點,Flutter 框架結構,Flutter社區活躍度和趨勢。小凡將在下一篇文章中爲大家介紹

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章