原生 iOS(Swift) 和 React-Native 性能對(duì)比

簡(jiǎn)評(píng):React-Native 號(hào)稱性能能與原生應(yīng)用媲美的移動(dòng)混合開發(fā)框架,是否真如傳聞?wù)f的那么厲害排宰,來看看這組性能評(píng)測(cè)官辽。

“React-Native” 是一種移動(dòng)混合開發(fā)框架汛聚,它可以讓你只使用JavaScript 來構(gòu)建應(yīng)用程序刻像。與其他混合移動(dòng)技術(shù)不同的是畅买,你并不是構(gòu)建一個(gè)“移動(dòng)端的 Web 應(yīng)用”(簡(jiǎn)單的把 Web 應(yīng)用封裝在原生應(yīng)用中),而是把你的 JavaScript 代碼編譯為手機(jī)應(yīng)用细睡,這于 Objective-C 構(gòu)建的 iOS 應(yīng)用程序或使用 Java 構(gòu)建的 Android 應(yīng)用程序非常接近谷羞。這意味著,在沒有任何缺點(diǎn)的情況下溜徙,該公司從本地和混合移動(dòng)應(yīng)用程序中提供了好處湃缎。

我的目標(biāo)是確定 React-Native 是否如他們所宣傳的一樣犀填。為了實(shí)現(xiàn)這一點(diǎn),我需要使用 Swift 和 React-Native 構(gòu)建相同的應(yīng)用程序嗓违,它需要足夠簡(jiǎn)單九巡,以便我能夠及時(shí)學(xué)習(xí)兩種語言并完成應(yīng)用程序,但是足夠復(fù)雜靠瞎,以便我能夠比較每個(gè)應(yīng)用程序的 CPU比庄,GPU 內(nèi)存使用情況和電源使用情況求妹。

測(cè)試應(yīng)用

這兩個(gè)項(xiàng)目都實(shí)現(xiàn)了相同的效果乏盐,如果對(duì)項(xiàng)目感興趣可以研究一下這兩個(gè)項(xiàng)目。

這個(gè)測(cè)試應(yīng)用包含四個(gè)頁面:

  • 第一個(gè)頁面將被命名為“Profile”制恍,并將提示用戶登錄到Facebook父能,以便檢索用戶的個(gè)人資料照片,姓名和電子郵件净神,并將其顯示在頁面上何吝。


  • 第二個(gè)頁面命名為 “To Do List”,并使用 NSUserDefaults(iPhone內(nèi)部存儲(chǔ)器)進(jìn)行簡(jiǎn)單的列表操作鹃唯。它將具有 “添加項(xiàng)目” 和 “刪除項(xiàng)目” 功能爱榕。


  • 第三個(gè)頁面命名為 “Page View”,它將包含一個(gè) Page View Controller坡慌。 Page View Controller 將有三個(gè)用戶可以滑動(dòng)的屏幕(“綠色”黔酥,“紅色”和“藍(lán)色”屏幕)。


  • 最后一個(gè)頁面命名為 “Map”洪橘,它將包含一個(gè) Map View跪者,用于定位用戶的當(dāng)前位置,地圖上的藍(lán)點(diǎn)表示用戶的位置熄求。


CPU 測(cè)試

GPU 測(cè)試

內(nèi)存測(cè)試

結(jié)論

我為 Swift 和 React-Native 構(gòu)建的移動(dòng)應(yīng)用程序的外觀幾乎相同渣玲。從我通過在四個(gè)頁面中的每個(gè)任務(wù)中測(cè)量應(yīng)用程序的 CPU,GPU 和內(nèi)存的使用情況所收集的數(shù)據(jù)可以看出弟晚,應(yīng)用程序的性能幾乎相同忘衍。 總的來說 Swift CPU 的使用率較低的,React-Nativ 中對(duì) GPU 的使用率較低(幾乎沒有)卿城,并且可以看出 React-Native 的地圖組件 的內(nèi)存使用率遠(yuǎn)低于 Swift 的地圖組件 枚钓。我可以從這些數(shù)據(jù)推斷,Swif t比 React-Native 更有效地使用了 iPhone 的 CPU藻雪,React-Native 比 Swift 更有效地使用了 iPhone 的 GPU秘噪,而 React-Native 以更有效的方式利用了iPhone 的內(nèi)存,贏得了三個(gè)測(cè)試項(xiàng)中的兩兩項(xiàng)勉耀,成為表現(xiàn)最好的平臺(tái)指煎。

這里沒有對(duì)原生 Android 進(jìn)行比較蹋偏。iOS 是我首選的平臺(tái),所以我最關(guān)心的是它至壤。不過威始,我可能會(huì)盡快在 Android 上嘗試相同的實(shí)驗(yàn)。我很好奇會(huì)有什么樣的結(jié)果像街,但我愿意打賭黎棠,如果 React-Native 應(yīng)用可以擊敗原生 iOS 應(yīng)用的性能,那么它同樣可以打敗原生 Android 應(yīng)用的性能镰绎。

我現(xiàn)在比以往任何時(shí)候都更相信 React-Native 是未來的框架 - 它具有如此多的優(yōu)點(diǎn)和如此少的缺點(diǎn)。 React-Native 可以用 Javascript 編寫(許多開發(fā)人員已經(jīng)知道的語言)畴栖,它的代碼庫(kù)可以部署到 iOS 和 Android 平臺(tái)随静,生產(chǎn)應(yīng)用程序的速度更快,更便宜吗讶,開發(fā)人員可以直接將更新推送給用戶燎猛,以便用戶不用擔(dān)心下載更新。最重要的是照皆,只有一年的時(shí)間重绷,React-Native已經(jīng)超越了原生iOS Swift應(yīng)用程序。

原文: Comparing the Performance between Native iOS (Swift) and React-Native
歡迎關(guān)注知乎專欄「極光日?qǐng)?bào)」膜毁,每天為 Makers 導(dǎo)讀三篇優(yōu)質(zhì)英文文章昭卓。

擴(kuò)展閱讀:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市爽茴,隨后出現(xiàn)的幾起案子葬凳,更是在濱河造成了極大的恐慌,老刑警劉巖室奏,帶你破解...
    沈念sama閱讀 216,470評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件火焰,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡胧沫,警方通過查閱死者的電腦和手機(jī)昌简,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來绒怨,“玉大人纯赎,你說我怎么就攤上這事∧硝澹” “怎么了犬金?”我有些...
    開封第一講書人閱讀 162,577評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我晚顷,道長(zhǎng)峰伙,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,176評(píng)論 1 292
  • 正文 為了忘掉前任该默,我火速辦了婚禮瞳氓,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘栓袖。我一直安慰自己匣摘,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,189評(píng)論 6 388
  • 文/花漫 我一把揭開白布裹刮。 她就那樣靜靜地躺著音榜,像睡著了一般。 火紅的嫁衣襯著肌膚如雪必指。 梳的紋絲不亂的頭發(fā)上囊咏,一...
    開封第一講書人閱讀 51,155評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音塔橡,去河邊找鬼。 笑死霜第,一個(gè)胖子當(dāng)著我的面吹牛葛家,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播泌类,決...
    沈念sama閱讀 40,041評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼癞谒,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了刃榨?” 一聲冷哼從身側(cè)響起弹砚,我...
    開封第一講書人閱讀 38,903評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎枢希,沒想到半個(gè)月后桌吃,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,319評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡苞轿,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,539評(píng)論 2 332
  • 正文 我和宋清朗相戀三年茅诱,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片搬卒。...
    茶點(diǎn)故事閱讀 39,703評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡瑟俭,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出契邀,到底是詐尸還是另有隱情摆寄,我是刑警寧澤,帶...
    沈念sama閱讀 35,417評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站微饥,受9級(jí)特大地震影響锐帜,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜畜号,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,013評(píng)論 3 325
  • 文/蒙蒙 一缴阎、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧简软,春花似錦蛮拔、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至疼蛾,卻和暖如春肛跌,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背察郁。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工衍慎, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人皮钠。 一個(gè)月前我還...
    沈念sama閱讀 47,711評(píng)論 2 368
  • 正文 我出身青樓稳捆,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親麦轰。 傳聞我的和親對(duì)象是個(gè)殘疾皇子乔夯,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,601評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件款侵、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,093評(píng)論 4 62
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,072評(píng)論 25 707
  • 可以說這是我認(rèn)真讀的第一本心理學(xué)相關(guān)的書末荐,起因是作者簡(jiǎn)介里有一句“他一生對(duì)積累財(cái)富或創(chuàng)立學(xué)派不感興趣,感興趣的是讓...
    我就是云錦閱讀 291評(píng)論 0 0
  • 進(jìn)程毙滦猓活甲脏,熱修復(fù),硬件接入等等都需要底層的支持壕鹉,而底層代碼是 C 剃幌、C++ 寫的,那么在 Android 中怎么調(diào)...
    文淑閱讀 2,150評(píng)論 8 54
  • 時(shí)間:2017年8月2號(hào) 星期三 地點(diǎn):卡樂咪綠地中心-牧笛兒童之家 內(nèi)容:小組時(shí)間——?jiǎng)?chuàng)意繪畫
    楊Cindy閱讀 185評(píng)論 0 1