首頁>Club>
最近入坑了flutter,嘗試了flutter的示例程式碼,感覺比react native簡單很多,很快就可以編譯成功,並執行在ios和android,之前也曾經嘗試過很多次react native的一些例子程式碼,各種報錯,結果放棄。現在也使用flutter開發了簡單的帶有路由,state管理的app,個人目前是非常看好flutter。而且效能方面確實要比react native強。
5
回覆列表
  • 1 # 前端課堂

    官方文件其實說得很清楚,唯一問題就是要學習dart語言,相比RN,weex這類如果有點前端基礎做過專案,上手是非常快。

  • 2 # syiyi123

    效能差別很大,

    如果是靜態頁面兩個區別不大,如果是動畫或者是需要實時計算的渲染,比如長列表,rn的幀率簡直連h5都不如,js通訊的開銷非常大,會導致大量的js任務阻塞在佇列裡,直接的反應就是flatList快速滑動會出現因為通訊開銷問題導致白屏,另外由於嚴重依賴原生的view導致bug很多,稍微複雜的手勢基本沒法搞,滑動衝突都搞不定,另外scrollview.flatList都有很多bug,連手指抬起都沒辦法監控,提供的api嚴重不足,bug也很多,很多情況下只能寫原生的控制元件,然後rn來調,費時費力,可以說從實現方案上面來講rn依賴原生view體系,原生本身都不夠完美,在此之上會更差,總而言之rn不適合對動效有要求,對效能有要求的應用,搞些簡單的小頁面還是可以的,flutter直接基於原生繪圖引擎,自帶UI體系,理論上可在未來支援任何系統,從根本實現和思路上就完爆rn,甚至未來的ui框架都可能會走flutter的實現思路,目前rn的問題是video方面還沒有特別好的開源方案,實現起來較為複雜,ui效能方面與原生還有一些差距,好在擁有自己的ui體系,在此基礎上寫自定義控制元件較為靈活,甚至比原生更方便,image自帶記憶體管理很省心,列表不用關心複用問題完爆原生,flutter問題是元件巢狀有些嚴重,程式碼看起來不太簡潔,但是這個也不是不能解決,現在flutter還不支援程式碼熱更新,這也是一個問題,但是即便可以熱更了,也是採用虛擬機器的方案,效能會有下降,

    如果對熱更新沒有要求,兩相比較下,還是flutter用起來更省心,rn的效能和bug大部分情況下都無解,要麼就得原生實現,既然這樣我幹嘛用rn

  • 3 # 星星程式設計

    flutter底層是用dart語言寫的,dart本身跨平臺,相容性比較好,真正的一套程式碼可以執行在iOS和安卓手機上面,流程程度堪比原生。另外背後由谷歌支援,社群比較強大,短時間內火爆全球,相當有前景的。由於flutter出來的晚,沒有成熟的成功案例,還有頁面佈局巢狀式開發,耦合程度比較高。總之來說,flutter相對於react native更有前景,有可能成為跨平臺當中的主流。

  • 4 # dlrowolleh

    如果你還在猶豫是使用flutter還是用rn的話,強烈建議你選擇flutter。

    就框架產品現階段的完成度來說,flutter的完成度要比rn的完成度來說要好太多了,不管是用vscode開發,還是用as開發都非常方便,支援工具也非常完善,特別是devtools非常容易的檢視和調整介面佈局。

    學習上官方文件也非常完善,如果你可以上youtube的話,可以看到他們官方有好多簡短有趣的學習影片,很容易就可以入門。另外dart語言和js相比,有更好的強型別支援可以更好的避免你開發的程式在執行時出現低階錯誤,從而開發出更加健壯穩定的程式,dart還可以直接編譯成機器指令,相對js的執行時編譯會有更快的速度。

    再一個是開發效率,skia的渲染引擎支援,flutter只需要編寫一次程式碼就可以在ios和安卓上獲得一致的執行效果,而rn卻需要為ios和安卓的一些差異編寫不同的程式碼,寫出來的程式也很難得到一致的體驗,而這些在flutter中完全不是問題,當你寫完一個介面的那一刻,你會感覺,真是太爽了

    我寫了一個flutter的影音介面測試demo

    https://github.com/sosopop/cicitv

    還有就是flutter的youtube官方教學影片

    https://www.youtube.com/channel/UCwXdFgeE9KYzlDdR7TG9cMw

  • 5 # twopai

    主要在體驗和效能上,

    體驗:

    reactnative主要採用js語言技術,flutter採用dart語言,flutter有和原生媲美的體驗。

    效能:

    由於reactnative採用js,不需要預編譯,flutter採用dart語言,語言預編譯成機器碼,有自己的虛擬機器dalvik,執行方式類似於Java,採用2d圖形渲染引擎skia,所以效能佔據很大優勢,況且還是google下一代作業系統fuchsia的指定語言。

  • 6 # 東北振興

    flutter的優點主要有:

    極高的開發與交付效率,良好的開發體驗

    優秀的跨多端多平臺能力

    極強的 UI 表現力

    關注優就業,學習更多IT知識。

  • 中秋節和大豐收的關聯?
  • 拉塞爾·威斯布魯克是不是NBA最被高估的巨星之一?