标记语言设计的抽象程度思考
发表时间: April 25, 2010 分类: WebBuild 29条评论
突然觉得HTML越来越乱了,现在满世界都在喊着HTML5,前端同学好像都把他当作了一个救世主。
HTML是一门标记语言(Markup Language),标记语言在于他的设计不需要逻辑功能,他最主要的作用就是用确定的标签(在html中是HTML elements)来容纳有不同的内容。其实世间万物本来就有他自己的意义的,在网页上显示出来的一切文本、图像、视频也是。一块巧克力不把它放到巧克力盒子里我们一样知道它是巧克力,只是为了方便生产、运输、卖出的识别我们大多会将巧克力用包装装起来。一个图像我们不用img标签包含,浏览器也是有可能知道它是一个图像的,从一定程度上来说,超文本标记语言的发展是浏览器工业化发展的一个象征。将同类的的东西放到同一个特定的“容器”中,在oop中来说,就是类的思想了。
于是,真正引发的问题就是这个容器究竟该设计得多“大”?这就是设计中经典的抽象程度的问题了。阴阳五行足够概括世间万物、但不能完全描述世间万物。在HTML中,使用标签(Element)和属性(Attribute)二维结合来描述超文本资源。无奈所有的东西都是不断发展的,互联网也不例外。其实HTML5中多出来video等标签就像HTML2多出来img标签一样正常,虽然我们确实值得欢呼,也不用太为此担心兼容——想想gif、png、jpeg——我是达尔文物竞天择思想的支持者。但是我觉得HTML的设计从一开始就没有很好的考虑抽象程度这个问题,可能是为了迁就使用上的方便,最明显的就是这门语言虽然有结构树(DOM)的层级、但是没有意义上的继承,不管是从标签上还是属性上。HTML生来就是有语义的,XHTML想解决数据和结构分离,结果被传道士努力得让大家都只在乎结构和表现的分离了。XHTML2曾一度想放弃向前兼容,还推荐将图像从img标签过渡到object标签,以达到更高的抽象程度,用以更“方便”地描述互联网上将来越多的不同格式的其他资源。HTML5又干脆弄出来一大堆的极度语义化的标签。那么Microformat的出现又是因为什么原因呢?
要看清楚这些,其实我们应该明白其实W3C是一个商业组织。WHATWG更是一个商业化——最明白就是浏览器竞争——的产物。很多东西其实就是商业杂交出来的(比如最明显的代表就是鼓吹“高尚情操”的video标签),HTML的一出生就流淌着商业的血。问题还在于离开商业一切都活不了。
不要再讨论HTML5好不好、HTML5什么时候出来、我们什么时候用它。
有些东西你在思考的时候永远很难想到,比如中国特色的双核浏览器,虽然或许这只是在揠苗助长。
这是个最好的时代,这是个最差的时代。或许一直以来就是。

已有 29 条评论
#1 aoao Says:
May 8th, 2010 at 10:43 pm
为什么~
可乐是用圆瓶装~ 牛奶用方盒装~
#2 阿肆 Says:
May 9th, 2010 at 09:30 am
@aoao 就是这个问题,更科学的可能更不方便。
康师傅绿茶的设计呢?
#3 Jinjiang Says:
May 9th, 2010 at 12:14 pm
先不说抽象程度了,草案害死人啊,看着诱人但不敢用。drag,就很尴尬……
现在看来HTML5(尤其是js api的部分)更像是对浏览器的外壳/辅助功能提出的统一标准,不准你瞎做扩展了,比如当超级拖拽遇到on
也或许草案不会正式成为标准,只能用在特定的地方了,受众很有限
#4 C.jack Says:
May 15th, 2010 at 05:46 pm
W3C怎么是商业组织呢?
#5 外贸SOHO Says:
May 19th, 2010 at 09:46 pm
关注现在,HTML5不会是神话,其实出来后,也就是那样~~
就跟3G一样
#6 外贸SOHO Says:
May 19th, 2010 at 09:47 pm
关注现在,HTML5不会是神话,其实出来后,也就是那样~~
就跟3G一样
#7 pengkai Says:
June 11th, 2010 at 01:02 pm
我还是支持HTML5的发展,让普及速度来得更快一些吧。就像大分裂时代渴望大一统。
#8 狂热 Says:
June 14th, 2010 at 01:57 am
看来HTML5的前途很被看好!
#9 beely Says:
June 18th, 2010 at 08:41 pm
是个趋势。
#10 hi Says:
June 19th, 2010 at 12:12 am
竟然也是用的godaddy的空间
最近空间有没有抽筋哦?
#11 第六街 Says:
June 19th, 2010 at 06:51 pm
HTML5的来临除了带来暂时的混乱应该没有别的了
#12 Xqiang Says:
June 20th, 2010 at 12:00 pm
H5确还有待时间的验证,不过我还是看好它的发展
#13 维C生活网 Says:
June 25th, 2010 at 11:14 am
赞同这句话,这是个最好的时代,这是个最差的时代。或许一直以来就是。
#14 侬本多情 Says:
June 30th, 2010 at 07:14 am
唉 这个时代.
#15 狂热软件站 Says:
July 1st, 2010 at 05:17 pm
现在是html5的是时代了!
#16 中国人寿赵俊鹏 Says:
July 2nd, 2010 at 02:34 pm
W3C怎么是商业组织呢?
#17 imwenwen Says:
July 16th, 2010 at 07:03 pm
你好站长,想与你的站做个首页连接。我的站是 http://www.wenbook.com 是小说类的站.
我QQ:289681652
#18 92手机网 Says:
July 19th, 2010 at 06:22 pm
好文章,学习了
#19 拆墙部队 Says:
July 21st, 2010 at 10:28 am
不论怎么说,反正我是很期待 H5 大发展的,坚决拥护,我不喜欢 Flash(我的电脑就不支持 Flash 很多网站带 Flash 的都是一片空白)注:我不是果粉,我十分讨厌乔布斯。
#20 amathy Says:
July 26th, 2010 at 05:53 pm
楼主,诉我直言,你这篇文章些的空洞无物。
#21 amathy Says:
July 26th, 2010 at 05:54 pm
》》将同类的的东西放到同一个特定的“容器”中,在oop中来说,就是类的思想了。
这就算类?
#22 最有效的防脱发产品 Says:
August 1st, 2010 at 06:07 pm
不错,学习一下
#23 柳亚 Says:
August 9th, 2010 at 10:52 am
这个模版比较朴素。。
#24 uggclasssictallboots Says:
August 9th, 2010 at 09:20 pm
感觉现在HTML 没点逻辑还真写不出来
#25 保险公社 Says:
August 10th, 2010 at 04:59 pm
HTML的标准 还真是越来越乱!
#26 yy小说 Says:
August 11th, 2010 at 09:42 pm
博客不错 加油
#27 linux99老张 Says:
August 22nd, 2010 at 06:10 pm
不错,学习了
#28 李沐风 Says:
August 23rd, 2010 at 11:31 pm
人气
#29 自由人 Says:
August 23rd, 2010 at 11:47 pm
离开商业一切都活不了~~ 就是这样。。。
添加新评论