發表日期:2018-08 文章編輯:小燈 瀏覽次數:2396
本人目前負責的項目是原生+Webview方式開發的,由于Webview的體驗不太友好,所以決定選擇一種混編的方式,選擇一種跨平臺的技術來提升改善Webview的體驗,通過各種權衡考慮使用了RN,雖然目前RN在重構,但是沒有人可以否認目前RN的霸主地位,我相信它會越來越好的,本章節就不說RN了,接下來說說Google的Flutter。
Flutter是谷歌的移動UI框架,可以快速在iOS和Android上構建高質量的原生用戶界面。 Flutter可以與現有的代碼一起工作。在全世界,Flutter正在被越來越多的開發者和組織使用,并且Flutter是完全免費、開源的。
Flutter 是由 Google 的工程師團隊打造的,用于創建高性能、跨平臺的移動應用的框架。
Flutter 針對當下以及未來的移動設備進行優化,專注于 Android and iOS 低延遲的輸入和高幀率
Flutter的設計跟react-native很像,但是比RN進了一步
Flutter的開發語言是Dart
現在主流的移動開發平臺是Android和iOS,之前還有過windows phone。從最開始的Hybrid混合開發技術,到RN的橋接技術,到現在新興的Flutter技術,跨平臺開發技術一直在演進。
跨平臺開發第一個考慮的就是性能問題
- RN的效率由于是將View編譯成了原生View,所以效率上要比基于Cordova的HTML5高很多,但是它也有效率問題,RN的渲染機制是基于前端框架的考慮,復雜的UI渲染是需要依賴多個view疊加.比如我們渲染一個復雜的ListView,每一個小的控件,都是一個native的view,然后相互組合疊加.想想此時如果我們的list再需要滑動刷新,會有多少個對象需要渲染.所以也就有了前面所說的RN的列表方案不友好;
- Flutter 吸收了前兩者的教訓之后,在渲染技術上,選擇了自己實現(GDI),由于有更好的可控性,使用了新的語言Dart,避免了RN的那種通過橋接器與Javascript通訊導致效率低下的問題,所以在性能方面比RN更高一籌;有經驗的開發者可以打開Android手機開發者選項里面的顯示邊界布局,發現Flutter的布局是一個整體.說明Flutter的渲染沒用使用原生控件進行渲染
Flutter實現跨平臺采用了更為徹底的方案。它既沒有采用WebView也沒有采用JavaScriptCore,而是自己實現了一臺UI框架,然后直接系統更底層渲染系統上畫UI。所以它采用的開發語言不是JS,而Dart。據稱Dart語言可以編譯成原生代碼,直接跟原生通信。
Flutter將UI組件和渲染器從平臺移動到應用程序中,這使得它們可以自定義和可擴展。Flutter唯一要求系統提供的是canvas,以便定制的UI組件可以出現在設備的屏幕上,以及訪問事件(觸摸,定時器等)和服務(位置、相機等)。這是Flutter可以做到跨平臺而且高效的關鍵。另外Flutter學習了RN的UI編程方式,引入了狀態機,更新UI時只更新最小改變區域。
系統的UI框架可以取代,但是系統提供的一些服務是無法取代的。Flutter在跟系統service通信方式,采用的是一種類似插件式的方式,或者有點像遠程過程調用RPC方式。這種方式據說也要比RN的橋接方式高效。
Flutter性能會更好無線接近原生的體驗,Dart是AOT編譯的,編譯成快速、可預測的本地代碼
RN采用JS語言開發,基于React,對前端工程師更友好。Dart語言受眾小
Flutter自己實現了一套UI框架,丟棄了原生的UI框架。而RN還是可以自己利用原生框架,兩個各有好處。Flutter的兼容性高,RN可以利用原生已有的優秀UI
RN的布局更像css,而Flutter的布局更像native布局,但是去掉xml通過代碼直接寫需要適應下
Flutter的第三方庫還很少,RN發展的早,雖然也還不完善,Flutter github還有3000多個issues要解決,還有很長的路要走。
日期:2018-10 瀏覽次數:7257
日期:2018-12 瀏覽次數:4332
日期:2018-07 瀏覽次數:4882
日期:2018-12 瀏覽次數:4178
日期:2018-09 瀏覽次數:5505
日期:2018-12 瀏覽次數:9926
日期:2018-11 瀏覽次數:4809
日期:2018-07 瀏覽次數:4586
日期:2018-05 瀏覽次數:4863
日期:2018-12 瀏覽次數:4329
日期:2018-10 瀏覽次數:5144
日期:2018-12 瀏覽次數:6218
日期:2018-11 瀏覽次數:4471
日期:2018-08 瀏覽次數:4594
日期:2018-11 瀏覽次數:12641
日期:2018-09 瀏覽次數:5586
日期:2018-12 瀏覽次數:4839
日期:2018-10 瀏覽次數:4194
日期:2018-11 瀏覽次數:4533
日期:2018-12 瀏覽次數:6069
日期:2018-06 瀏覽次數:4010
日期:2018-08 瀏覽次數:5441
日期:2018-10 瀏覽次數:4460
日期:2018-12 瀏覽次數:4533
日期:2018-07 瀏覽次數:4364
日期:2018-12 瀏覽次數:4504
日期:2018-06 瀏覽次數:4387
日期:2018-11 瀏覽次數:4377
日期:2018-12 瀏覽次數:4253
日期:2018-12 瀏覽次數:5287
Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.