Yahoo公布了改善web应用性能的最佳实践列表。
Click框架提供了一个PerformanceFilter 去迎合当中的一些规则。然而不是所有的规则都很容易的被实现。
这一节将会概括应用PerformanceFilter 没有包括的规则的方法,#1 - Minimize HTTP Requests (by combining files) 和 #10 - Minify Javascript and CSS.。
规则1也涉及到CSS Sprites, 把多个图片结合一个的方法。这里不谈论CSS Sprites。
不是每个页面都需要优化的,应该集中在经常被访问的页面,例如主页面。
有些工具对规则1和10是有用的。
- YUICompressor - 缩小和压缩JavaScript和CSS文件,这样会传输更少的字节。
- Ant Task for YUICompressor - 使用YUICompressor压缩JavaScript和CSS文件的Ant任务。
- JSMin - 类似YUICompressor,但只缩小(移除空格和换行)JavaScript文件但不压缩。JSMin的优点是比r YUICompressor快可以在运行期缩小JavaScript,而YUICompressor最好在编译期使用。
下面的文章概括出怎样使用YUICompressor和使用Ant将JavaScript和CSS文件结合和压缩:
- Article 解释怎样使用Ant和YUICompressor压缩.
- Article 概括怎样使用一个特殊的YUICompressor Ant任务压缩。
使用上面的一个方法你可以连接压缩所有的JavaScript和CSS文件成2个独立的文件。例如home-page.css和home-page.js。注意这两个文件必须包括所有的JavaScript和CSS文件,通常这些文件是Page和Control使用的。之后只需要让Click包含这2个压缩的文件,home-page.css和home-page.js。
Click使用工具类PageImports引入CSS和JavaScript。PageImports有一个setInitialized(boolean)方法,使用这个方法设置PageImports初始化完成。一旦PageImports完成初始化,其他的CSS和JavaScript不再会被引入。
重载Page.getPageImports()方法,引入必要的JavaScript和CSS文件然后设置PageImports已完成初始化,迫使PageImport跳过其他的CSS和JavaScript文件。
public class HomePage extends Page {
private Form form = new Form("form");
public void onInit() {
form.add(new EmailField("email");
addControl(form);
}
public void getPageImports () {
PageImports pageImports = super.getPageImports();
String contextPath = getContext().getRequest().getContextPath();
String cssInclude = contextPath + "/assets/css/home-page.css";
pageImports.addImport("<link type=\"text/javascript\" href=\"" + cssInclude + "\"/>");
String jsInclude = contextPath + "/assets/js/home-page.js";
pageImports.addImport("<script type=\"text/javascript\" src=\"" + jsInclude + "\"></script>");
// Set pageImports to initialized so that no other CSS and JavaScript files will be included.
pageImports.setInitialized(true);
}
}
border-template.htm
<html>
<head>
<title>Click Examples</title>
${cssImports}
</head>
<body>
...
${jsImports}
</body>
</html>
HTML要包括一个CSS和JavaScript文件:
<html>
<head>
<title>Click Examples</title>
<link type="text/css" rel="stylesheet" href="/click-examples/assets/css/home-page.css" title="Style"/>
</head>
<body>
...
<script type="text/javascript" src="/click-examples/assets/js/home-page.js"></script>
</body>
</html>
分享到:
- 2009-03-18 15:45
- 浏览 868
- 评论(0)
- 论坛回复 / 浏览 (0 / 1782)
- 查看更多
相关推荐
本文将深入探讨Microsoft .NET Framework 2.0版本在分布式应用程序开发中的核心概念、技术和最佳实践,主要针对70-529考试进行详尽解析。这个框架是微软提供的一套全面的开发平台,它极大地简化了构建、部署和管理...
5. **性能优化**:针对.NET Framework应用程序,本书提供了一些关于如何提高性能的建议和最佳实践。 通过以上对本书核心知识点的详细解析,读者不仅能够系统地学习.NET Framework 3.5版本的应用开发技术,还能为...
通过阅读《MS Press - 应用微软.NET框架编程》,开发者不仅可以掌握.NET Framework的核心概念和技术,还能学习到最佳实践,以提升软件开发的效率和质量。书中的案例和实践指导将帮助读者将理论知识转化为实际开发...
#### 五、最佳实践 - **遵循 Human Interface Guidelines**:确保应用程序界面简洁明了,易于理解和使用。 - **优化性能**:减少不必要的视图重绘和计算开销,避免内存泄漏等问题。 - **国际化与本地化**:支持多种...
- **最佳实践**:分享在实际开发过程中积累的经验教训,帮助读者避开常见的陷阱并提升开发效率。 通过以上内容,我们可以看出《MCTS .NET Framework 2.0 Windows Applications》是一本全面覆盖.NET Framework 2.0...
**分布式智能客户端应用程序开发最佳实践** 在现代软件开发领域,智能客户端应用程序因其高效、离线功能和丰富的用户体验而备受青睐。本系列课程聚焦于“Smart Client”技术,旨在帮助开发者掌握构建分布式智能...
通过学习这个系列课程,开发者将掌握智能客户端开发的关键技术和最佳实践,从而能够构建出满足用户需求、性能优越的桌面应用程序。此外,课程可能还会讨论如何将现有Web应用迁移到智能客户端模型,以及如何在团队中...
4. **Office 开发的最佳实践**:讨论在 Office 开发中需要注意的性能优化、错误处理和调试技巧,确保解决方案既高效又稳定。此外,还会涉及安全性问题,如代码签名和权限管理。 5. **案例研究**:通过实际的项目...
10. **设计模式和最佳实践**:书中可能涵盖了一些常见的设计模式,如工厂模式、单例模式等,以及.NET开发的最佳实践,以提高代码的可维护性和可扩展性。 通过这个自学习课程,读者将不仅能够准备考试,还能获得实际...
它不仅详细介绍了 .NET 2.0 平台的各项特性和 C# 语言的最佳实践,还深入探讨了设计模式、测试方法以及安全性和性能优化等方面的知识。通过阅读本书,开发者可以提升自己的技能水平,构建出更加高效、稳定的应用程序...
- 调试技巧与最佳实践 - 单元测试与代码覆盖率 **章节7:测试驱动开发 (TDD)** - **知识点**: - TDD 方法论 - 单元测试框架的选择与使用 - 测试先行开发 - 持续集成 #### 三、业务对象与数据访问 **章节8...
综上所述,这部分考试内容涵盖了SQL Server的视图操作、CLR函数的安全配置、SSMS的使用技巧以及数据库安全的最佳实践。理解并熟练掌握这些知识点对于通过MCTS 70-431考试以及日常的数据库管理工作至关重要。
ASP.NET是微软公司推出的一种基于.NET Framework的Web应用程序开发平台,它为开发者提供了一套高效、安全且...手册可能还会涵盖实际示例、最佳实践以及常见问题的解决方案,帮助新手快速上手并深入理解ASP.NET的精髓。
这份“400多道asp.net C#面试题”集合涵盖了这两个领域的核心概念、技术细节以及最佳实践,对于准备面试或提升技能的人来说极具价值。 1. ASP.NET基础知识: - ASP.NET的版本:包括ASP.NET Web Forms、ASP.NET MVC...
五、Selenium测试最佳实践 1. 使用Page Object模式:将每个页面的元素和操作封装成独立的对象,提高代码复用性和可维护性。 2. 异常处理:添加适当的异常处理代码,以应对可能出现的错误或异常情况。 3. 编写可读性...
- 了解性能分析技巧,如代码优化、内存管理、并发编程的最佳实践。 10. **部署与版本控制** - 掌握C#应用程序的发布和部署策略,包括ClickOnce部署。 - 讲解版本控制工具的使用,如Visual SourceSafe或...
开发ASP.NET 2.0应用时,建议遵循以下最佳实践: - **代码分离**:将业务逻辑与界面设计分离,使用Code-Behind技术,使得代码更易于维护和理解。 - **异常处理**:合理使用try-catch-finally结构,确保应用程序的...
9. **事件处理的最佳实践** - 避免在事件处理程序中执行耗时操作,因为这可能导致UI线程阻塞,影响用户体验。 - 及时解除事件处理程序的注册,尤其是当控件或组件不再使用时,防止内存泄漏。 通过理解和熟练运用...
- 状态管理的最佳实践和注意事项。 9. **缓存技术** - Output Cache,Fragment Cache,Data Cache的使用。 - 使用Redis或Memcached进行分布式缓存。 10. **异常处理** - 异常分类,try-catch-finally语句,...