网站重构到底是什么
作者:feiwen8772 来源:WEB前端开发 发布时间:2008-11-03 11:30:00
前不久听到这样一个面试的故事:
面试官:你准备在我们公司做些什么事情?(大致这个意思)
面试人:我准备在公司做网站重构,把原来是table的页面全部重构成css+div的,...
面试官:不好意思,我们的网站都是css+div的,不需要重构了。
面试人:...(无语了)
自从2004年阿捷翻译了《网站重构》这本书,网站重构这个词就慢慢的必成了css+div,甚至等同起来,一些朋友把标准跟重构也混淆了,css+div跟标准也混淆了。这里有很多误读的成份。
无可厚非《网站重构》当时给我们带来了一场革命。我看过部分章节,是本好书。可能是css,div,标准这些词太过于频繁,很多误读的人把网站重构和css+div或者html+css,css+div和标准,标准和重构都等同起来,弄得到底什么是什么,谁也说不清楚。这书出版到现在已经5年了,网站重构到底要多久?
我个人认为这本书始终围绕这一个思想:使用WEB标准重构网站。
21世纪初最大的IT冤案
由于2004年绝大多数网站是使用table布局的,我们知道table布局最大的坏处就是不利于结构和表现分离,后期维护比较麻烦。而使用css和div能很好的解决这个问题。table标签一直是W3C html的标准标签之一,为什么到了我们这里就拒绝使用了,table标签被抹杀是21世纪初最大的IT冤案。《网站重构》这本书自始至终没说不能使用table标签,为什么到现在,页面上出现一个table标签就说这页面是垃圾呢?可能跟中国革命的彻底性有关系。
什么是WEB标准
WEB标准不是某一个标准,而是一系列标准的集合。网页主要由三部分组成:结构(Structure)、表现(Presentation)和行为(Behavior)。对应的标准也分三方面:结构化标准语言主要包括XHTML和XML,表现标准语言主要包括CSS,行为标准主要包括对象模型(如W3C DOM)、ECMAScript等。这些标准大部分由W3C起草和发布,也有一些是其他标准组织制订的标准,比如ECMA(European Computer Manufacturers Association)的ECMAScript标准。
具体可以查看:http://baike.baidu.com/view/7913.htm
而在阿捷的网页设计师网站(相当于《网站重构》的官方网站)有这么一句话:
怎样才是符合web标准?简单说就是不用HTML+table来设计页面,改用XHTML+CSS来实现。(出自:http://www.w3cn.org/faq/index.html)
可能这句话才是误读《网站重构》的真正源头,抹杀table的真正元凶。但是我相信阿捷他老人家的出发点是鼓励大家使用XHTML+CSS来布局网页。
《网站重构》给我们带来一场革命,同时也给我们带来了灾难性的div+css泛滥
《网站重构》给我们带来一场革命是译者预料之中的事情,同时也给我们带来了灾难性的div+css泛滥是译者始料未及的。现在人们都在谈论div+css,谈论怎么解决浏览器兼容性问题,一个页面你就使用了div标签的有之,其实根本不存在div+css,是HTML+CSS。我问一个朋友什么是em标签,他说em是单位(css中度量单位),大家css都很精通了,html呢,基础呢,结构呢,语义呢?反正都是源代码一看,都是div标签,就是好页面。那你们把这个页面裸奔一下,看看是什么,用Twinsen Liang 的话去看看小学语文书。
网站重构到底是什么
网站重构不是一种技术,不是css+div,更不是标准,网站重构是一种思想,是一种理念。
引用WebReBuild.ORG 的话:当前国内的同行普遍的认为:所谓的网站重构就是“DIV+CSS”,想法固然极度局限。但也不是另一部分的人认为是“XHTML+CSS”,因为“XHTML+CSS”只是页面重构。真正的网站重构理应包含结构、行为、表现三层次的分离以及优化,行内分工优化,以及以技术与数据、人文为主导的交互优化等。
网站重构到底要多久
重构网站先重构人,重构你的理念,不要光光追求技术,追求还原设计稿,追求浏览器的兼容性,重要的是基础和理念。当你真正了解什么是网站重构的时候网站重构也就真正开始了。
纯属个人观点,欢迎留言斧正。
猜你喜欢
- 说到Javascript的类继承,就必然离不开原型链,但只通过原型链实现的继承有着不少缺陷。无参数类继承的问题先看一段示例代码,实现B继承于
- 2008年,对于JavaScript来说是非常振奋人心的一年,很多高人加入到JavaScript和Web开发的阵营中来,浏览器厂商在技术上互
- 内容摘要: 首先来讲讲 Session 的好处,它可以用来记录客户端私有的
- global.asa<SCRIPT LANGUAGE="VBScript" RUNAT=&qu
- LearningjQuery.com 博客帖子列表的左边有一个很酷的日期,如图:从图中我们看到,“2009”垂直排列在右侧。用Firebug
- 在 PHP 中实现异步定时多任务消息推送的方式有多种,其中一种常用的方式是使用异步任务队列。以下是一个简单的步骤:安装和配置消息队列服务(如
- 编者注:当讲到了性能优化和案例方面的东西,就要想到如何从开发人员的角度进行了理解,认识SQL是如何执行,以及如何学习高级的SQL,这篇文章对
- 如果你能很好的理解我下面的一句话,那这些都不是问题了。asp是服务器端语言,它的作用是动态生成客户端浏览器所能识别的html css jav
- 问:如何自己制作验证码的head.fix和body.fix文件答:1 图象绘制完成后,将文件存为24位位图格式的BMP图象文件。 2 去除前
- 由于代码比较短,这里就不进行注释了代码如下:<% '当目标页面的包含文件即#include的页面里边存在respon
- 一、'建立register.asp 代码如下:<%@ language=vbscript %>&nb
- 浏览器经常Cache你的页面,这是一个很麻烦的问题,下面先提出几种方案来解决一般的问题:(把下面的代码加入到asp程序的最开始位置)<
- 一、Sql Server中的日期与时间函数 1. 当前系统日期、时间 select getdate() 2. dateadd 在向指定日期加
- Oracle数据库作为大型数据库管理系统,近年来一直占有世界上高端数据库的最大份额,其强大而完善的数据库管理功能,以及ORACLE公司推陈出
- 在实现TextStraem的时候,找到判断文件编码的代码是VBS的,但是在JScript中是没有ASC等函数的,也不能对二进制数据进行处理,
- Access保留字&变量名列表,建表时应避免使用这些词汇和符号。Access 2002/2003-A &nbs
- //********************** index.asp ************************//<
- 没注意到MooTools的Cookie类在写的时候自己做了一次encode,在读的时候做了一次decode,在一般的情况下,这个不会有什么问
- 本文讲解如何设置SQL Server数据库全文索引服务。在Microsoft SQL Server 7.0 中提供了全文索引服务(Full-
- 代码如下:use tempdb if object_id('tempdb..#table') is not null dro