With Google's Chrome browser with the WebKit kernel, some tech fanatics are wondering if Mozilla's Gecko kernel is coming to an end. However, despite the growing popularity of WebKit, those who are familiar with the differences between WebKit and Gecko, and who appreciate it, believe that the possibility of Mozilla using the WebKit kernel in future versions of Firefox is not yet discussed. Advantages of Webkit Webkit is an open-source HTML rendering engine developed by Apple's KDE-based KHTML project. We've seen from Chrome's review that Webkit is a very lightweight rendering engine that is praised for its compact and clean code base, excellent standard support, and small memory footprint. These qualities make Webkit a popular kernel for many browsers. Webkit is mainly used in Apple's Safari browser and iPhone, but some important manufacturers such as Adobe, Nokia, Trolltech also use this core. Webkit's users also include some lesser-known browsers, including iCab, Omniweb, Shiira, and Epiphany. In some tier 2 operating systems such as Haiku, Syllable, and even Amiga, Webkit is also popular. More and more developers are using Webkit to develop rich Internet applications. After evaluating numerous kernels, Google selected WebKit for its Android mobile browser and Chrome desktop browser. The developer's accepted comment on Webkit is that it is a very good rendering engine that can be used in many situations, and its appeal has led many developers to wonder if there is a market for Mozilla's Gecko kernel. Why Apple is boycotting Gecko Originating from Netscape and predating KHTML, Gecko has been criticized for its large and complex code base. Gecko is very powerful, but it is expensive, complex, and has a high memory footprint. As a result, there are many occasions when the many features of Gecko become a burden. The reason why the Gecko kernel is overly complex is that Gecko intends to provide more functionality beyond HTML rendering. Mozilla's early ambitions were huge, with Mozilla's earliest suite of applications including a browser, mail and newsgroup programs, web design tools, and IRC chat. In addition to rendering HTML, Gecko also provides a widely used XML-based user interface generation engine, XUL. XUL is used in all of these programs. XUL is still used in Firefox today to generate user interfaces, making it one of Firefox's most valuable multi-extension applications. Another reason Gecko is overly complex is XPCOM, a powerful component system. While XPCOM brings a lot of exciting features to Gecko to make the rendering engine componentized, it has been abused by some developers, and when Ars Technica interviewed Mozilla developer Scott Collins in 2004, Scott Collins said that the abuse of XPCOM was one of several major mistakes made by Mozilla. Given the complexity that XUL and XPCOM bring, it's natural for Apple to consider choosing a lighter kernel for Safari. Apple wanted to design a browser that could be tightly integrated with the Mac operating system, and they also foresaw that the engine should support mobile devices, so they recognized that KHTML was a better fit than Gecko. In 2003, when Apple decided to use KHTML in Safari, Mozilla's Mike Shaver blogged about Gecko's shortcomings. He also predicted that Apple would become their alliance to promote web standards. He wrote, "Small and refined was our goal, and Gecko's bulkiness and bloat pulled our scores in various reviews, and if I had to write a new browser, I would consider options other than Mozilla. I hope Mozilla learns from Safari/KHTML because they implement really great features with 1/10th of the code. ” Gecko brings Firefox 3 to life Since 2003, a lot has changed. Gecko's code base has evolved for a long time, Gecko is still complex, but many of its historical flaws are being addressed, and Gecko brings many innovations to Firefox 3 that make significant improvements to the entire web browsing experience. Gecko 1.9 uses the cross-platform Cairo rendering framework, huge improvements to SVG simplify the code and introduce some very cool features such as full-page zoom, and at the same time, a refactored reflow algorithm that made it possible for Gecko to pass Acid 2 testing. Mozilla has also significantly reduced its memory footprint, even surpassing Safari and Opera. The use of XPCOM has been greatly reduced, and XPCOM's resource footprint has been reduced by a new recycling recycler. This work continues, and Mozilla will further reduce the burden on XPCOM in Firefox 4. Other flaws of Gecko have also been addressed in the new development, such as the addition of support for CSS 3 in the alpha version of Firefox 3.1, and some performance improvements that will make Gecko more competitive. Mozilla's TraceMonkey engine will likely be included in Firefox 3.1, which will significantly improve Javascrip{filter}t performance. From a technical point of view, Gecko is now very solid and no worse than Webkit. Some evidence suggests that Gecko is making inroads into mobile, something that was not possible not so long ago. Mozilla has the resources, development experience, and community support that will guide Gecko into the territory that any webkit can access. |