三缺一 Web变局前夜
苹果从来就不是一个招人喜欢的公司,因为他们总是我行我素,“假惺惺”地设置各种开放但又苛刻的规则,“折磨”那些想在自己平台上过日子的第三方厂商。
“虽然苹果设备很受欢迎,但是目前我们没有开发iOS版Firefox的计划。”近日在美国SXSW大会上,Mozilla产品副总裁杰伊·沙利文就毫不掩饰对于苹果的“厌恶”,表示如果这个平台不改变对第三方软件厂商的无理限制,就永远不会发布Firefox iOS版。
这是一出让观众兴奋的“不畏强权”的好戏。但另一种完全相反的走势也足够吸引眼球——今年情人节前一天,老牌挪威浏览器厂商Opera宣布将放弃投入了多年心血的Presto内核,迁移至苹果和谷歌支持的WebKit阵营。
论体量,Mozilla和Opera都称不上是巨头级企业。但鉴于以HTML5为代表的新一代Web技术长年以来的敏感态势,棋盘上的任意变阵都有可能形成全新的格局。
黑客“谢幕”
某天早晨Opera的一位工程师醒来,发现投入了十几年心血的产品就要被弃用了,而自己却连挽回的机会都没有——因为公司的管理层已经做了决定,并且开始裁员。
这肯定是一件令人悲伤的事情,特别是对于Opera的“死忠”来说:
“对于一个浏览器来说,这就相当于将自己的灵魂,拱手让给了一个开源项目。无论你后期做多少优化,甚至是翻天覆地的改变,这个浏览器的灵魂,依旧是属于别人的。”
话有些矫情,但也符合逻辑。在公司17年的历史上,Opera从没有在浏览器领域中攀上过顶峰,但却在任何时期都拥有一批忠实粉丝,原因就在于其文化中浓郁的“黑客”气质。作为一个相对小众的品牌,Opera给人的感觉就是“闭门玩酷、挑战世界”。鼠标手势、多标签浏览、页面缩放等众多现代浏览器的标配功能就是出自这家公司之手,加上一大堆不知所云的前端工程术语,特立独行的气质很容易就给人留下深刻印象。
但现在公司高层似乎要把这一切都毁了,放弃自己的“灵魂”去使用别人的代码。
“我们认为现在应该把力量投入到WebKit和Chromium开源社区中去,而不是继续研发自己的渲染引擎。”Opera CTO Hakon Wium Lie说。
由于长年偏重B2B授权的商业模式,以及对于消费端推广的忽视,Opera的全球市场份额始终在低位徘徊。作为一家商业公司,也确实到该做出改变的时候了。
Opera工程师邵帅认为这次变化意味着“我们再也不用想着去重新发明自己的轮子了”。“浏览器需要实现和改良的功能太多,而程序员的生命又太短。大家合力做好一个引擎,然后在此基础上各家设计各家的功能集,不是美好许多?”
你没法反驳这样的理由,因为即使是现在最坚挺的Mozilla,他们的CTO Brendan Eich也公开承认,“要不是我们是一个非盈利性机构,恐怕也会改用WebKit”。
蝴蝶效应
对于数量庞大的Web工程师来说,减少一个浏览器内核或许是一件好事,因为他们不会再受困于大量的调试工作,产品兼容性问题的发生几率也大大降低了。
但更值得他们期待的,则是新一代Web技术的标准化进程。
Opera放弃Presto之后,原来浏览器市场上的四大内核“Trident(IE)、Gecko(Firefox)、Presto(Opera)、WebKit(Safari、Chrome等)”将缩减为“三国演义”。
理论上讲,浏览器内核的统一并不意味着Web标准的统一——WebKit是一个开源项目,商业企业修改后可以衍生出很多渲染引擎派系。但这些内核毕竟是系出同门,代码结构存在雷同,部署某个HTML5标准新技术时,难度要远远小于不同内核间的协调统一。因此,单从技术层面上讲,WebKit的一家独大有利于HTML5标准化的推进。
这就好比张艺谋的贺岁电影《英雄》中,梁朝伟扮演的赵国刺客最终决定不杀掉秦王,理由是为了让实力最强的秦国早日统一天下,百姓就不会再遭受战乱之苦——放弃Presto的Opera扮演的,就是刺客这个角色,WebKit则是实力强大的秦国。
有人认为现在就说WebKit一统格局为时过早,毕竟Gecko和Trident还占据了大把的市场份额(两者相加超过50%)。
但需要提醒他们的是,2012年7月发生了一件有趣的事情——HTML5标准制定组织WHATWG与W3C两者因为理念不合,宣布分道扬镳——这意味着今后新一代的Web标准将有两套方案。其中,WHATWG的主要成员苹果、Google、Opera和Mozilla等,将采用类似“敏捷开发”的模式制定标准,即边部署边开发,不断在实践中试错,快速完善各种新技术;W3C成员则以拥有Trident的微软为代表,采用相对传统保守的标准制定流程,并且一旦协议落案之后就不能随意更改……
这样看的话就很清楚了。旗下的Windows 8和Windows Phone 8(IE浏览器的承载体)表现不佳不说,微软还“无可救药”选择了W3C这辆“老爷车”,你认为Trident还有什么前途可言吗?
Mozilla的角色则很微妙。未来,Gecko将是WHATWG主要成员中,惟一的非WebKit内核,按理说将会和WebKit阵营不断博弈,互相牵制。但要记住,Mozilla是一个非盈利机构,存在的目的性远不像商业机构那么复杂——很难想象Mozilla、Linux这样的开源社区会像私有企业(本文开头中的苹果)一样为了自身利益,“不择手段”地打压对手。相反,开源社区最大的存在意义即是“推动与完善”——如果WHATWG真的产生了良性化学反应,相信Mozilla绝不会成为新一代Web技术发展的绊脚石。这是由它的本质属性决定的。
另一方面,Mozilla的存在还能随时触发“鲶鱼效应”。
WHATWG中,苹果和Google都是极其强势的企业(拥有原生操作系统生态链,以及潜在的Web生态系统,左右逢源),可能利用产业链优势钳制其他企业、操控标准制定方向,导致技术更新停滞。一旦这种情况发生,毫无盈利压力的Mozilla将能像当年打击不思进取的IE一样,夺取用户,给傲慢的WebKit阵营施加压力——看看在今年MWC上风光无限的Firefox OS,以及站在它身后的高通、中兴、TCL以及全球电信运营商们,你就会明白这绝不是危言耸听。更何况,许多厂商对于苹果和Google的不满和忌惮已经不是一两天的事情了,选择Mozilla这样的非盈利机构作为盟友,至少不用这么费心地去讨价还价。
综上所述,Opera投奔WebKit,Mozilla坚守Gecko都是新一代Web技术产业化发展过程中的必然结果,无形中也将会推动HTML5等新技术的标准化进程。对平台搭建者或应用开发者来说,这是好事。