一.背景與介紹
- Flutter是一個使用Dart語言開發的跨平臺移動UI框架,通過自建繪製引擎,能高性能、高保真地進行Android和IOS開發,由google公司主導並開源。
- React Native (簡稱RN)是Facebook於2015年4月開源的跨平臺移動應用開發框架,是Facebook早先開源的JS框架 React 在原生移動應用平臺的衍生產物,目前支持iOS和安卓兩大平臺。
二.優劣對比
主要通過以下幾個關鍵項進行對比
Flutter | RN | |
---|---|---|
基礎安裝包大小(Android/IOS) | 7M/30M | 20M/3M |
第三方Library數量 | 1000+ | 11000+ |
性能(CPU,FPS,內存) | 中低端優勢較高,中高端不相上下 | 略有不足 |
使用案例 | 阿里,騰訊,google等已經開始使用 | 使用案例衆多 |
趨勢 | 勢頭很足,版本更新很快,想象空間大,可能會成爲Android官方開發語言 | 不溫不火 |
開發語言難度 | Dart語言,小衆語言,使用門檻高 | JS用戶量大,使用門檻低 |
熱更新 | 目前不支持,未來可能會支持 | 支持 |
三.結論
- Flutter現在版本是Preview 2(預覽版),從版本上看還沒發行到正式版,Flutter儘管有一些大公司開始使用,但可以想象的是在真實的項目開發中會遇到的坑必然會超級多,第三方庫不成熟與缺失也會導致開發效率很低,目前在實際項目中使用Flutter的性價比太低,對比原生開發完全沒有優勢,儘管想象空間很大, 但是建議等到Flutter成熟後再做吃瓜人。
- RN版本爲0.57.1,從版本上來看也還沒發佈正式版,RN從發佈以來一直都伴隨着衆人的期待,開發者衆多,社區很活躍,開源庫很多,超級方便web前端開發人員轉入App開發,上手難度低,支持熱更新。
- 個人傾向還是原生大法好,開發效率對比混合式開發並不低,性能好,各方面技術都有很成熟的解決方案,缺點靈活性不夠,不支持IOS熱更新。
- 綜上所述:如果非要選擇混合開發目前還是選擇RN來進行開發,等到以後Flutter成熟後再來進行技術選型。
參考文章:
https://segmentfault.com/a/1190000015373829
https://www.yuque.com/xytech/flutter/gs3pnk