今天在 IBM 的网站上看到了一篇关于 XHTML 2.0 的文章 The future of HTML,有些感受。
XHTML 1.0 所起到的作用在于把 HTML 向 XML 过渡,而 XHTML 2.0 主要的进化则发生在 XForm、Web API、语义、设备兼容及通过对 HTML 升级而替代部分的脚本的使用。XHTML 2.0 目前仍然是 W3C 的 Working Draft,而要成为 Recommendation 的话,根据文章中的说法,则至少是在 2007 年。而届时,由于 XHTML 2.0 所引入的新特性过多,一方面是各浏览器 vendor 对其所支持的程度必定存在差异(目前看来 Gecko 对 HTML & XForm 标准的支持是走在前面的,而 KHTML 则对 CSS 新特性的支持走在前面),另一方面是从业人员的学习曲线问题,所以个人感觉文章中所讨论到的特性,在五到十年内是不可能看到大规模的应用的。不过目前已经有了一个可以对 XHTML 2.0 进行初步解析的浏览 X-Smiles(关于这个网站的 PR 我 Orz),或许可以在想到一个成熟的应用模型的时候试验试验。
HTML 确实在变得越来越复杂。而最近,我试用了两个非常不错的软件产品,一个是 Apple iWeb,另外一个是 Sun Java Studio Creator 2。如果要说这两个产品的相似性的话,就是虽然都是用于“做网站”,可是实际写 HTML 的机会却几乎没有了,在 iWeb 中 drag & drop 之后将产生出浏览器兼容性非常好的代码来构建非常漂亮的个人网站,而在 Java Studio Creator 2 中,通过 drag & drop 也可以完成很多非常复杂的界面上的实现。
所以,我从其中看到了一个趋势,当 HTML 就这么进化得越来越复杂的时候,从其中获得这样的进化所带来的好处的最佳方式应该是使用更加高阶的工具来生成 HTML 而不是我现在所用的手写方式。所以,在未来,熟悉 XHTML / XForm / Web API 将是少数人的特殊技能,而这些技能将可以用于以下方面。
创造如 iWeb 这样的工具
优化 HTML template 或者是优化 template engine
be geeky
所以,针对我自己现在的现状。我觉得我接下来应该做的事情如下。
通读 W3C 的 XHTML 2.0 和 CSS 3.0 的 Working Draft
熟悉 Mozilla 针对 HTML 和 CSS 所做的扩展
如果有可能的话,应该在今年读完一个开源浏览器的全部源代码,然后在自己对 W3C 文档的理解的基础上做一些 hacking