国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Cordova和React-Native兩種框架的對比

2019-11-09 18:04:03
字體:
來源:轉載
供稿:網友

Cordova 和 React-Native 是使用 Web 開發移動端的兩大框架。 Cordova 是 Apache 旗下的。 React-Native 是 Facebook 旗下的在2013年發布的一個前端框架。兩者皆開源?!∠旅娴膬热葜饕涗浟诉@兩大框架的優劣。以及移動端開發中有關 WebView 比較可行的幾種選擇。 Cordova文檔 , React-Native文檔 。

對比 跨平臺特性

Cordova: write once, run anywhere ( 一次開發,隨處運行)React-Native: Learn once, write anywhere ( 一次學習,隨處開發)

功能支持

Cordova: 基本功能完全具備,對于底層,如攝像頭之類的,需要插件。React-Native: 完全支持。 Android 端不是很完善。

風險程度

Native 比 cordova 高。

開發成本

Cordova: 完全基于 html,CSS,js 。寫一次代碼,兩個平臺都適用。React-Native: 具有相同語法體系,但需要根據不同平臺編寫不同代碼。

運行速度

Cordova: 相對較慢React-Native: 跟 Native 基本相當

WebView問題 因為 Android WebView 和 IOS 的 UIWebView 內存泄露的問題。所以在選擇內核的時候,使用原生的 WebView 內存泄露很明顯。并且不易解決。 IOS8+ 之前,同樣有大量內存泄露。分別看一下Android和IOS系統比例圖:

Android 這里寫圖片描述IOS 這里寫圖片描述

如果要考慮 Android4.4 以下的設備和 IOS8+ 設備。因為前后的運行內核不一。性能不一。以及國內廠商對于系統的深度定制,不同的渲染。 app 最好有專門的內核。保證擁有一致性的體驗。有如下幾個選擇:

使用 Crosswalk 開源 web 引擎。 優勢

更豐富的 HTML5 特性支持。包括 WebGL,WebAudio,WebRTC,Gamepad,WebSocket 等等。

使用 Crosswalk 可以保持平臺的一致性。 劣勢

打包后的 app 體積增加 20M-30M 。

Crosswalk lite 針對上面第一條, CrossWalk 提出了 Shared Mode 和 Crosswalk lite 解決方案。體積可以減少到只增加10M左右。

使用騰訊 TBS 瀏覽服務 優勢

速度快:相比系統 webView 的網頁加載速度有近30%的提升。大小只有 253K。省流量:云端優化技術使流量節省20%。更安全:24小時安全問題解決機制。更穩定:經過億級用戶的使用考驗,CRASH率0.15%。集成強大的視頻播放器,支持各種視頻格式直接打開。適屏排版、字體設置等瀏覽增強功能的提供。Html5更完整支持。無系統內核的碎片化問題,更少的兼容性問題劣勢。X5SDK是通過調用微信/手機QQ/空間的X5內核。如果手機沒有安裝騰訊相關軟件。這個就不能使用。

劣勢

手機中必須安裝有騰訊的服務。

優劣對比

cordova ionic :優勢: ios 和 android 基本上可以共用代碼,純web思維,開發速度快,簡單方便,一次編碼,到處運行,如果熟悉web開發,則開發難度較低。 文檔很全,系統級支持封裝較好,所有UI組件都是有html模擬,可以統一使用。 可實現在線更新 允許加載動態加載web js 文檔多,開發者多,視頻教程多 容易學習 遇到問題容易解決 技術成熟劣勢: 占用內存高一些(不過手機內存都大了不影響),不適合做游戲類型app, web技術無法解決一切問題,對于比較耗性能的地方無法利用native的思維實現優勢互補,如高體驗的交互,動畫等。react-native :優勢:1、雖然不能做到一處編碼到處運行,但是基本上即使是兩套代碼,也是相同的jsx語法,使用js進行開發。用戶體驗,高于html,開發效率較高 2、flexbox 布局 據說比native的自適應布局更加簡單高效 可實現在線更新 2015.7.28 AppStore審核政策調整:允許運行于javascriptCore的動態加載代碼 更貼近原生開發劣勢:1、(引)對開發人員要求較高,不是懂點web技術就行的,當官方封裝的控件、api無法滿足需求時 就必然需要懂一些native的東西去擴展,擴展性仍然遠遠不如web,也遠遠不如直接寫Native code。 2、(引)官方說得很隱晦:learn once, write anywhere。人家可沒說run anywhere。事實上,從官方的api來看SliderIOS,SwitchIOS..等等這些控件,之后勢必會出現SliderAndroid,SwitchAndroid...,也就是很可能針對不同的平臺會需要寫多套代碼。 3、發展還不成熟,目前很多ui組件只有ios的實現,android的需要自己實現。 (引)從Native到Web,要做很多概念轉換,勢必造成雙方都要妥協。比如web要用一套CSS的閹割版,Native通過css-layout拿到最終樣式再轉換成native原生的表達方式(比如iOS的Constraint/origin/Center等屬性),再比如動畫。另外,若Android和iOS都要做相同的封裝,概念轉換就更復雜 5、文檔還不夠完整 學習曲線偏高4.文檔少 學習起來困難
上一篇:adb常用命令

下一篇:兩次返回鍵退出App

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 攀枝花市| 无锡市| 册亨县| 兰西县| 曲沃县| 连云港市| 莎车县| 甘泉县| 乾安县| 台州市| 额尔古纳市| 蕉岭县| 东明县| 吉木萨尔县| 卢龙县| 睢宁县| 通化市| 安义县| 伊春市| 黄浦区| 霍山县| 新乐市| 新龙县| 泗阳县| 札达县| 武冈市| 南充市| 庆阳市| 铜鼓县| 巴林左旗| 榆林市| 左贡县| 峨山| 古交市| 宜城市| 周口市| 三门县| 阳西县| 基隆市| 四会市| 吉木乃县|