Flutter 調研
1.背景介紹
Flutter 是一套高效的跨平臺免費開源 SDK,能夠幫助開發者用一套代碼同時在 Android 和 iOS 上構建媲美原生體驗的精良應用。網絡
Flutter 1.0 的 stable 版已發佈Flutter 1.2.1 • channel stable, Tools • Dart 2.1.2。架構
2.與RN差別性:
Flutter
- 使用自身的高性能渲染引擎(Skia)自繪
- debug 下支持 JIT,release 下是 AOT,編譯成原生代碼,能夠經過 platformChannel 直接與原生通訊
- 有本身的佈局方式,跟 FlexBox 有類似之處
- 體積,編譯後iOS雙架構15M+,Android單架構約7M
React Native
- rn代碼最終轉爲原生控件,經過平臺自身渲染
- 經過 JSCore 橋接與原生通訊
- 佈局方式採用 yoga
- iOS 使用原生的 JavascriptCore 包較小,Android 內置 JSCore 包較大
3.能夠實現的功能:
- Flutter 能夠構建功能齊全的應用,包括使用攝像頭、地理位置、網絡、存儲、第三方SDK。
- 支持繪圖。
4.對Android和iOS兩個平臺支持的差別:
- Android 支持頁面嵌套原生視圖(AndroidView),
iOS 不支持iOS 經過 FlutterPlatformViews 協議實現
5.對動態化的支持:
目前不支持經過服務端下發代碼實現動態更新。工具
6.Flutter組件對二次開發能力的支持
目前 Flutter 支持頁面級別,全部元素都是 widget,支持經過後臺下發的數據加載不一樣的樓層。 對於單個 widget,支持經過初始化的接口展現不一樣的形態。佈局
7.Flutter 2019重點關注
- 核心和基礎
- 易用性
- 生態系統
- 移動端以外的支持
- 動態更新
- 工具鏈
參考連接:性能
深刻了解Flutter界面開發debug
Flutter 2019 產品路線圖3d