iOS native+web混合式開發性能分析

   最近,利用業餘時間學習web主要是移動web,雖不能說的上精通,但起碼也有必定的認識,而關於native和web之間爭論也從未聽過,網上關於這方面你的文章一大堆,好比說知乎的這篇:Web App 和 Native App,哪一個是趨勢。而到底他們之間,性能方面的有哪些差別呢,要本身測一測才清楚。  jquery

    因此,以新浪微博爲例子,接下來我新建兩個Xcode工程,一個使用原生的UITableView和coreText做爲佈局和排版(使用新浪開放平臺接口),另外使用基於UIWebView加載(連接爲http://m.weibo.cn)。爲了,測試數據的真實性,我沒有界面只停留在首頁,點擊想起內容和標籤我並無操做.接下來看兩站截圖:web

   

 

能夠看到,左邊那張圖是app界面,右邊那張是使用瀏覽器打開的,他們都用個人帳號@Vison李文深登錄,不用說,咱們都知道原生app的用戶體驗和流暢度都要比網頁的都要好。而咱們開發者通常都知道native app性能都要比web app好。只要差別有多大呢,接下來就用數據來講話了(我測試的工具爲Xcode6.3.2)sql

 

一:內存使用比較數據庫

二:網絡使用狀況比較bootstrap

 

 

 

總結:瀏覽器

1)兩種app都同時運行了三分多鐘,都下拉的微博數量同樣,native的內存使用狀況爲平均爲70.4M,最高爲73.8M,web的使用狀況爲平均98.9M。最高喂129.1M。能夠看得出,native的性能遠高於web,同時web的最高內存使用飆得很高的話,很容易產生crash現象緩存

2)native首次加載使用流量爲0.8M,而web爲3.1M(使用sqlite數據庫緩存),第二次native使用流量爲5.4K,web使用了0.1M(使用瀏覽器自帶功能緩存)。這裏也能夠看得出,使用網絡狀況,native也完爆web,但我直覺以爲未必,但說不出緣由o(╯□╰)o。服務器

 

雖說,native在體驗上和流暢度因爲web,可是如下這些它是比不上web的:網絡

1)web使用強大的webkit功能,使之在不一樣平臺下有很好的兼容性,使開發效率大大提升app

2)各類js框架,是web在app開發上很方便,例如jquery-mobile,bootstrap響應式設計使之兼容各類屏幕,開發人員不需太多考慮屏幕適配

3)強大的發佈能力,因爲web放在遠程服務器,咱們只需更新web的資源用戶就能夠當即響應到。

.....

相關文章
相關標籤/搜索