Com o navegador Chrome do Google e o kernel WebKit, alguns fanáticos por tecnologia estão se perguntando se o kernel Gecko da Mozilla está chegando ao fim. No entanto, apesar da crescente popularidade do WebKit, aqueles que conhecem as diferenças entre WebKit e Gecko, e que o apreciam, acreditam que a possibilidade da Mozilla usar o kernel do WebKit em futuras versões do Firefox ainda não foi discutida. Vantagens do Webkit Webkit é um motor de renderização HTML de código aberto desenvolvido pelo projeto KHTML da Apple baseado em KDE. Vimos pela análise do Chrome que o Webkit é um motor de renderização muito leve, elogiado por sua base de código compacta e limpa, excelente suporte padrão e pequeno consumo de memória. Essas qualidades tornam o Webkit um kernel popular para muitos navegadores. O Webkit é usado principalmente no navegador Safari da Apple e no iPhone, mas alguns fabricantes importantes como Adobe, Nokia e Trolltech também utilizam esse núcleo. Os usuários do Webkit também incluem alguns navegadores menos conhecidos, como iCab, Omniweb, Shiira e Epiphany. Em alguns sistemas operacionais de nível 2, como Haiku, Syllable e até Amiga, o Webkit também é popular. Cada vez mais desenvolvedores estão usando o Webkit para desenvolver aplicações ricas na Internet. Após avaliar diversos kernels, o Google escolheu o WebKit para seu navegador móvel Android e navegador desktop Chrome. O comentário aceito do desenvolvedor sobre o Webkit é que ele é um motor de renderização muito bom que pode ser usado em muitas situações, e seu apelo levou muitos desenvolvedores a se perguntarem se existe mercado para o kernel Gecko da Mozilla. Por que a Apple está boicotando a Gecko Originário da Netscape e anterior ao KHTML, o Gecko tem sido criticado por sua grande e complexa base de código. Gecko é muito poderoso, mas é caro, complexo e tem um grande consumo de memória. Como resultado, há muitas ocasiões em que as diversas características do Gecko se tornam um fardo. A razão pela qual o kernel do Gecko é excessivamente complexo é que o Gecko pretende oferecer mais funcionalidades além da renderização em HTML. As primeiras ambições da Mozilla eram enormes, com o primeiro conjunto de aplicativos da Mozilla incluindo navegador, programas de e-mail e grupos de notícias, ferramentas de design web e chat IRC. Além de renderizar HTML, o Gecko também oferece um motor de geração de interface de usuário amplamente utilizado baseado em XML, o XUL. XUL é usado em todos esses programas. O XUL ainda é usado no Firefox hoje para gerar interfaces de usuário, tornando-se um dos aplicativos multi-extensão mais valiosos do Firefox. Outro motivo pelo qual o Gecko é excessivamente complexo é o XPCOM, um sistema de componentes poderoso. Embora a XPCOM traga muitos recursos empolgantes para a Gecko para tornar o motor de renderização componentizado, ele foi abusado por alguns desenvolvedores, e quando a Ars Technica entrevistou o desenvolvedor da Mozilla, Scott Collins, em 2004, Scott Collins disse que o abuso do XPCOM foi um dos vários grandes erros cometidos pela Mozilla. Dada a complexidade que XUL e XPCOM trazem, é natural que a Apple considere escolher um kernel mais leve para o Safari. A Apple queria projetar um navegador que pudesse ser integrado de forma estreita ao sistema operacional Mac, e também previu que o motor deveria suportar dispositivos móveis, então reconheceram que o KHTML era uma escolha melhor do que o Gecko. Em 2003, quando a Apple decidiu usar KHTML no Safari, Mike Shaver, da Mozilla, escreveu em seu blog sobre as falhas do Gecko. Ele também previu que a Apple se tornaria sua aliança para promover padrões web. Ele escreveu, "Pequeno e refinado era nosso objetivo, e a robustez e o volume de Gecko puxaram nossas pontuações em várias avaliações, e se eu tivesse que escrever um novo navegador, consideraria opções além do Mozilla. Espero que a Mozilla aprenda com Safari/KHTML porque eles implementam recursos realmente ótimos com 1/10 do código. ” Gecko dá vida ao Firefox 3 Desde 2003, muita coisa mudou. A base de código do Gecko evoluiu por muito tempo, o Gecko ainda é complexo, mas muitas de suas falhas históricas estão sendo corrigidas, e o Gecko traz muitas inovações para o Firefox 3 que trazem melhorias significativas em toda a experiência de navegação na web. O Gecko 1.9 utiliza o framework de renderização multiplataforma Cairo, grandes melhorias no SVG simplificam o código e introduzem recursos muito interessantes, como zoom de página inteira e, ao mesmo tempo, um algoritmo de refluxo refatorado que possibilitou para o Gecko passar nos testes do Acid 2. A Mozilla também reduziu significativamente sua área de memória, chegando a superar Safari e Opera. O uso do XPCOM foi bastante reduzido, e a pegada de recursos do XPCOM foi reduzida por um novo reciclador de reciclagem. Esse trabalho continua, e a Mozilla reduzirá ainda mais o peso sobre o XPCOM no Firefox 4. Outras falhas do Gecko também foram corrigidas no novo desenvolvimento, como a adição do suporte ao CSS 3 na versão alfa do Firefox 3.1, e algumas melhorias de desempenho que tornarão o Gecko mais competitivo. O motor TraceMonkey da Mozilla provavelmente será incluído no Firefox 3.1, o que melhorará significativamente o desempenho do Javascrip{filter}t. Do ponto de vista técnico, o Gecko agora é muito sólido e não pior que o Webkit. Algumas evidências sugerem que a Gecko está avançando no setor móvel, algo que não era possível há muito tempo. A Mozilla possui os recursos, experiência em desenvolvimento e suporte da comunidade que guiarão a Gecko para o território acessível a qualquer webkit. |