天天看點

前端團隊的flutter驗證

1、Flutter技術概覽:

參考文檔:https://flutter-io.cn/docs/resources/technical-overview

 2、Flutter常見問題解答 

參考文檔:https://flutter-io.cn/docs/resources/faq

3、Flutter工作原理

參考文檔:https://flutter-io.cn/docs/resources/inside-flutter

4、flutter demo,ionic demo (隻有android版本)

見附件(flutter和ionic各打包了兩個中等項目)

5、flutter web和flutter pc

參考文檔:

https://flutter.dev/web

https://github.com/flutter/flutter/wiki/Desktop-shells

正在進行的工作是擴充flutter以支援桌面作為目标環境,允許開發人員使用flutter建立MacOS、Windows和Linux應用程式。從長遠來看,這項工作将産生一個完全內建的解決方案,其中flutter建立、flutter運作和flutter建構桌面平台的工作與移動平台的工作相同,但目前這項工作仍在進行中。

flutter桌面API仍處于開發的早期階段,可能會在沒有警告的情況下進行更改。不提供向後相容性(API或ABI)。期望在任何flutter更新之後,使用這些庫的任何代碼都需要更新和重新編譯。

總結:

1、Flutter web 現在隻在預覽階段,甚至還沒有到beta階段,是以現階段做公司級項目不應該考慮它,因為太不穩定。對公司級别項目來說,穩定大于一切。

2、Flutter pc 還在開發階段,不考慮。

3、是以對我們有價值的就是flutter可以打包成android和ios原生app。

6、對比

考慮對象:Flutter, ionic(angular), react native(react), weex(vue)

因為react native 基于的架構是react,weex基于的架構是vue,ionic主要基于angular(現在支援三大主流前端架構),為了前端技術棧(基于angular架構)的統一性,是以本次react native和weex不參與對比。ionic,react native,weex它們的目标是一緻的----跨平台,隻是基于的底層架構不一樣。

對比的對象 Flutter ionic
是否跨平台 暫時隻支援android和ios Build and deploy apps that work across multiple platforms, such as native iOS, Android, desktop, and the web as a Progressive Web App - all with one code base. Write once, run anywhere.
性能 媲美原生 比flutter略低,但是優化的好的話,使用者幾乎感覺不出來。
學習曲線 學習曲線比較陡,學習架構flutter,語言dart,入門可能就需要兩個星期。而Flutter的設計理念更偏向于app原生開發者,前端接受和學習比較困難。 平滑過渡。幾乎沒有學習曲線,因為還是用的前端的東西,隻是需要熟悉一下新的元件庫和原生開發的一些事項。
穩定程度 因處于早期,不太穩定,github上有5000多個issue沒有解決 比較穩定,github上隻有500多個issue沒有解決

7、結論(個人)

結論:

如果技術團隊以前端為主的話選 ionic 非常不錯;如果技術團隊以android或ios 開發為主的話就選 flutter。

是以針對我們的團隊現狀,我推薦使用ionic。

理由:

  1. 為了前端技術棧的統一性(基于angular架構和ts語言),降低招人成本,學習成本,适應成本和開發成本。
  2. 如果選擇flutter的話,意味着要學習架構flutter,語言dart,入門可能就需要兩個星期。而且團隊中沒有人做過flutter開發,一旦遇到問題的話就很可能造成項目延期甚至失敗。而且flutter的誕生時間太短,資料太少,這些到時候可能都會成為潛在的問題。而ionic誕生時間很長,已經經曆了市場考驗。最關鍵的問題是我做過ionic開發,有3個ionic app的開發經驗,經曆過ionic app的完整生命周期。
  3. Flutter的設計理念更偏向于app原生開發者,前端接受和學習比較困難。
  4. ionic4 也很不錯,Ionic4.x 基于 Web Components,運作速度也很快,相比以前版本的 Ionic 架構性能提升很多。Ionic4 可以和 Angular、Vue、React 三大架構配合使用。