1. 论坛系统升级为Xenforo,欢迎大家测试!
    排除公告

[转贴]从GMail认识的W3C网页标准和Ajax

本帖由 notnull2006-03-20 发布。版面名称:前端开发

  1. notnull

    notnull New Member

    注册:
    2005-09-27
    帖子:
    11,720
    赞:
    37
    不可否认,W3C网页标准刚出来的时候的确很吸引人。那时因为firefox的出现,冲击了浏览器市场,使得大家为了一个小狐狸,而掀起一场网页标准的风波,但是对于设计师来说带来什么?在这场风波我看到的最多就是技术的泛滥。
      和一些designer聊天,第一句话就问,“你的网页标准化了”吗,“你的网页又有几处错误”。无形中这些话就给我们这些designer来说带来很大压力。每次更新网页都很害怕因为一些小小的改动导致一些小错误。似乎W3C成了一种追捧现象。就如同前段时间的Ajax热一样。但我们更加是应该理性分析,我们什么时候才应该用到这些技术。

    我举一些例子

    1.Div和Table之间的误会
      
      刚开始接触到W3C的时候,首先面临的问题是要把传统的table布局给去掉,利用Div+CSS做结构。这个是网页标准化的精髓。但是问题来了,大部分人都因为这个而误会说 "Table没有用了" "你的网页还有table阿,out了"。其实不然,如果这样想,那就大错特错了。W3C只是要求不用table布局,没有说table不标准呀。
      每一个web标签都有它存在的意义,不是说完全遗弃某个标签。 我们应该合理利用好每一个标签,table并没有被放弃,相反的table只是回到他的本职工作---用来显示数据,当你要在网页上显示大量的表格数据的时候,就应该用table了,这样你可以花最少的时间,达到最好的效果。假如你一定要用<ul><li>来模拟<table>也可以,但是你将因此耗费过多时间在CSS上面,增加很多多余的代码量,而且还不一定能达到你想要的效果。

      最有说服力站点:GMail 你说它不标准吗?不是,你说它全是Div+CSS吗,也不是。它是Div+CSS+Table结构,它合理了利用好了每个网页标签。严格来说GMail并没有按照W3C XHTML 1.0标准去做。首先,它的网页没有用到 XHTML 1.0 的过渡定义。因为它没有办法用,如果用了这个定义去设计GMail。估计大家看不到那么出色的程序了。即使没有用这个标准定义,但是它的CSS能写出这么好的兼容性也是一种最大的成功。


    2.Ajax我们是否真的需要
      最先带出这个话题的是GMail,这个时候就开始很多人开始研究这个老技术的混合体。现在也开始在泛滥,但是很多时候我们不需要Ajax。简单的说,对于一个普通站点来说,你要宣传就必须要让搜索引擎找到你,但是Ajax最大的问题就是搜索引擎无法判断你里面的内容。就算你的技术多么成熟,做出来的东西不方便宣传,那也是一种失败。
      Ajax的主要是为提高程序的易用性为主,所以很多时候都会应用在后台程序中(当然部分操作也可以应用到前台)。来增强程序的人性化,以及易用性。
      Ajax最主要是实现了异步更新的功能,这样使网页不用同步显示更多信息。有效的减轻了服务器的负担。而实现异步主要是因为Javascript,而不是XML。为什么这样说呢,没有XML,Javascript同样可以实现异步。但是没有Javascript,光有XML也没用。XML只是作为一种数据来源。我分析了GMail的代码很长一段时间了,又一点很让我感到很奇怪,GMail用到XML的地方其实很少。它主要还是利用了大量的Javascript。里面用得最多的是Javascript和iframe,它解决Js回退靠的是iframe、输出邮件,它直接输出了Javascript代码到一个iframe的页面里面(直接看代码就可以看到),然后又利用Javascript重新构造这些JS数组,然后输出到网页上。中间的JS数组其实已经是直接写到了页面的,这样的过程用到的XML就很少了。整个GMail用得最多的是异步的JS方式。这样一来GMail也是传统,都是框架在利用JS控制着这个网页。而不是我们现在很多Ajax程序,一个页面上全是读XML,这样的方式是比较愚蠢的。
      我们要做的是利用好Ajax里面的 Javascript ,而XML只能作为必要的辅助。
     
      呵呵,文章结束了,以上均是我工作中遇到的问题的一些总结性的看法。希望大家不要因为这两个技术而“误入歧途”,重要的是理智考虑我们的网页如何给这两个技术一个合理的位置。

      最后,希望有能力的朋友多去研究研究GMail,你会发现很多和业界炒作的所谓新技术有很多出入。
      我对GMail的评价是一个很合理利用了以上两点技术的一个很成功的传统程序。
     
  2. 亚马逊的雨季

    亚马逊的雨季 New Member

    注册:
    2005-09-05
    帖子:
    1,984
    赞:
    12
    table 也是标准的元素。

    所谓的标准,更多的应该是“各司其职”,就是用每种标签定义的功能来决定其使用的场合。

    表格,表,是其功用,格,是其表现。它的作用主要在于显示数据。所以用表格来搭建网页的框架结构,是不正确的做法。

    另外在“标准”中,不使用表格设计版面,个人认为另一个原因是因为表格本身具有太多固定的样式效果,不便于灵活控制。而“标准”的网页,是要满足多种客户代理的使用要求的。例如在手机上阅读网页,阅读内容通常是自上而下的(即使横向的菜单,在不运用 CSS 的时候,列表示自上而下的),表格固定了行列,就很难满足这样的要求。

    关于 AJAX,它的作用在于简化操作,增强用户体验。但是个人觉得用滥了就不好了。对于小数据量的操作,例如更改一条记录的中的一个字段的内容,使用 AJAX 可以有效减少页面刷新、数据发送等等,使得操作效果立即呈现。

    对于现在某些程序中,大把大把的运用 AJAX 技术,就有些适得其反了。

    个人观点。

    :D
     
  3. 禾火木风

    禾火木风 New Member

    注册:
    2006-03-15
    帖子:
    2,212
    赞:
    8
    PJBLOG上的?