[转]他们不主流,我们不标准——开发人员为什么要支持非IE浏览器的四个故事

  • 本站文章除注明转载外,均为本站原创或者翻译。
  • 本站文章欢迎各种形式的转载,但请18岁以上的转载者注明文章出处,尊重我的劳动,也尊重你的智商;
  • 本站部分原创和翻译文章提供markdown格式源码,欢迎使用文章源码进行转载;
  • 本博客采用 WPCMD 维护;
  • 本文标题:[转]他们不主流,我们不标准——开发人员为什么要支持非IE浏览器的四个故事
  • 本文链接:http://zengrong.net/post/686.htm


转自Brian Sun @ 爬树的泡泡

最近一不小心陷入了对第二次浏览器大战的深思,并参与了几次网上讨论。颇有心得,不知何处分享。下面要讲的四个故事,都是客户(或者你的雇主)对你我(这样的开发人员)讲的故事。来源于生活,高于生活。

1)
你受雇于Z商银行专业版开发团队,不久结识了负责专业版客服的漂亮MM。爱情的滋味让你忘记了工作的烦恼,但是你却清楚的记得那一天走进心仪MM的办公室,她的老板正在抱怨客户的投诉。原来很多江浙一带的有钱小老板,一直是Z商银行的忠实客户,可是人有钱就有了精神追求,他们这两年纷纷配备了Mac的本本,有白色的有银色的。。。明白了吧?!现在他们的钱都转存至浦东发展银行和深圳发展银行了。

数据显示,MacBook和MacBook Pro在中国的销量每年都在高速增长,这还没有统计从香港出货而最终用户是大陆人的数量。Mac上人们常用两个浏览器,Safari和 Firefox,Safari非常酷,而且对标准的支持非常好,Firefox插件多,安全性好。最重要的是,如果你已经具有开发IE Web App的能力,那么就已经具备开发标准Web App的能力了。只要有心,万事不难。微软自己也不再喜欢ActiveX了,他们经常游说你们团队用Silverlight。这次,你的老板还会上当吗?千万别忘了,这还是微软的私有技术,即使他们承诺Silverlight将跨平台,你也会觉得难用无比,别忘了他们曾经做过让网页设计师谈虎色变的IE for Mac。

前事不忘后事之师。我们能有今天的幸福生活,一要感谢党,二要感谢开放的国际互联网。HTML5,CSS3,以及其它的W3C标准共同组成了我们通常所说的Open Web。很多人误解了,以为ActiveX是Web安全性的不二选择。其实安全性向来都是开放平台、开放架构、开放源代码远胜于专有平台、专有架构、专有技术。HTTPS已经非常安全了。选择Open Web之后的最重要工作,就是让每个程序员都有一颗安全性第一的心。

到了晚上,MM完全没有约会的心情了,她一个劲的问你,这两个银行很小啊,根本没有什么研发力量,为什么他们能做的事情,你们不能做?这怎么办?你又不能认错又不能让MM对公司失去信心,虽然她的信心已经失去了,虽然这根本不是你的错。憋了半天,你只能来一句:“他们不主流,我们不标准。”

2)
你大学毕业不到5年,与朋友一起创业做Web 2.0网站。专家给你们团队的建议是:用户第一,理念第二,技术第三。你非常赞同这一说法。作为主力开发,你非常希望产品能带给用户不一样的感觉,让用户在第一次就记住这个网站,而不是在浏览器还没有渲染完页面时就关闭页签。你非常羡慕Google的很多应用,简约而不简单,易用性强,速度快。

作为Web开发的老手(还不敢称专家),让我来给你一些建议。第一,你要坚持在团队中宣扬少用图片的口号。第二,使用更多的Ajax异步装载,不断提升性能,优化用户体验。第三,大量用客户的计算资源,(反正客户的资源丰富而且几乎无成本),减少服务器的压力。第四,宣扬瘦服务器的理念,因为公司小,业务变化很快,投入服务器的资源不容易变换,如果设计成瘦服务器,成本投在客户端,因为客户端环境单一,全部重来也没有多少成本,容易随需应变。好,我们首先假设这些建议你已经接受了。

接下来,5年从未遇到的问题来了。由于客户端代码越来越多,越来越复杂,影响了项目进度。老板开始质疑你的这种方式是否可取。再有,公司重金请人做网页设计,结果你总是提减少图片,设计师不悦,常常产生私人恩怨。更麻烦的是,连你自己都开始担心,因为前端代码常有bug,导致IE弹出对话框,打破了你一直的梦想。

好吧,既然你能看到这里,我打算教你点绝活。在IE中使用直角矩形,而在Firefox/Safari/Chrome中使用圆角矩形。如果你的设计师喜欢圆角矩形,就给他/她看Safari中的效果,设计师都喜欢Safari,如果他/她喜欢直角,就给看IE!因为在Firefox/Safari /Chrome中,圆角可以用CSS实现,完全没有贴图。这一招还要用在阴影上。我太太最近还在跟我炫耀她能用CSS3直接实现雕刻字体效果,不过也不是在IE中。至于Ajax等开发的复杂性,建议你常年使用jQuery和jQuery插件。这个系统的所有API都是跨浏览器的,零学习成本,会用 Javascript就会用,零host成本,因为Google帮你host。这样你可以在Firefox上用Firebug开发,或者在Safari 4里开发(透露一下,Safari 4的调试功能真的超级棒),然后在IE上跑,没有任何问题。2008年年初的调查,jQuery市场占有率不足20%,年末已经过70%了,所以我常把 2008年称为jQuery年,这是国际开发者社群的共同选择。

很多开发人员拒绝非IE浏览器,是因为他们害怕浏览器间的差异,带来开发成本,尤其是CSS上的差异很大。不过别忘了,资本主义世界只要有利润,人们就会勇往直前。那么多大公司(包括微软)都在奋发图强开发Web App,包括IBM的Lotus产品线,你遇到的难题,别人都遇到过。我们搞开发的就是要站在Google/IBM/Apple这些大公司的肩膀上。

在感受了一次成功的喜悦后,绝大部分开发人员还是会相信:支持非IE浏览器,俺,能跑!!

3)
你大学毕业就进入了一家大型软件公司工作,ERP/CRM是公司的主要产品线类型,工资和福利是你与同龄人相比的骄傲,虚荣心是你参加同学聚会的动力。不久你升任产品经理,前途似锦。但困扰你的是每次与客户面对面,客户都对你的个人魅力毫无兴趣,而是反反复复的提一个字:“省”!

你花了一个月的时间和客户吃住在一起,通过IT部门了解客户的IT支出到了哪里?尽管如此,客户还是希望你能够拿出一个方案让他们在2009~2010年经济危机的时候每年节省几百万。怎么办?把客户的员工裁了?还是把你裁了?减少买你们公司软件的支出?(这两年你们公司也不好过,这跟把你裁了是一样的。)还是减少。。。等等。。。硬件?对,硬件!

一方面,如果客户对新员工和需要更换的笔记本采用Netbook,就可以节约大量成本。另一方面,如果采用云计算的产品,可以把需要支出的服务器端软件改为租用方式,用浏览器访问。两个方面前后一致且顺理成章。Netbook之所以存在市场就是因为大量的软件应用由Web App取代。新员工只要有浏览器用就可以访问ERP/CRM这些你们公司的拳头产品。

好,于是你再次向客户提出了这10年来全球的IT大公司(除微软)不断向客户提出的建议:Linux。

今天就是尝试Linux的最佳时间。Dvorak,这位以批判大公司出名的IT评论家,现在建议每个人都要尝试一下Ubuntu。真的很好用。你可以不相信我但是不能不相信Dvorak,他从不盲目追随新技术,加上年龄的原因,他总是比我们这些年轻人对新事物更抵触。据说俄罗斯的国立中小学已经全部是 Linux教学了。你心里的小算盘开始响了,如果每位员工减少本本方面的2000块支出,几百万不在话下。

如果被客户问及Ubuntu不好用怎么办?你嘴角微微一笑,没关系,反正客户大部分时间都只干三件事:聊天、看电影,用办公软件。这些都是Ubuntu的强项。聊天?QQ和MSN、Skype都支持。看电影,有跟暴风影音一样强的(还不止一个)。办公,OpenOffice存取MS Office格式照常使用。至于你的软件,早就Firefox罗。

怎么?客户还要培训?你挣钱的时候到了。Windows的钱都省了,出点服务费咋了?

4)
年过30的你急于在事业上攀到新的高峰,才能给妻子和正要上小学的孩子一个交代。天赐良机你被一个中型企业挖去做CTO,而你的老板,则是个精明的美国商人。(怎么听起来像小说《最后期限》?)为了拿到VC的钱,老板要求你夜以继日的扩大用户群。怎么办?八仙过海。

大量的软件公司正在尝试把他们最挣钱的产品移植到Web上。这种趋势从2004年就已经开始了。不过用户还是不太喜欢Web Service或者SaaS这样的技术术语,比较讨用户喜欢的概念是“云计算”。然而金融危机到来,VC变得非常谨慎,不见兔子不撒鹰,除了大规模用户数量的增长,其余免谈。在这个冬季临危受命的你,光靠国内市场是显然不够的。加上笃信《世界是平的》,你决定到全球市场去碰碰运气。无论你是否相信,只要支持中英两种文字,就支持了全球半数以上的网民。你六级不都过了吗,这有什么难的?

想象一下很多厂商靠iPhone和Android活着。如果让你选择一个作为平台,你愿意选哪一个?呵呵。你猜我选哪一个?Both!其实很多人不知道,如果做了iPhone的Web App就等于做了Android的Web App,他们是完全相同的浏览器内核Webkit。不相信?那你看看iPhone上的Gmail和Google Reader,是不是跟Android一模一样?以前是不是一直以为Google做了iPhone版?上当了,Google并未用Apple的风格,而是使用自己的风格,但是看起来易用性一点也不输给本地iPhone应用。更多的喜讯还在后面,Nokia S60也是Webkit,Blackberry上也有Webkit了,Gnome的缺省浏览器很快也是Webkit了。。。

所以,坚持所有Web产品都支持Safari/Chrome的开发团队,获得了史上从未有过的光荣。这不仅是来自VC的青睐,也是直接来自客户的认同,更是钱在向你招手。。。(抱歉我总是想着钱,可谁不是呢?)。。。

Firefox呢?也是不可多得的marketing阵地!因为Firefox插件多,而且非常容易开发。很多小公司靠这个活着呢。因为Firefox的用户基数大(比IE7大),所以一点细小的易用性改进都能吸引大量用户的眼球。这么多人痴迷与Facebook App和开心App,也是同一个道理。

所以,我们的口号是:支持非IE浏览器,他好,你也好!用户好,投资人好,老板好。大家好,才是真的好!(怎么样?被我雷死了吧。)

结语)

还是前面说的那句话,用户第一,理念第二,技术第三。不要为你的技术找借口。更好的为用户服务就是你的使命。在世界平坦化的今天,把国人的聪明才智展现于世界舞台就是你的机遇。努力的去做吧。正所谓你不下地狱谁下地狱!

欢迎大家续写这些故事和添加故事。谢谢!