且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

从几篇文字得到关于web app开发的性能问题的答案

更新时间:2022-07-18 10:54:08

1. http://blogs.adobe.com/creativecloud/are-mobile-web-apps-slow/

2. http://software.intel.com/zh-cn/articles/phonegap-html5 (翻译:http://www.36kr.com/p/205301.html

3. http://h5dev.uc.cn/article-23-1.html  (不知是否原创站点)

 

Drew Crawford 的《Web App真的很慢》一文一经发表即引来轰动讨论,无数的评论、tweet 皆围绕 web app 与 native app 性能之问相持不下。依据 Drew 的观点——web app 由 Javascript 写成,但Javascript对于Web app来说是不可取的,因为速度太慢,而且影响体验,这个状况在中短期内(5-10 年)都不会有显著改善。

 

对于开发者来说,产出效率是很重要的衡量指标。

 

以许多开发者有了使用 JS 的动力,因为 JS 使用起来简单易行,兼有动态属性,并且 JS 语言支持跨平台与多种设备,但 native 代码只针对某一个特定的平台。因此哪怕在性能上略有丢失,多平台和广泛的受众到达仍然会吸引许多开发者选择 JS。

 

需要从html、js、css三方面注意避免性能的陷阱。

 

我们分析了目前Google play, 安卓市场,豌豆荚市场,机锋市场的下载量前300名的应用,以及每个分类的前50名的应用进行分析,发现以下7个应用采用了PhoneGap开发:

从几篇文字得到关于web app开发的性能问题的答案

来自国内市场的有5个应用.当然,还有更多的纯HTML5应用程序没有计算在内,也没有计算来自iOS的phoneGap应用。

另外还有一些经验之谈。

1.      将for循环条件语句中的.length属性存入一个局部变量

2.      用className属性取代其他style属性

3.      appendChild()的部分使用document fragments来修改DOM元素

4.      CSS 中将 2D的CSS变化转化为 3D的CSS变换

5.      在HTML文档中,将inline的 JavaScript代码转化为独立的JavaScript文件

6.      由于脚本的阻塞特性,将JavaScript脚本放在文件的最底端以及成组加载