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的资源用户就能够当即响应到。

.....

相关文章
相关标签/搜索