所有的一切都是個人觀點(diǎn),不滿可以留言,可以討論,吵架大可不必
所有的資料僅2018-07-06時我所了解的,當(dāng)前的flutter版本號dev為0.5.6,beta為0.5.1
轉(zhuǎn)載請注明出處,簡書為第一發(fā)布平臺
何謂flutter
簡介
google自己的官方介紹,來源于flutter官網(wǎng)
為什么要用flutter
跨平臺框架,能開發(fā)ios/android,性能不錯
已有那么多的跨平臺方案,flutter有什么優(yōu)勢
所有UI為Flutter平臺自建,使用skia引擎繪制到屏幕上,能保持高度的統(tǒng)一性
所以flutter定位僅為UI框架,可以做一些業(yè)務(wù)邏輯
劣勢呢
目前與原生控件很難有機(jī)的結(jié)合到一個界面內(nèi)
大概意思是,目前類似于baidumap,這樣的控件只能是生硬的覆蓋到flutter的界面上
android中對應(yīng)FlutterView(SurfaceView),ios中是FlutterViewController的根view
你很難直接寫方便的回調(diào),手勢控制
WebView,直播等視頻播放同理
與原生通信僅依賴一個接近字符串性質(zhì)的通道,沒有構(gòu)建工具/編譯層級的檢查
尚處于初級階段,開源社區(qū)還不活躍,相關(guān)社區(qū)關(guān)注度不高
關(guān)于字符串性質(zhì)的通道:
大概意思就是,所有的通信依賴于字符串
比如flutter中需要定義
static const MethodChannel _channel = const MethodChannel('com.365.app/BarCode');
_channel.invokeMethod("getData", source);
類似于這樣的調(diào)用方式
而原生中 也是需要定義出完全相同的字符串來表示通道名,方法名等等
flutter使用dart語言開發(fā)
為什么使用dart,貌似是說flutter的開發(fā)團(tuán)隊(duì)物理距離dart的團(tuán)隊(duì)很近,這段真實(shí)性未知
前景情況
個人覺得如果你的團(tuán)隊(duì)允許,可以考慮轉(zhuǎn)入
其他文章鏈接
一篇在中文官網(wǎng)上看到的文章 : 連接
后記
后面打算寫一篇Google的Gallery的源碼解析,看看有沒有這個毅力吧