苹果为什么抵制Gecko Gecko源自Netscape,并早于KHTML,Gecko因庞大与复杂的代码基础而频遭诟病。Gecko非常强大,但代价高昂,复杂,高内存占用。因此,在很多场合Gecko的众多功能反而成了负担。 Gecko内核过于复杂的原因是Gecko意图提供除了HTML渲染之外的更多功能。Mozilla早期的野心很大,Mozilla最早的应用套件包括浏览器,邮件和新闻组程序,Web设计工具,IRC聊天工具。除了渲染HTML,Gecko还要提供一种应用广泛的,基于XML的用户界面生成引擎,XUL。XUL被用在所有这些程序中。XUL现在仍用在Firefox中,用来生成用户界面,因此造就了Firefox最有价值的重多扩展应用。 Gecko过于复杂的另外一个原因是XPCOM,一个强大的组件系统。虽然XPCOM为Gecko带来很多激动人心的功能,让这个渲染引擎实现组件化,然而,这个功能被一些开发者滥用,当ArsTechnica2004年采访Mozilla开发者ScottCollins的时候,ScottCollins说,对XPCOM的滥用是Mozilla犯的几个主要错误之一。 鉴于XUL和XPCOM所带来的复杂性,苹果自然要考虑为Safari选择一种更轻量的内核。苹果要设计一款可以和Mac操作系统紧密结合的浏览器,他们还预见到,这个引擎应该支持移动设备,他们因此认识到KHTML比Gecko更合适。 2003年,当苹果决定在Safari中使用KHTML的时候,Mozilla的MikeShaver曾在博客中承认Gecko的缺点。他同时预言,苹果会成为他们推广Web标准的联盟。他写道, “小而精练曾是我们的苦苦追寻的目标,Gecko的庞大与臃肿在各种评测中拉了我们的分数,如果我不得不写一个新浏览器,我会考虑Mozilla之外的选择。我希望Mozilla向Safari/KHTML学习,因为它们用1/10的代码实现了非常棒的功能。” |