上周末本来要去做一个关于HTML5的speech,因为公司临时任务未能成行,甚为遗憾。不过下周末当可弥补。
虽主题为HTML5,实则我并不想介绍HTML5的特性,因为之前已经有许多人介绍过了,比如子斌,作为Opera的Web Evangelist,讲得肯定比我好。因此我想讲一点实践上的探索,简言之就是HTML5特性虽然很好,但是如果浏览器不支持怎么办?
答案无非几种:
一种是坐等。实则就是放弃大部分的HTML5特性。我一向倡导“面向未来的Web开发”,这自然为我不取。况且要是如此选择,我也没啥好讲了。
另一种是所谓渐进增强和优雅退化。这其实也是HTML5设计背后一以贯之的理念。不过问题在于,对于真实世界中的应用来说,某些关键特性,没有就是没有,0和1的差距,那是没法渐进增强滴,亦或者退化之后就无法“优雅”的起来。
对此,我给出的答案就比较“激进”,如果浏览器不支持,那就自己实现!自己动手丰衣足食!
整个演讲将围绕此观念,以几个很小但很实用的HTML5新特性为例,展示如何自己实现一些简单的HTML5特性,介绍常用的patch浏览器的手段,讨论面对某些限制条件时的变通手法。
本演讲对听众的前端技术水平要求稍高,需得对DOM和JavaScript都较为熟悉。演讲的题目暂定为“Approach to HTML5”。
不过需要说明的是,演讲中将主要以Firefox、Chrome、Safari为例。至多可能涵盖到IE8。对于IE6和IE7这两个“史前”浏览器,因为对其patch的手法复杂而特殊,离日常开发太远,受众面太小,亦无推广价值,所以将不会作为重点阐述。但有空时会在本blog上发表关于如何“修理”IE的内容,与专精此道的同行分享和探讨。