Be Pro
最近再次仔细把《HTML5设计原理》重新过了一遍,比起上次粗粗的浏览,收获更多,这篇文章没有任何关于 HTML5 标签、api 的使用的详细解释,而是对其背后的设计原理做了详细说明。这是 HTML5 一切纷繁表象背后的真义,值得每个前端工作者多次阅读。
下午和小飞 @shawphy 讨论一些问题的时候,说到了中文书写里的“的、得、地”地区别。据说现在已经把这三个 de 统一,不做区分了。想想也是,虽然我受教育的时候是区分三者使用的,但是我也一直没弄清楚它们之间的区别。因为最近的一些书写要求,还想趁过年期间回去请教下俺那当了一辈子语文教师的爹来着。
小飞说:“有一种观点认为,语言是活的,随着人们的使用而变化的。如果大部分人都不分了,那也就不要再分了。感觉着就像是HTML5一样。HTML5 很宽容,比如关于属性引号。按理需要有引号,但现在有没有都无所谓了。”
这就不得不提到 HTML5 设计原理其中的一条:“发送时要保守;接收时要开放。” HTML5 以包容的心接受开发者书写的文档,这些文档发送到同样敞开胸怀的浏览器,以使得那些不够标准的文档也可以渲染出来。
与之相对的是已经死去的 XHTML2 ,(呃,突然发现 XHTML 。。。2。想起郭德纲的一句玩笑:“CCTV。。。2,多大的勇气,谁好意思承认这个,人家还写上了。”)XHTML2 是绝对的理想派,要求严格使用 XML 的错误处理模型,也就是遇到一个错误就会停止解析。这对文档书写着的要求得多高啊。当然最为开发者,我们应该遵从最佳实践,尽量保证文档格式的正确。但是谁也不能保证 100% 的正确性,作为开放的互联网,对错误零容忍,导致浏览器无法渲染确实不是那么回事。
尤其是技术就像数码产品,越来越先进,但是价格(门槛)越来越低。我之前有私心,眼看国内一些人对技术的滥用,导致的网上的虚假信息、垃圾信息泛滥,甚至一度希望一些技术应该保有一定的门槛。但是后来想明白了,互联网本身就是开放到,技术生来也应该是服务每一个人的,至于怎么使用,那就要看人自己的选择了。
遵从伯斯塔尔法则(Postel’s Law)的 HTML5 在于完美理想话的 XHTML2 的角力中胜利了。或者应该说是人性再一次取得了胜利,人人追求完美,但是最后还得面对现实。
我们应该看到伯斯塔尔法则其实是同时对发送者和接收者有要求的,”接收时要开放“是对标准和浏览器的要求,而”发送时保守“则是对文档作者的要求。
回到“的 得 地”这个问题。小飞问:”这些坚持 三个 de 不同的人,是不是就好像坚持 xhtml2 的人呢?“ 我认为不然,这些人是选择了发送时保守的“开发者”。不区分这三个 de 的人,如果是普通人,自然无可厚非,但是作为职业的作家,如果无法区分这三者,就算不上好的作家。
同样的产品,不同的工艺就决定了价值的不一样。A货再能以假乱真,也不能和真品等价。同样,作为一名职业的前端工程师,在职业的道路上,我们的选择决定了输出的产品的质量,产品质量反过来也决定了我们自身的价值。
啰哩巴嗦的说了这么多,其实是希望各位前端工程师(其实也可以延伸至各个行业的从业者)能更加专业些,在发送时更加”保守“些。Be pro,这也是 2011 我对自己的要求。