告别垂死的IE6与IE7

昨天我度过了自己难忘的25岁的生日,对于我而言,今年非比寻常。而对于浏览器世界也是如此——这个月我看了数份浏览器报告,欣慰地看到了Chrome的高歌猛进,Firefox的老当益壮,IE9的势如破竹,当然最最欣慰的,莫过于看到IE6/7的垂死挣扎,恍惚间幻觉三足鼎立之势已成。不过转念一看国内的情形却又让人沮丧,各种壳浏览器横行,前端革新之路仍相当遥远漫长。

在国外,究竟IE6/7被淘汰到何种地步呢?不足5%,甚至更低。看了今早smashingmagazine的关于兼容过时浏览器额外收费的统计,超过50%的开发者表示将额外收取费用,更有约1/3的开发者表示不提供兼容旧浏览器的服务,默认提供兼容的比例不足1/10——无论是IE6还是IE7,这些过时的古怪的浏览器实际上真的已经是奄奄一息。

如果时常阅读各种国外的技术类文章,另一种趋势也深刻的让你感受到IE6/7应该被彻底的埋了——作者们越来越少的谈论hack、谈论如何让新技术更好在旧浏览器上表现,更多的人开始无所顾虑的讨论日成气候新技术,仿佛IE6/7已经彻底消失了般。这样的一种脱节真心让人觉得蛋疼——当你看到一篇非常不错的文章,想着发散下思维应用在实际工作中却发觉完全用不到,然后时间久了渐渐淡忘的那种哭憋,也只有轻叹一声。

虽然很早以前我就放弃了对IE6/7的兼容,但每次想起过往岁月里和它们较真的日子还是有种莫名的怀念。里面包含了两种意思:技术更新的惆怅和实际收入的担忧,呵呵,这多么有趣。开发者一边喊着IE6快去死,一边缅怀着IE6的种种过往,难道不正是IE6带来了前端工程师的职位么?难道不正是IE6带来了页面重构的职位么?更直接的说:难道不正是IE6带来了一部分额外的难度上的收入么?

IE6本质上确实造成了一定前端入行的门槛,它让新手的知识结构混淆、不知所措——实则按照标准系统的学习,单单前端页面的东西,又能有多少?所以当标准开始真正大行其道的时候,我并不看好页面重构这样的单纯的CSS职业,CSS的路很短,即便有CSS3,甚至以后的CSS4,CSS5, 其内容永远恒定而且非常少——现在的CSS的内容是病态的,90%以上的内容来自各种兼容和trick,IE6和IE7的消失会直接导致这个职业的技术壁垒的瓦解。

所以开发者告别IE6/7的情感是复杂的,越是精熟这种感情便越不是滋味。IE6/7在国内的生命周期至少还有3年,甚至5年后都未必降低到现在国外的水平,这和xp系统的淘汰率直接挂钩。不过无论xp多么老而弥坚,我们终究要告别IE6/7,对我来说,应该就在今年了。

于是我打算聚集起自己这几年的hack知识,在今年年末写一篇年度文章,这里放个预告督促自己能够努力写完——我想这一定会是一个相当漫长的过程。我打算用这种方式,送别曾经给予我众多挑战的IE6/7。

任何一个开发者都应该爱IE6,无论我们日常如何抱怨。10年荏苒,IE6带给开发者的,是出其不意的“惊喜”,以及岁月流过的痕迹——里面有汗水,有苦恼,当然也有欢笑。数年之后,如果我还是一个前端工程师的话,我一定会津津乐道地说起IE6,一个调皮的小家伙,让我的工作充满了苦憋的乐趣。

**2011-11-09更新:**没有想到这么一篇无关痛痒的博文会被转到了cnbeta,作为一个天天在Reader上刷cb新闻的人来说,看到自己前几天刚刚写的标题是何等窘迫... 当然我不是故意找喷,不过既然被挂到了cb上就难免被喷了。不过对于文中的一些可能让人误解的地方,还是要澄清一下。

  1. 对于CSS的内容90%的内容来自trick,我指的是知识内容。浏览器如果都标准,我相信任何人都能在1个月里掌握CSS的绝大部分,可如今一年对于一个CSSer可能都是很短的时间。我们很少写hack,我甚至不写宁可在布局或者实现上妥协,但是,我们的知识结构里,却不是这样——正因为庞大的各种兼容信息的存在,我们才能绕过很多坑不是么?
  2. 我不认为页面的重构就此完结了,但页面重构的巅峰已经过去,留下的是渐渐贬值之路。单纯的页面原型重构是有极限的,CSS的知识量也非常非常有限,未来的前端工程师的技能里,CSS的比重一定会很低——更多的综合的东西需要掌握,UE,Marking等等,当然还有越来越难缠的JS。
  3. 此文只是我的一些个人感想,无关痛痒。今天看了下GA里的数据,我的网站的IE6/7的比例都低于4%,Chrome占比超过50%,对于我的小站而言,IE6/7已死,也尽然是一个事实。