`

Click Framework最佳实践-性能

阅读更多

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>

   

 

分享到:
评论

相关推荐

    Microsoft .NET Framework 2.0 - Distributed Application Development (70-529) Mega Guide

    本文将深入探讨Microsoft .NET Framework 2.0版本在分布式应用程序开发中的核心概念、技术和最佳实践,主要针对70-529考试进行详尽解析。这个框架是微软提供的一套全面的开发平台,它极大地简化了构建、部署和管理...

    Microsoft .Net Framework-Application Development Foundation(Second Edition)

    5. **性能优化**:针对.NET Framework应用程序,本书提供了一些关于如何提高性能的建议和最佳实践。 通过以上对本书核心知识点的详细解析,读者不仅能够系统地学习.NET Framework 3.5版本的应用开发技术,还能为...

    MS Press - Applied Microsoft .Net Framework Programming

    通过阅读《MS Press - 应用微软.NET框架编程》,开发者不仅可以掌握.NET Framework的核心概念和技术,还能学习到最佳实践,以提升软件开发的效率和质量。书中的案例和实践指导将帮助读者将理论知识转化为实际开发...

    UIKit Framework

    #### 五、最佳实践 - **遵循 Human Interface Guidelines**:确保应用程序界面简洁明了,易于理解和使用。 - **优化性能**:减少不必要的视图重绘和计算开销,避免内存泄漏等问题。 - **国际化与本地化**:支持多种...

    MCTS .NET Framework 2.0 Windows Applications

    - **最佳实践**:分享在实际开发过程中积累的经验教训,帮助读者避开常见的陷阱并提升开发效率。 通过以上内容,我们可以看出《MCTS .NET Framework 2.0 Windows Applications》是一本全面覆盖.NET Framework 2.0...

    Smart Client系列课程(6):分布式智能客户端应用程序开发最佳实践

    **分布式智能客户端应用程序开发最佳实践** 在现代软件开发领域,智能客户端应用程序因其高效、离线功能和丰富的用户体验而备受青睐。本系列课程聚焦于“Smart Client”技术,旨在帮助开发者掌握构建分布式智能...

    Smart Client系列课程(1):智能客户端开发概览

    通过学习这个系列课程,开发者将掌握智能客户端开发的关键技术和最佳实践,从而能够构建出满足用户需求、性能优越的桌面应用程序。此外,课程可能还会讨论如何将现有Web应用迁移到智能客户端模型,以及如何在团队中...

    .NET Framework 2.0 系列课程(4):Office Development 和 .NET Framework 2.0.zip

    4. **Office 开发的最佳实践**:讨论在 Office 开发中需要注意的性能优化、错误处理和调试技巧,确保解决方案既高效又稳定。此外,还会涉及安全性问题,如代码签名和权限管理。 5. **案例研究**:通过实际的项目...

    mcts-self-paced-training-kit-exam-70-511-windows-application-development

    10. **设计模式和最佳实践**:书中可能涵盖了一些常见的设计模式,如工厂模式、单例模式等,以及.NET开发的最佳实践,以提高代码的可维护性和可扩展性。 通过这个自学习课程,读者将不仅能够准备考试,还能获得实际...

    Pro.NET 2.0 Code and Design Standards in C#, 3rd Edition

    它不仅详细介绍了 .NET 2.0 平台的各项特性和 C# 语言的最佳实践,还深入探讨了设计模式、测试方法以及安全性和性能优化等方面的知识。通过阅读本书,开发者可以提升自己的技能水平,构建出更加高效、稳定的应用程序...

    Wrox.Professional.Visual.Basic.2010.and.NET.4

    - 调试技巧与最佳实践 - 单元测试与代码覆盖率 **章节7:测试驱动开发 (TDD)** - **知识点**: - TDD 方法论 - 单元测试框架的选择与使用 - 测试先行开发 - 持续集成 #### 三、业务对象与数据访问 **章节8...

    70-431Part2 题库

    综上所述,这部分考试内容涵盖了SQL Server的视图操作、CLR函数的安全配置、SSMS的使用技巧以及数据库安全的最佳实践。理解并熟练掌握这些知识点对于通过MCTS 70-431考试以及日常的数据库管理工作至关重要。

    ASP.NET完全手册是一部非常好的ASP.NET的入门参考资料,希望对新学ASP.NET的人有所帮助。

    ASP.NET是微软公司推出的一种基于.NET Framework的Web应用程序开发平台,它为开发者提供了一套高效、安全且...手册可能还会涵盖实际示例、最佳实践以及常见问题的解决方案,帮助新手快速上手并深入理解ASP.NET的精髓。

    400多道asp.net C#面试题

    这份“400多道asp.net C#面试题”集合涵盖了这两个领域的核心概念、技术细节以及最佳实践,对于准备面试或提升技能的人来说极具价值。 1. ASP.NET基础知识: - ASP.NET的版本:包括ASP.NET Web Forms、ASP.NET MVC...

    Test-Framework:Selenium测试代码

    五、Selenium测试最佳实践 1. 使用Page Object模式:将每个页面的元素和操作封装成独立的对象,提高代码复用性和可维护性。 2. 异常处理:添加适当的异常处理代码,以应对可能出现的错误或异常情况。 3. 编写可读性...

    MSPress, Microsoft Visual C Sharp 2005 Step by Step (2006) BBL LotB.chm

    - 了解性能分析技巧,如代码优化、内存管理、并发编程的最佳实践。 10. **部署与版本控制** - 掌握C#应用程序的发布和部署策略,包括ClickOnce部署。 - 讲解版本控制工具的使用,如Visual SourceSafe或...

    圣殿祭司的ASP.NET.2.0.开发

    开发ASP.NET 2.0应用时,建议遵循以下最佳实践: - **代码分离**:将业务逻辑与界面设计分离,使用Code-Behind技术,使得代码更易于维护和理解。 - **异常处理**:合理使用try-catch-finally结构,确保应用程序的...

    silverlight 3.0事件处理

    9. **事件处理的最佳实践** - 避免在事件处理程序中执行耗时操作,因为这可能导致UI线程阻塞,影响用户体验。 - 及时解除事件处理程序的注册,尤其是当控件或组件不再使用时,防止内存泄漏。 通过理解和熟练运用...

    ASP.NET面试题

    - 状态管理的最佳实践和注意事项。 9. **缓存技术** - Output Cache,Fragment Cache,Data Cache的使用。 - 使用Redis或Memcached进行分布式缓存。 10. **异常处理** - 异常分类,try-catch-finally语句,...

Global site tag (gtag.js) - Google Analytics