标签:HTML

《HTML5设计原理》阅读笔记

今天读了一篇译文:Jeremy Keith在 Fronteers 2010 上的主题演讲《HTML5设计原理》,翻译的很不错,从中学到了很多东西。

从文章中了解一些HTML的历史,标准的制定也是很曲折的:
1、HTML是从2.0版本开始
2、W3C之前就有HTML了。W3C是后续接手HTML的定制工作
3、XHTML 1.0 代替HTML 4,但是XHTML 1.1却因为差异过大没有被业内接受
4、浏览器厂商爆发了,决定自己搞标准,成立了WHATWG,由于浏览器的支持,发展还不错
5、W3C认识到错误,与WHATWG合作定制,才有了现在的HTML 5标准

文中解释了设计原理的概念是什么。它本质上是一种信念、一种想法、一个概念,是你行动的支柱。不管你是制定规范,还是制造一种有形的物品,或者编写软件,甚至发明编程语言。比如,美国的设计原理都写在了《独立宣言》中:“我们认为这些真理是不言而喻的,人人生而平等,造物主赋予了每个人不可剥夺的权利,包括生存、自由和追求幸福。”。

文章提到一条设计原理:“伯斯塔尔法则(Postel’s Law)”。伯斯塔尔法则:“发送时要保守;接收时要开放。” 。这也让我想起以前定制接口规范的时候,对于客户端发送过来的数据格式要求过于严格,或者说是有些苛刻了。接口还是要友好一些,简单一些,效率才更高。做人也是,“严以律己,宽以待人”,也会让人觉得你更友善……

作者列出一些设计HTML 5中的理念:
1、避免不必要的复杂性。例如:HTML 5的终于把那烦人的doctype简化了
2、支持已有内容。不用再纠结于单引号,双引号了
3、解决现实问题。从理论上承认人们普遍存在的问题,解决理论问题,消除敏感问题。
4、求真务实。集中精力去理解这些“民间的”解决方案才是当务之急。
5、平稳退化。考虑兼容性,渐进增强的另一面就是平稳退化。
6、最终用户优先,一旦遇到冲突,最终用户优先,其次是作者,其次是实现者,其次标准制定者,最后才是理论上的完满。
首先为人类设计,其次为机器设计。
软件,就像所有技术一样,具有天然的政治性。代码必然会反映作者的选择、偏见和期望。

作者的设计理念值得让人回味,感慨颇深,在以后软件设计及开发中也应多多留意那。

感谢作者和译者。

JS、WebGL、HTML5测试地址收集

HTML5标准兼容测试
http://html5test.com/

CSS3 Selector测试
http://www.css3.info/selectors-test/

V8 JavaScript速度测试
http://v8.googlecode.com/svn/data/benchmarks/v5/run.html

SunSpider JavaScript速度测试
http://www2.webkit.org/perf/sunspider-0.9.1/sunspider.html

Javascript性能测试
http://wd-testnet.world-direct.at/mozilla/dhtml/funo/jsTimeTest.htm

Acid3 HTML标准兼容测试
http://acid3.acidtests.org/

Peacekeeper浏览器综合速度测试,只有支持Canvas的浏览器才能运行图形类测试。(这个测试的东西比较多,时间较长)
http://service.futuremark.com/peacekeeper/run.action

M$的GPU加速,HTML5等综合测试站点(又更新了)
http://ie.microsoft.com/testdrive/

WebGL演示,包括多个demo
https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/demos/

一个纯Javascript写的3D场景
http://www.zynaps.com/jslab.xml?id=envmap

一个GPU2D加速演示
live photo resizer http://people.mozilla.com/~vladimir/demos/photos.svg