写这篇文章的原由是这个帖子“http://community.csdn.net/Expert/topic/3335/3335603.xml”希望大家仔细读读,会很有收获。
其实争论的焦点我觉得并没有集中在是否需要新的WEB标准上,而是集中于是否需要用DIV+CSS排版来代替TABLE标签排版。下面是我整理了一下正方与反方的观点(红色),以及我对这个问题的看法(蓝色)。
先来看看正方的观点,支持新的WEB标准,或者说DIV+CSS排版方式:
观点1:代码结构简单,结构与表达分离。
观点2:后期维护方便,几乎只需要更改站点的CSS文件就可以对站点进行改版。
观点3:节约站点所占空间和站点流量。
观点4:开发周期短,复用率高。
观点5:容易向XML过度。
再来看看反方的观点,维持现有标准,或者说TABLE标签排版:
观点1:HTML本身就是标准,而且已经够精减的了。
观点2:新的WEB标准对于开发人员的要求高,没有好的开发平台的支持,开发效率低下。
观点3:DIV+CSS排版方式代码偶合性高,并不像描述中的那么容易维护。
观点4:久有标准已经经过实践检验,已经成为实际的可操作的标准。
那么我先说说正方观点中的纰漏:
观点1:代码结构简单,结构与表达分离。
----------------------------------------------------------
新的标准真的结构简单么?DIV控制结构,CSS控制表达就是一个很好的例子。但是在实际使用中这样的方式到底有多少优势呢?就DIV+CSS排版来看,优势并不明显。而由于不能直观的表现出排版方式反而让人读起代码来多少有些费解。
观点2:后期维护方便,几乎只需要更改站点的CSS文件就可以对站点进行改版。
----------------------------------------------------------
这也是一大卖点吧,非常理想的网站维护方式——“只需要更改站点的CSS文件就可以对站点进行改版”。但是这似乎是一个很理想的状况,样式表繁杂琐碎的语句,毫无标准的书写都阻止了这个理想的实现。一旦开发人员更换,光分析CSS样式表就足以从新编写一个页面了。就是这次讨论的发起人ceocio本人编写的符合新的WEB标准的页面上也见不到对CSS样式表的丝毫注释。阅读起来让人费解。如果不对照实际显示效果,以及页面代码来分析,我根本无法理解CSS描述的是什么样的一种样式。对于简单的页面还可以这样分析,如果真的像那些门户站一般复杂的页面……难以想象的维护灾难。
观点3:节约站点所占空间和站点流量。
----------------------------------------------------------
对于这点,我没有做试验,不好评价。但是我也没有看到有统计数据能够明确表明新的WEB标准有足够的优势。
观点4:开发周期短,复用率高。
----------------------------------------------------------
由于无法很直观的对页面进行排版,比如TABLE标签的方式,对于不是非常熟练的开发人员来说,DIV+CSS排版有如噩梦一般。而算是一个熟练的开发人员面对上百自定义的样式表标签又能够开发到多快的速度呢?上百这个数量级我还只是保守估计,因为就我的经验判断,类似163或者SOHU的首页那样的页面,如果完全用DIV+CSS排版,或许上百还太少。而TABLE标签排版在事实上已经成为一种标准,就像TCP/IP协议架构对于网络7层协议架构一样,是经过实践与时间检验的。应该说还是有其可取之处。
观点5:容易向XML过度。
----------------------------------------------------------
HTML和XML本是一宗,而经过多年的发展HTML现在已经臃肿不堪。在根据实际应用而对HTML最初的标准的修改过程中,HTML越来越向着我们“希望的样子”发展。但是当我们意识到要回头去看的时候,HTML已经积重难反了。谁又能保证这个有容乃大的INTERNET不会把新的WEB标准变成另一个尴尬的标准呢?在没有经过实践与时间的检验我们又怎么能说它容易向XML过度呢?
但是在反方观点中也有很多问题:
观点1:HTML本身就是标准,而且已经够精减的了。
----------------------------------------------------------
在最初的时候HTML或许真的是非常精简,而且表达能力极强。但是在不断的改进与向下兼容的过程中,臃肿、繁杂、兼容性差都成为了旧的WEB标准的致命伤。
观点2:新的WEB标准对于开发人员的要求高,没有好的开发平台的支持,开发效率低下。
----------------------------------------------------------
还记得当年在写字板里写HTML标签的情景。一夜之间众多的“所见即所得”的页面开发工具如雨后春笋一般出现,同时也造成了WEB开发人员水平参差不齐。多数“初级开发人员”过分依赖这些工具。那么我们是否有必要照顾这些“初级开发人员”而避免改动呢?我不好说,你怎么认为呢?
观点3:DIV+CSS排版方式代码偶合性高,并不像描述中的那么容易维护。
----------------------------------------------------------
“偶合”这个概念我第一次在计算机的概念里听说是在软件工程中。就现有技术来看,不论是旧的WEB标准还是新的WEB标准代码偶合性高,都是不可避免的问题。而就像我前面说的DIV+CSS排版完全是由于不好的开发习惯而带来的维护噩梦。我个人认为,如果有良好的注释,DIV+CSS排版对于TABLE标签排版来说还是有较大优势的。而这或许就是新的WEB标准对于旧的WEB标准的优势的体现。
观点4:旧有标准已经经过实践检验,已经成为实际的可操作的标准。
----------------------------------------------------------
旧有标准之所以成为标准,说明在当时有其可圈可点之处。如今提出新的标准并不应该对旧有标准全盘否定。但是不否定并不代表肯定。比如数据检索与表达能力上,HTML已经捉襟见肘。存在的事物它的存在就是正确的,一定有一个推动力量让其产生。虽然事物本身并不一定正确,或者其本身就是完全错误的,但是至少说明了一种需要。如果用这样的观点来看待旧有标准与新的标准的话或许更能说明问题。
下面我总结总结我的观点吧:
引用《加勒比海盗》中的一句对白:“法典,或许更应该被理解为一种指引而不是守则……”对于标准应用的争论其实并不只出现在此。长久以来,当一种新的标准被提出,并且可能代替旧的标准的时候这种争论就会出现。没什么不好。
我们不应该为了标准而标准,更不应该因为习惯而放弃标准。你说呢?