Servo (motor de renderização)

Servo
Logótipo
Servo (motor de renderização)
Captura de tela
Servo (motor de renderização)
Captura de tela do Servo renderizando o website de downloads de prévias do Servo
Desenvolvedor Mozilla e Samsung
Plataforma x86 e x86-64
Lançamento 2013
Escrito em Rust
Sistema operacional Multiplataforma, Mobile
Licença MPL
Estado do desenvolvimento Ativo
Página oficial servo.org

Servo é um motor de renderização experimental para browsers que está sendo desenvolvido pela Mozilla em parceria com a Samsung, que está portando ele para a arquitetura de processadores ARM e para o sistema operacional Android[1][2][3]. O protótipo visa criar um ambiente extremamente paralelo em que muitos componentes (como o renderizador, diagramador, interpretador de HTML, decodificador de imagem, etc.) são manipulados por tarefas isoladas e precisamente controladas. O projeto tem um relacionamento simbiótico com a linguagem de programação Rust, na qual é desenvolvido.[4]

O seu desenvolvimento é feito em paralelo ao Firefox, podendo integrar futuramente um novo produto da Mozilla ou até mesmo substituir o motor atual deste navegador.[5][6]

O nome do Servo vem do personagem Tom Servo, um robô do programa de televisão Mystery Science Theater 3000.[7]

Mozilla Servo mostrando o teste Acid2

O desenvolvimento do Servo ainda está em estágio inicial; no entanto, ele já pode renderizar o site da Wikipedia e do GitHub, e passar com êxito no teste Acid2. Possui inovações como um algoritmo de renderização paralelo e seu próprio interpretador de CSS3 e de HTML5 implementado em Rust.[8][9]

O Servo faz uso da aceleração de GPU para renderizar as páginas da Web de forma mais rápida e mais fluída.[10][11] O Servo é significativamente mais rápido, em certos benchmarks, do que o Gecko, o outro motor de layout e renderização da Mozilla, desde novembro de 2014.[12][13]

O desenvolvimento do Servo começou em 2013. O primeiro commit em 8 de fevereiro de 2012 não continha nenhum código-fonte. O primeiro commit de código rudimentar ocorreu em 27 de março de 2012.

Em 3 de abril de 2013, a Mozilla anunciou que eles e a Samsung colaboraram no desenvolvimento do Servo.[3][2]

Em 30 de junho de 2016, uma versão de prévia foi disponibilizada para download.[14] Isso é marcado como 0.0.1 e está disponível para MacOS e Linux.

A partir de 13 de abril de 2017, as compilações do Servo agora estão também disponíveis para o Windows.[15]

Projeto Servo

[editar | editar código-fonte]

Objetivos do projeto

[editar | editar código-fonte]

O projeto Servo é oficialmente um projeto de pesquisa. O objetivo é criar um novo mecanismo de renderização usando uma linguagem de programação moderna (Rust), e usando paralelismo e segurança de código, para obter maior segurança e desempenho versus navegadores contemporâneos.

Usando o Browser.HTML como interface gráfica, o Servo pode funcionar como um navegador autônomo. Esta configuração do navegador foi originalmente concebida como um projeto de pesquisa e de prova de conceito.[16]

Relações com o Firefox

[editar | editar código-fonte]
Ver artigo principal: Quantum (Mozilla)

Os desenvolvedores do Servo planejam fundir partes do Servo no Gecko, emprestando assim os avanços do projeto Servo ao Firefox.[17][18]

Chromium Embedded Framework

[editar | editar código-fonte]

O Servo pretende re-implementar a API do Chromium Embedded Framework (CEF). Isso permitiria que o Servo fosse usado como substituição para o Chromium em aplicativos usando o CEF, e posiciona o Servo como concorrente do Chromium nesses casos.[19]

Estrutura do projeto

[editar | editar código-fonte]

O projeto Servo é patrocinado e mantido pela Mozilla, com vários funcionários da Mozilla contribuindo com a maioria dos códigos para o projeto. Como um projeto de código aberto, software livre, ele está aberto a contribuições de qualquer pessoa.[20] O Servo, incluindo todas as contribuições da comunidade, está licenciado sob a Licença pública Mozilla versão 2.0.

Referências

  1. ARS technica. «Samsung teams up with Mozilla to build browser engine for multicore machines». Consultado em 5 de abril de 2013 
  2. a b «Mozilla and Samsung Collaborate on Next Generation Web Browser Engine». The Mozilla Blog. 3 de abril de 2013. Consultado em 1 de fevereiro de 2018 
  3. a b Rafael Silva (4 de abril de 2013). «Mozilla faz parceria com Samsung para criar novo motor de renderização Servo». Tecnoblog. Consultado em 1 de fevereiro de 2018 
  4. Sebastian Anthony (3 de abril de 2013). «Samsung and Mozilla join forces to develop next-generation Android web browser». ExtremeTech. Consultado em 1 de fevereiro de 2018 
  5. Paul Roget. «Servo, a browser engine research project». Consultado em 5 de abril de 2013. Arquivado do original em 15 de janeiro de 2013 
  6. Dr. Axel. «Servo: a vision for the future of Firefox». Consultado em 28 de Julho de 2015 
  7. Eich, Brendan (13 de outubro de 2012). «Add a new UI crate». Consultado em 2 de abril de 2014 
  8. Moffitt, Jack (17 de abril de 2014). «Another Big Milestone for Servo—Acid2». Consultado em 26 de novembro de 2015 
  9. «Servo Continues Pushing Forward». 1 de maio de 2015. Consultado em 26 de novembro de 2015 
  10. Bergstrom, Lars. «Mozilla's Project Quantum and Servo». mozilla.dev.servo - Google Groups. Consultado em 9 de novembro de 2016 
  11. Clark, Lin (10 de outubro de 2017). «The whole web at maximum FPS: How WebRender gets rid of jank». Mozilla Hacks – the Web developer blog. Consultado em 22 de outubro de 2017 
  12. Larabel, Michael. «Mozilla's Servo Engine Is Crazy Fast Compared To Gecko». Phoronix. Consultado em 10 de maio de 2016 
  13. «Mozilla's Servo Is Whooping The Other Browsers In Performance». Phoronix. Consultado em 10 de maio de 2016 
  14. «Servo Nightly Builds Available». Servo Blog. 30 de junho de 2016 
  15. «Windows nightly builds now available». Servo Blog. 13 de abril de 2017 
  16. «Design · servo/servo Wiki». GitHub. Consultado em 28 de outubro de 2016 
  17. «Quantum - MozillaWiki». wiki.mozilla.org. Consultado em 28 de outubro de 2016 
  18. Bryant, David (27 de outubro de 2016). «A Quantum Leap for the Web – Mozilla Tech». Medium. Consultado em 28 de outubro de 2016 
  19. Blumenkrantz, Mike; Bergstrom, Lars (13 de maio de 2015). «Servo: The Embeddable Browser Engine - Samsung Open Source Group Blog». Samsung Open Source Group Blog. Consultado em 28 de outubro de 2016 
  20. Willis, Nathan (17 de junho de 2015). «Parallel page rendering with Mozilla Servo». LWN.net. Consultado em 30 de outubro de 2016 

Ligações externas

[editar | editar código-fonte]


Ícone de esboço Este artigo sobre software livre é um esboço. Você pode ajudar a Wikipédia expandindo-o.