Gecko (Mozilla)

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
Gecko
Desenvolvedor Mozilla Foundation / Mozilla Corporation
Versão estável 13.0 (5 de junho de 2012; há 128 semanas e 6 dias)
Versão em teste 16.0a1 (5 de junho de 2012; há 128 semanas e 6 dias)
Escrito em C++
Sistema operativo Multiplataforma
Gênero(s) Motor de layout
Licença MPL/GPL/LGPL
Página oficial devmo:Gecko

Gecko é um motor de layout com código aberto usado em aplicativos desenvolvidos pela Mozilla Foundation e a Mozilla Corporation (principalmente o navegador Firefox), como também em muitos outros projetos de software com código aberto.

Ele é projetado para suportar os padrões da internet, e é usado por diferentes aplicativos para mostrar páginas da web e, em alguns casos, uma aplicação interface de usuário ele próprio (pelo processamento de XUL). O Gecko oferece uma rica e robusta API que o torna adequado para um vasta e variada gama de aplicações baseadas nos princípios da Internet, como exemplo, navegadores web.[1]

Gecko é escrito em C++ e é multiplataforma, roda sobre vários sistemas operacionais, entre eles BSD, Linux, Mac OS X, Solaris, OS/2, AIX, OpenVMS, e Windows. Seu desenvolvimento está agora sendo supervisionado pela Mozilla Foundation e é licenciado por uma tri-licença do Mozilla Public License (MPL), GNU General Public License (GPL) e GNU Lesser General Public License (LGPL).

Gecko é o segundo motor de layout mais popular da Web, atrás somente do Trident (usado pelo Internet Explorer para o Windows desde a versão 4), e seguido pelo WebKit (usado pelo Safari & Google Chrome) e por fim o Presto (antigo motor utilizado pelo Opera).

Historia[editar | editar código-fonte]

O desenvolvimento do motor de layout agora conhecido como Gecko começou no Netscape em 1997, após a compra da empresa pela DigitalStyle. O motor de renderização da Netscape, originalmente escrito para o Netscape Navigator 1.0 e atualizado através dos anos, foi amplamente considerado inferior numa comparação com o Microsoft Internet Explorer. Ele era lento, não cumpria as normas do padrão W3C, tinha um suporte limitado para o dynamic HTML e faltava o recurso de reflow (quando o motor de layout rearranja elementos sobre a tela, quando novos dados são baixados no lado do cliente). O novo motor de layout foi desenvolvido em paralelo com o antigo, com a intenção de ser implementado dentro do Netscape Communicator quando este ficaste maduro, robusto e estável. Era esperado que mais uma versão do Netscape fosse lançada com o antigo motor de layout depois da troca.

Após o lançamento do projeto Mozilla no início de 1998, o novo código do motor de layout foi distribuído sobre uma licença Open Source. Originalmente apresentado como Raptor, o nome foi modificado para NGLayout (próxima geração de layout) devido a problemas com a marca trademark. Mais tarde a Netscape rebatizou o motor NGLayout para Gecko. Enquanto Mozilla Organization (precursora da futura Mozilla Foundation), inicialmente continuou a usar o nome de NGLayout (Gecko foi uma marca da Netscape) [2] , mais tarde, a Mozilla Foundation passou a utilizar a marca Gecko para seu motor de layout.

Em outubro de 1998, a Netscape anunciou que seu próximo web browser usaria o motor Gecko (que ainda era chamado de NGLayout na época), ao invés do motor de layout antigo, exigindo da mesma um grande trabalho de reescrita e adaptações. Embora essa decisão era popular com os padrões web, o navegador não obteve uma popularidade satisfatória entre os desenvolvedores, que estavam descontentes com o prazo de seis meses prometidos para a reescrita.[3] Isso significou que a maioria do trabalho realizado pela Netscape para o Netscape Communicator 5.0 (incluindo o desenvolvimento do Mariner que trazia melhorias ao antigo motor de layout) tiveram de ser abandonados. O Netscape 6, foi a primeira versão a incorporar o motor de layout Gecko, foi lançado em Novembro de 2000 (o nome Netscape 5 nunca fora utilizado).

Com a continuação do motor de layout Gecko, outras aplicações e utilitários passaram a utilizar-se do novo motor. A America Online, nessa altura, acabou adotando para o uso em seu CompuServe 7.0 e AOL para Mac OS X (este produtos já tinham sido incorporados no Internet Explorer). No entanto, com a exceção de alguns, o Gecko nunca chegou a ser utilizado nos principais clientes Microsoft Windows e AOL.

Em 15 de julho de 2003, AOL demitiu os desenvolvedores restantes do Gecko e a Mozilla Foundation (formada no mesmo dia) tornou-se a principal desenvolvedora do Gecko. Hoje, o Gecko é desenvolvido por funcionários da Mozilla Corporation, funcionários de companhias que contribuem para o projeto Mozilla, e também de diversos voluntários.

Padrões suportados[editar | editar código-fonte]

Desde o início, o Gecko foi desenhado para suportar os padrões abertos da Internet. Alguns dos padrões suportados hoje pelo Gecko são:

O Gecko também suporta parcialmente SVG 1.1.[nota 1]

Com a finalidade de suportar web pages projetadas para versões antigas do Netscape e do Internet Explorer, o Gecko suporta o comutador DOCTYPE. Documentos com um moderno DOCTYPE são renderizados nos padrões regulamentados pela W3C. Documentos que não tem DOCTYPE ou um antigo DOCTYPE são renderizados em quirks mode, que emula alguns dos padrões não adotados pelo Netscape Communicator 4.x. Desta forma, alguns dos recursos do 4.x (como os layers) não são suportados.

Gecko também tem suporte limitado para alguns padrões não oficiais embutidos no Internet Explorer, como o marquee element e o document.all que são proprietários (apesar das páginas serem explicitamente testadas para o document.all, este será descontinuado). Enquanto estas implementações de compatibilidade com muitos documentos são desenhadas somente para o Internet Explorer, alguns puristas argumentam que isso é um atraso à adoção de um padrão universal.

Utilização[editar | editar código-fonte]

Gecko é usado principalmente em web browsers, sendo os primeiros a embutirem/implantarem Netscape 6 e Mozilla Application Suite (depois renomeado para SeaMonkey). Ele também é utilizado em outros web browsers derivados do Mozilla, como exemplo Firefox, Camino, Flock, K-Meleon e uma versão do Internet Explorer que roda sobre o Wine.[6] A versão Linux do software de organização de fotos Picasa do Google é baseada em Gecko.[7] DevHelp, um browser GTK+/GNOME para documentações de API, usa a Gecko para renderizar documentos.[8] Outros produtos não incluidos nesta tabela são Swiftfox, Portable Firefox, Fennec, Conkeror, Classilla, TenFourFox, HP Secure Web Browser, Oxygen, Minimo, My Internet Browser, Sylera (para mobile), Thunderbird (email), Sunbird (calendar) e Instantbird. Gecko é também usado pelo Sugar para o computador OLPC XO-1.[9] Gecko é usado com uma complementação do XUL (XML User Interface Language). Gecko atualmente é responsável por estabelecer o padrão XUL.

A tabela seguinte compara diferentes versões do Gecko:

Gecko versão Todas plataformas Somente Windows Somente Mac *nix somente *nix mobile
Firefox Netscape Mozilla SeaMonkey Flock Songbird Beonex Lunascape K-Meleon My Internet Browser Camino Galeon Epiphany Kazehakase MicroB
0.6 6.0 0.6 0.6[10]
0.8 0.8 0.3
0.9.2 6.1 0.9.2
0.9.4 6.2 0.9.4 0.5
0.9.4.1 6.2.2 0.9.4.1 0.7[10]
0.9.5 0.9.5 0.6
0.9.7 0.9.7 1.0.2
1.0.1 7.0 1.0.1 0.8.1[11]
1.0.2 1.0.2 0.8.2[12]
1.1 1.1 0.9pre[10]
1.2b 0.1 1.2b 0.7
1.3a 0.5 1.3a
1.4 7.1 1.4
1.4.1 1.4.1 1.0.4
1.5 0.7 1.5 0.8
1.7 1.0 1.7 2.0 0.2.8
1.7.2 7.2 1.7.2
1.7.5 8.0.2 1.7.5 0.9
1.8.0 1.5 1.0 0.7 0.2 1.0 1.0 1.0
1.8.1 2.0 9.0 1.1 1.0 4.8 1.1, 1.5 2.0 1.6.5 2.16
1.9.0 3.0 2.0 - 2.6 0.5 - 1.4 2.2 2.0 2.22
1.9.1 3.5 2.0 5.0 1.6 3.0
1.9.2 3.6 1.9.3 6.3 1.7 4.0 2.1a1[13] 1.7.4.8
2.0 4.0 2.1
5.0 5.0

Críticas[editar | editar código-fonte]

Uma das principais razões para uma adoção lenta pelo market share é a complexidade do código do Gecko que tem por finalidade proporcionar muito mais do que um processador ou renderizador de HTML. [14] [15] [16] O motor Gecko também prove uma versatilidade na renderização de interface de usuários baseado em XML, um framework chamado XUL que foi muito utilizado em seu programa de e-mail, newsgroup e outros programas. Outra razão que explica a complexidade do código do Gecko é o uso do XPCOM, um modelo de componente multiplataforma.[17]

Notas

  1. A fonte SVG, perfil de cor, animações, visualizações e módulos cursos ainda estão para serem implementados. O filtro e módulos texto são implementados parcialmente. O módulo de extensibilidade está também implementado, mas atualmente está desativado.[5]

Referências

  1. Embedding Mozilla
  2. nglayout project: identity crisis
  3. Ars Technica interviews Scott Collins
  4. Mozilla CSS support chart
  5. Mozilla SVG Status
  6. IE Uses Gecko Under Wine Wine Wiki. Visitado em 2009-09-14.
  7. Picasa 3.0 for Linux Google. Visitado em 2008-12-28.
  8. Official package devhelp (0.19.1-6 and others) on Debian Lenny Debian Project. Visitado em 2009-08-12.
  9. Martens, China (2007-01-03). One Laptop Per Child readies 'Sugar' interface IDG News Service. Visitado em 2007-12-28.
  10. a b c Bucksch, Ben (12 March 2003). News. Visitado em 29 January 2011.
  11. Bucksch, Ben. 0.8.1. Visitado em 29 January 2011.
  12. Bucksch, Ben. Release-notes. Visitado em 29 January 2011.
  13. Camino 2.1a1 Release Notes. Visitado em 2 February 2011.
  14. Mike Shaver (2003-01-08). Designate contact sierra-five Shaver: Noise from signal self-published. Visitado em 2009-09-06. Cópia arquivada em 2009-09-06.
  15. David Baron (2003-01-09). Thursday 2003-01-09 David Baron's weblog self-published. Visitado em 2009-09-06. Cópia arquivada em 2009-09-06.
  16. Paul Festa (2003-01-14). Apple snub stings Mozilla CNET Networks. Visitado em 2009-09-06. Cópia arquivada em 2009-09-06.
  17. Jorge O. Castro (June 15, 2004). Ars Technica sits down with Scott Collins from Mozilla.org Ars Technica.

Ligações externas[editar | editar código-fonte]

Portal A Wikipédia possui o portal:
  • Free software
Ícone de esboço Este artigo sobre software livre é um esboço. Você pode ajudar a Wikipédia expandindo-o.