`
utensil
  • 浏览: 151824 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

心得:Web 2.0站点如何提高可用性与性能

阅读更多

看了一些书和一些网站之后,关于Web 2.0站点如何提高可用性与性能的一点心得。基本上结合了《高性能网站》与Hijax的思路。

可以参考的一些网址:

《高性能网站建设指南》读后随感
http://www.dbanotes.net/web/high_performance_web_site.html


Yahoo!网站性能最佳体验的34条黄金守则——JavaScript和CSS
http://yy-web.iteye.com/blog/274059


图片优化漫谈
http://www.cnblogs.com/wanghongyuan/archive/2009/01/14/1375664.html

High Performance Web Sites 读书笔记
http://www.hickwu.com/?cat=4

Hijax
http://domscripting.com/blog/display/41

Hijax PPT(同时也是一个可退化的Demo)
http://domscripting.com/presentations/xtech2006/


AHAH: Asynchronous HTML and HTTP
http://microformats.org/wiki/rest/ahah

以下是心得:

1)Web 2.0 站点,应当在CSS没有load成功的情况下,依然能够呈现有意义有层次的内容

这就是为什么,使用ul/li这样的办法来实现Menu要好过div。我们在XHTML中依然要保持文档自身的逻辑,而不能过于依赖CSS。不要过于滥用CSS,使得XHTML文件中只剩下一堆没有任何意义感的div和span。

2)Web 2.0 站点应当能够在JavaScript被禁用的情况下,自然地退化为传统的Web 1.0的每页面刷新模式(所谓的Hijax开发方式)

这就意味着,应该使用渐进式的方式引入Ajax:首先使用户点击的是一个真的链接,然后再用JavaScript加以拦截,并以Ajax的方式获取信息和刷新部分页面,而且在标签里直接onclick,而要在外部js中通过操作DOM的方式实现,并且在函数体中return false以禁用那个链接。

这也意味着后端必须以模块化的方式实现,既能返回整个页面,也能返回部分页面,或者数据或脚本。这对于Ruby的erb特别好实现。推荐视频(http://media.railscasts.com/videos/136_jquery.mov),不过你得熟悉jQuery和Rails。

这还意味着,对数据有效性的验证,Ajax仅仅起提升用户体验的效果(即时性),真正的验证需要在后端再做。

优先使用返回部分页面(即Ahah方式),接下来依次考虑:JSON、XML、JavaScript脚本。

不要滥用Ajax。何况这种滥用,不利于SEO(搜索引擎优化)。有一些过于富的应用,应该使用Air使其成为桌面程序,却又拥有Web的许多优点,如CSS就非常利于程序的换肤。

3)Web 2.0 站点应当为用户在Web 1.0时代建立起的许多直觉提供支持,这包括:页面刷新提示、后退/前进支持,甚至可收藏的链接。

页面刷新提示是最基本的。包括正在读取的动画、保存成功的一个div的提示等。

关于后两方面,网上有不少讨论。Hijax的方式将方便可收藏性的实现。

4)Web 2.0 站点应该能够以某种方式提供Web Services

可以以REST方式或SOAP方式,或曰Open API来为其他网站提供它所实现的服务。这可以使网站的服务的可重用性大大提高。

5)Web 2.0 站点必须保持较高的性能

不可以因为追求rich而让网速poor的用户无法顺利访问。

这里讲三个我能理解的要点:

将CSS置于页面头部(注意对于IE,@import相当于将其至于尾部,所以应尽量避免@import),这样可以CSS中指定的样式更早起作用,避免用户看到较丑陋的HTML或空白。

将脚本置于页面脚部,这样可以防止脚本的执行阻塞了页面的载入,而且这也合乎逻辑,因为大多数脚本本质上都在页面完全载入之后,改变其DOM,或作其他功能性运算。

尽可能减少连接,即减少小文件的传输,这意味着将CSS、js、图片文件尽可能地合并,并争取以压缩的方式传输——理想状况只有一个CSS,一个js,一张图片(即CSS Sprites技术,可看下图获得一个直观认识):

 

分享到:
评论

相关推荐

    基于Web2.0的研究生个人知识管理模式研究.pdf

    总之,基于Web2.0的研究生个人知识管理模式,通过充分利用互联网的开放性和互动性,有助于研究生更高效地管理知识,促进个人能力的提升和学术创新。这一模式的应用将有助于打破知识孤岛,加强研究生之间的合作,为...

    Yii2.0 视频教程

    - **错误处理与异常管理**:掌握 Yii2.0 的错误处理机制,提高应用的健壮性。 - **安全特性**:深入了解 Yii2.0 的安全特性,例如防止 SQL 注入、XSS 攻击等。 #### 四、学习建议 - **实践为主**:理论学习的...

    Web2.0在高校信息化教学中应用模式探讨 (2009年)

    4. 用户体验:Web2.0非常注重用户体验,通过友好的界面设计和互动功能,吸引用户主动参与,提高学习的积极性。 5. 交互合作:Web2.0支持即时通讯、论坛讨论、在线协作等多种交互方式,有助于学生在学习过程中实现...

    信息技术提升工程2.0培训心得体会.pdf

    信息技术提升工程2.0培训心得体会.pdf

    algocraft:算法2.0

    它们是软件开发的基础,能够帮助我们优化代码,提高程序性能。 在Java编程中,算法的重要性不言而喻。Java作为一种面向对象的语言,提供了丰富的库和工具,使得算法的实现更为简洁。"algocraft"项目正是基于这样的...

    教育信息化2.0培训心得体会.doc

    教育信息化2.0是当前教育领域的一个重要概念,它标志着教育与信息技术的深度融合达到了一个新的阶段。这次培训使我深刻认识到教育信息化的重要性和紧迫性,同时也让我体会到自己在信息技术素养上的不足。 首先,...

    基于web2.0的BBS论坛搭建

    是用java开发的一个基于web2.0BBS论坛系统,其中有数据库,界面、代码和心得体会什么的。有3种权限,管理员、会员、游客。不同的权限可执行的操作不同。

    深入ASP.NET2.0开发

    10. **Web Parts**:Web Parts允许用户自定义个人化用户体验,如拖放部件,调整大小和设置属性。 书中“ProWebProgramming”的章节可能涵盖了以上提到的ASP.NET 2.0的关键特性,并通过实例详细讲解如何利用这些特性...

    Web20在中小学教学中的应用学习总结.doc

    4. **共同创作**:Web 2.0工具如博客、维基百科等支持群体智慧的形成,学生可以共同编辑项目,合作解决问题,培养团队协作能力。 5. **去中心化**:不再局限于少数大型教育平台,多样化的网络服务让教学资源更丰富...

    信息技术2.0培训心得体会.pdf

    信息技术2.0培训心得体会.pdf

    学习教育信息化2.0心得体会.pdf

    教育信息化2.0是当前教育领域的一个重要议题,它标志着教育与信息技术的深度融合进入了新的阶段。通过对钟绍春教授《人工智能时代教育创新发展的路径》的学习,我们可以深入理解教育信息化的本质、目的、方向以及...

    web笔记心得

    在“Web笔记心得”这个主题下,我们可以深入探讨Web开发的各个方面,特别是聚焦于前端开发。Web前台开发是构建互联网应用程序的重要部分,它涉及到用户与网站互动的所有视觉和交互元素。以下是一些关键的知识点: 1...

    自己用的参考手册,做个网络备份

    CSS2.0是其第二个主要版本,发布于1998年,极大地增强了网页设计的灵活性和可维护性。 2. **选择器**:CSS2.0引入了更强大的选择器,如类选择器(`.class`)、ID选择器(`#id`)、属性选择器(`[attr=value]`)和伪...

    蓝色干净的三栏个人博客模板-蓝色 web20 旅游 标准 三栏 博客 整站 干净.rar

    3. **Web 2.0设计风格**:Web 2.0不仅仅是指技术上的升级,更是一种设计理念的革新,强调用户参与、互动性和富媒体内容。这个模板可能包含动态效果、高质量图像、响应式设计等Web 2.0特征,以提高用户体验。 4. **...

    web学习心得

    Web 学习心得 本篇文章主要讲述了作者在学习 web 开发过程中的心得体会和收获。作者通过 9 周的学习,逐步了解了 web 开发的基础知识,并逐步掌握了超级链接、JavaScript 和 CSS 样式的应用。 知识点 1: Web 开发...

    WEB课程设计报告.doc

    Web课程设计报告主要探讨了基于JSP的新闻发布系统,这是一个常见的Web应用程序,用于实时发布、管理和更新在线新闻。在软件工程的学习过程中,这样的课程设计是培养学生实际开发能力的重要环节。 1. 引言 这部分...

    exbook v2.0.zip

    《exbook v2.0:探索新一代电子书阅读器的卓越体验》 在数字化阅读日益普及的今天,exbook v2.0.zip 提供了一种全新的电子书阅读体验。这款软件更新,即“exbook v2.0”,旨在提升用户在阅读、管理和分享电子书时的...

    my flex example2.0

    同时,Flex应用的可扩展性和模块化设计也是其亮点,通过组件化开发,可以将复杂的应用拆解为独立、可复用的部分,提高代码的维护性和重用性。 总的来说,“my flex example2.0”是初涉Flex开发的作者一次成功的尝试...

    艺术设计个人博客模板_艺术 设计 黑色 博客 标准 web20 漂亮.rar

    4. **标准Web2.0**:Web2.0指的是互联网的一个发展阶段,强调互动性、用户参与和社交网络。标准Web2.0博客通常具有丰富的媒体支持(如图片、视频、音频)、用户评论、社交分享等功能。这个模板可能遵循Web2.0原则,...

Global site tag (gtag.js) - Google Analytics