`
cyfgod
  • 浏览: 64809 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

如何让你的WEB应用跑得更快

    博客分类:
  • Web
阅读更多
一个典型的WEB应用程序可以包含很多文件内容,就以一个J2EE应用来说,一般会有class,有jar,还有一堆jsp/js/css/xml等等文件。特别是随着程序的庞大,这些文件也是成倍的增长。哪如何使你的WEB应用跑得更快呢?

后台的代码优化和应用逻辑很紧密,在此就不做说明,这里只是提出一些常用的对前端代码的优化方法。一般是JS和CSS,还有image图像文件。

1) 对JS文件,需要进行打包和压缩处理。可以将散乱的所有JS文件,都打包成一个JS文件,而且对一些变量和格式进行压缩,从而减少浏览器下截的时间。
可以采用YUI的compressor包,编写ant脚本进行处理。示例如下:
<project name="JSCompress" basedir="." default="compress.all">
	<property name="lib" value="WEB-INF/lib" />
	<property name="jspath" value="js" />
	<property name="yui-compressor.jar" location="${lib}/yuicompressor-2.3.4.jar" />

	<target name="compress.all">
		<concat destfile="${jspath}/allInOne.js">
			<filelist dir=".">
				<file name="${jspath}/prototype.js">
				</file>
				<file name="${jspath}/a.js">
				</file>
				<file name="${jspath}/b.js">
				</file>				
			</filelist>
		</concat>
		<java jar="${yui-compressor.jar}" fork="true" failonerror="true" logError="true">
			<arg value="--nomunge" />
			<arg value="--disable-optimizations" />
			<arg value="-o" />
			<arg value="${jspath}/allInOne.js" />
			<arg value="${jspath}/allInOneMerged.js" />
		</java>
	</target>
</project>


这个示例很简单,大家可以自已去试一下,调整一些参数。

2) 对CSS文件,也可以打包到一个CSS文件中,可以参考上面脚本中的concat操作。

3) 对image文件,特别是一些常用到的小icon图标,如果每个图标都单独下载,哪是很浪费时间的,这里就需要用到CSS sprite技术。将所有图标都合成到一个大的图片中,通过CSS控制显示所需要的小图标。
相关的CSS示例如下:

#container li {background: url(../images/toolbar/toolbar.gif) no-repeat top left;}

.toorbarImageButton
{
	background: url(../images/toolbar/toolbar.gif);
	background-color : transparent; 
	background-repeat: no-repeat; 
	border-style: none;
	width: 16px; 
	height: 16px;
}

/* CSS Rules */
.sprite-new { background-position: 0 -20px; } 
.sprite-save { background-position: 0 -56px; } 
.sprite-open { background-position: 0 -92px; } 
.sprite-Delete { background-position: 0 -164px; } 


这里有一个很好的网站,大家可以用它直接生成相关的大图片和CSS文件,就像傻瓜相机一样,非常方便。
http://spritegen.website-performance.org/

好了,就说这些吧。有什么别的想法,可以一起讨论。
6
2
分享到:
评论

相关推荐

    让javascript跑得更快.pdf [精华]

    ### JavaScript性能优化策略 #### 一、引言 ...通过实施这些策略,可以有效提高Web应用的整体性能,为用户提供更好的体验。同时,开发者也应该注意不要过度优化,以免牺牲代码的可读性和可维护性。

    让Oracle跑得更快.pdf-Oracle 10g 性能分析与优化思路

    《让Oracle跑得更快》是针对Oracle 10g数据库性能分析与优化的一份深入指南。Oracle数据库系统作为全球广泛使用的数据库管理系统之一,其性能优化对于企业数据处理效率至关重要。Oracle 10g版本在性能方面引入了许多...

    十个迅速提升JQuery性能让你的JQuery跑得更快

    【jQuery 性能提升策略】 ...通过遵循这些优化策略,你可以显著提升基于 jQuery 的 Web 应用的性能,为用户提供更快的加载速度和更流畅的交互体验。不断学习和实践,以确保你的 jQuery 代码始终保持高效。

    让javascript跑得更快.doc

    JavaScript是Web开发中不可或缺的一部分,尤其在现代Web应用中,它承担着实现动态交互和富内容展示的关键任务。为了提升JavaScript的运行效率,我们需要关注如何优化JavaScript和CSS的加载与执行,以提供更好的用户...

    Node.js 应用跑得更快 10 个技巧

    如果你打算用 Node.js 开发你的下一个Web 应用的话,那么你就应该无所不用其极,让你的应用更快,异常的快。本文将介绍 10 条,经过检验得知可大大提高 Node 应用的技巧。废话不多说,让我们逐条来看看。 1.并行 ...

    Web 2.0 编程思想:16条法则

    迭代开发模式鼓励小步快跑,通过快速迭代来逐步完善功能。这种方法不仅适用于传统编程语言如C++、Java等,也适用于动态语言如Ruby。重要的是建立一套灵活的工作流程,以便快速修复错误并推出新特性。 总之,Web 2.0...

    TodoList:待办事项列表Web应用程序

    【TodoList:待办事项列表Web应用程序】 TodoList是一个基于Web的应用程序,旨在帮助用户有效管理他们的日常任务和待办事项。这样的应用通常包括创建、编辑、删除和追踪任务的功能,使得时间管理和任务组织变得更加...

    html5快跑.zip

    - Web Storage(包括localStorage和sessionStorage)提供了本地数据存储,改善了应用程序的离线功能。 - Web Workers和WebSockets则提升了多线程处理和实时通信的能力。 2. **HTML5游戏开发**: - HTML5游戏开发...

    cypressTest:赛普拉斯e2e测试以做Web应用

    这些API设计得直观易懂,让测试代码更接近自然语言。 五、断言与期望 赛普拉斯的断言库非常强大,包含了对值、属性、状态等多种情况的验证。例如,`should('be.visible')`检查元素是否可见,`expect(response).to....

    svsal:萨拉曼卡学校。 Web应用程序

    萨拉曼卡学院-Web应用程序 该软件包提供了基于XML / TEI的数字版环境。 它已被开发为”项目网络存在的核心要素 德国。 它打算作为的应用程序包进行部署,并利用了一系列进一步的服务,这些服务将在下面更详细地描述...

    vue+vuex+localstorage记账小程序应用.zip

    LocalStorage是Web存储的一种机制,它允许Web应用在用户的浏览器中存储键值对数据,且这些数据在用户关闭和重新打开浏览器后依然存在。在这个记账应用中,LocalStorage被用作持久化存储,可能用来保存用户的登录状态...

    HabitTracker_webapp:ID2216分配-习惯跟踪器(Web应用程序原型)

    Vue.js的核心特性包括组件化、虚拟DOM、响应式数据绑定和指令系统,这些使得开发Web应用变得更加高效和易于维护。 根据压缩包子文件的文件名称列表“HabitTracker_webapp-main”,我们可以推测这个压缩包可能包含了...

    pathFindingVisualizer:该Web应用程序将帮助您可视化从A点到B点的不同最短路径算法。因此,帮助您选择最合适的算法

    通过阅读和研究这些代码,开发者可以深入理解如何用JavaScript实现这些算法的可视化,以及如何构建交互式的Web应用。 6. **应用场景**:除了学习和教学,PathFindingVisualizer也可用于优化算法设计。例如,你可以...

    EXT例子,可以直接跑

    EXT是一个基于JavaScript的富客户端应用框架,主要用于构建复杂的Web应用程序,尤其在企业级应用中广泛应用。这个"EXT例子,可以直接跑"的压缩包文件提供了一个完整的办公系统框架实例,非常适合初学者快速上手EXT...

    STAR:轻装上阵,跑得快,行得通! 德武强力!-开源

    图像可供选择:64位-Xfce(最小),Fluxbox,Openbox,Jwm,i3,Cli 32位-Jwm,Cli有少量应用程序可供选择,包括:Web浏览器,文本编辑器,图像查看器,pdf查看器,文件经理,终端,媒体播放器。 如果您想自定义...

    关于ASP.NET的性能优化及其安全性的探讨.docx

    性能优化是指如何将Web应用程序运行得越来越快,而安全性则是指如何保护Web应用程序免受恶意攻击和数据泄露的影响。在本文中,我们将从性能优化和安全性两个方面探讨ASP.NET的性能优化及其安全性。 一、ASP.NET性能...

    learn-typed-react:学习使用React 0.14和TypeScript 1.6+逐步开发单页Web应用(SPA)

    在本项目"learn-typed-react"中,我们将深入探索如何结合React 0.14版本与TypeScript 1.6及更高版本来构建一个单页Web应用(SPA)。TypeScript是一种强类型、面向对象的超集语言,它扩展了JavaScript,提供了更好的...

Global site tag (gtag.js) - Google Analytics