Servo (motor de renderização)
| Servo | |
|---|---|
![]() | |
![]() Captura de tela do Servo renderizando o website de downloads de prévias do Servo | |
| Desenvolvedores | Mozilla e Samsung; colaboração com Igalia e Linux Foundation Europe |
| Lançamento inicial | 2013 |
| Lançamento estável | 0.0.2
/ 2025 |
| Repositório | |
| Escrito em | Rust |
| Sistema operacional | Multiplataforma, Mobile, Windows, macOS, Linux, Android, OpenHarmony |
| Plataforma | x86, x86-64, ARM, OpenHarmony |
| Disponível em | Inglês, documentação multilíngue |
| Tipo | Motor de renderização web |
| Licença | MPL |
| Website | servo |
Servo é um motor de renderização experimental e de código aberto para browsers, desenvolvido inicialmente pela Mozilla em parceria com a Samsung, que portou o motor para ARM e Android.[1][2][3] Projetado desde o início para explorar segurança de memória e concorrência da linguagem Rust, o Servo executa layout, estilo e outras fases do pipeline de renderização em paralelo, de forma a tirar melhor proveito de CPUs multinúcleo.[4][5] Em 2020, sua governança passou da Mozilla Research para a Linux Foundation, e em 2023 o projeto passou a ser coordenado pela Linux Foundation Europe com forte contribuição da Igalia, entrando em uma fase de revitalização com foco em aplicações embarcadas e novos dispositivos.[6][7]
O protótipo do Servo busca criar um ambiente altamente paralelo para manipulação de componentes isolados e controlados, como o renderizador, o diagramador, o interpretador HTML, o decodificador de imagem, os módulos de JavaScript e os pipelines de WebGL/WebGPU.[8] O projeto mantém relação simbiótica com Rust, que é usado em todo o desenvolvimento, e vários subsistemas desenvolvidos para o Servo acabaram reutilizados ou influenciaram diretamente tecnologias como o WebRender e o motor de estilo do Firefox Quantum.[9][10]
Seu desenvolvimento ocorre em paralelo ao Firefox, podendo ser integrado em futuros produtos Mozilla ou substituir o Gecko em cenários específicos, como componentes de renderização e layout em aplicações que exigem alto desempenho gráfico.[11][12] Paralelamente, o Servo é promovido como motor independente voltado a ser incorporado em outros aplicativos (por exemplo, navegadores especializados, kiosks, sinalização digital, interfaces de TV e jogos), com ênfase na possibilidade de os desenvolvedores controlarem de perto quais partes do padrão web precisam ser suportadas.[13]
O nome do Servo origina-se do personagem Tom Servo do programa Mystery Science Theater 3000.[14]
Recursos

O Servo, mesmo em estágios iniciais, já renderiza Wikipedia, GitHub e passa com êxito no Acid2. Implementa algoritmos de renderização paralela, interpretador próprio de CSS3 e HTML5 em Rust.[15][16] O motor faz uso extensivo de aceleração via GPU e pipelines de renderização assíncronos, o que permite taxas de quadros elevadas e redução de travamentos em cenários de animações complexas e uso intenso de gráficos 2D/3D.[17][18]
Benchmarks recentes reportam velocidade superior ao Gecko e ganhos expressivos de desempenho em relação a versões anteriores do próprio Servo, sobretudo em cargas paralelas e páginas com muitas camadas de layout e fontes complexas.[19][20][21][22] O projeto mantém uma infraestrutura de relatórios de benchmark públicos, incluindo comparações com navegadores baseados em Chromium, destacando cenários em que o design modular e paralelo do Servo reduz tempos de layout e renderização em hardware multinúcleo.[23]
O motor inclui suporte a WebGL, WebGPU, APIs modernas de streaming (como CompressionStream e DecompressionStream), abort controllers e melhorias em eventos de entrada e manipulação de fontes, bem como sincronização de renderização via vsync.[24] Em plataformas móveis e embarcadas, o ServoShell — navegador de demonstração baseado no motor — expõe recursos como modo experimental, suporte a pinch‑to‑zoom e correções específicas para teclados virtuais em telas sensíveis ao toque.[25][26]
História
O projeto começou em 2012 como iniciativa de pesquisa da Mozilla; Mozilla e Samsung anunciaram cooperação pública em 2013.[3][2] A primeira prévia pública em forma de binários nightly apareceu em 2016 para macOS e Linux,[27] com builds para Windows seguindo em 2017.[28]
Em 2020, a governança do projeto foi oficialmente transferida para a Linux Foundation, passando depois à Linux Foundation Europe, com o objetivo de garantir neutralidade e sustentabilidade de longo prazo, e de estimular um ecossistema europeu de software livre em torno de motores web independentes.[29] Em 2023–2024, a Igalia organizou o esforço de retomada (revival) do projeto, contratando engenheiros dedicados, modernizando o pipeline de desenvolvimento e retomando o ritmo de implementação de especificações da web.[30]
A partir de 2024, o foco passou a incluir explicitamente aplicações embarcadas, integração com OpenHarmony e produção de binários demonstrativos para múltiplas plataformas (Linux, Android, macOS e Windows), culminando nas versões 0.0.1 (outubro de 2025) e 0.0.2 (novembro de 2025).[31][32][33] Nesse período, apresentações em conferências e encontros técnicos passaram a destacar o Servo como “motor web para o futuro”, explorando casos de uso em realidade estendida, interface de veículos e plataformas móveis baseadas em OpenHarmony.[34][35]
Projeto Servo
Objetivos
O Servo foca em segurança de memória, modularidade e paralelismo para excelência em desempenho versus motores tradicionais, reduzindo classes inteiras de vulnerabilidades ligadas a uso incorreto de memória e facilitando a decomposição do motor em componentes reutilizáveis.[36][37] Em vez de ser apenas um protótipo acadêmico, o projeto se posiciona como motor web embutível, voltado ao uso em aplicações que desejam incorporar tecnologias da web – de painéis de controle industriais a interfaces de jogos – sem carregar toda a complexidade de um navegador completo.[38]
O motor também é utilizado como base experimental para testar novas abordagens de layout, composição, tipografia e aceleração de gráficos, que podem posteriormente ser levadas a outros projetos baseados em Rust ou motores tradicionais.[39] A arquitetura em módulos permite que partes do Servo sejam utilizadas isoladamente, por exemplo como base para toolkits de interface gráfica escritos em Rust ou como motor de layout para aplicações específicas.[40]
Relações com o Firefox
Partes do Servo vêm sendo integradas ao Firefox por meio do projeto Quantum, incluindo o motor de CSS paralelo (Stylo) e o renderizador WebRender, que se beneficiam diretamente do trabalho de pesquisa feito inicialmente no Servo.[41][42] Embora o Firefox continue a usar o Gecko como base, o Servo funciona como laboratório de novas ideias que podem, eventualmente, influenciar futuras versões do navegador ou outros produtos da Mozilla.[43]
Chromium Embedded Framework
Desde meados da década de 2010, colaboradores propõem o Servo como base para uma reimplementação da API do Chromium Embedded Framework (CEF), de forma a oferecer uma alternativa em Rust para aplicações que hoje usam Chromium como motor de navegação embutido.[44] Essa estratégia coloca o Servo como concorrente potencial em áreas como aplicativos de desktop baseados em web, launchers de jogos, clientes de chat e ferramentas de produtividade personalizadas.[45]
Plataformas e OpenHarmony
O Servo é multiplataforma, com suporte estável ou experimental para Linux, macOS, Windows e Android, além de integração com OpenHarmony, um sistema operacional aberto fortemente promovido na Ásia para dispositivos móveis e de IoT.[46][47] A documentação oficial descreve um processo específico de compilação para OpenHarmony, incluindo variáveis de ambiente e perfis de build (por exemplo, default e harmonyos), demonstrando a intenção de tornar o motor uma opção para fabricantes e integradores que desejam um motor web moderno sem dependência direta de fornecedores proprietários.[48]
Estrutura do projeto
O projeto é patrocinado por Mozilla (como criadora original), Linux Foundation Europe, Igalia e pela comunidade de desenvolvedores Rust e web em geral.[49][50] O repositório oficial está hospedado no GitHub, onde são coordenados issues, revisão de código, relatórios de benchmark, documentação e guias de compilação para diversas plataformas.[51] O código é licenciado sob a MPL 2.0, permitindo reutilização em projetos abertos e proprietários desde que modificações nos arquivos MPL permaneçam abertas, o que facilita sua adoção em produtos comerciais e acadêmicos.[52]
Ver também
Referências
- ↑ ARS technica. «Samsung teams up with Mozilla to build browser engine for multicore machines». Consultado em 5 de abril de 2013
- ↑ 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
- ↑ 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
- ↑ «Servo (software)» (em inglês). Consultado em 24 de novembro de 2025
- ↑ «Design · servo/servo Wiki». GitHub. Consultado em 24 de novembro de 2025
- ↑ «Servo web rendering engine joins Linux Foundation Europe». Consultado em 24 de novembro de 2025
- ↑ «Servo Revival: 2023–2024». Consultado em 24 de novembro de 2025
- ↑ «About - Servo». Consultado em 24 de novembro de 2025
- ↑ «Quantum - MozillaWiki». Consultado em 24 de novembro de 2025
- ↑ «A Quantum Leap for the Web – Mozilla Tech». Consultado em 24 de novembro de 2025
- ↑ Paul Roget. «Servo, a browser engine research project». Consultado em 5 de abril de 2013. Arquivado do original em 15 de janeiro de 2013
- ↑ Dr. Axel. «Servo: a vision for the future of Firefox». Consultado em 28 de julho de 2015
- ↑ «Servo – a web rendering engine for the future». Consultado em 24 de novembro de 2025
- ↑ Eich, Brendan (13 de outubro de 2012). «Add a new UI crate». Consultado em 2 de abril de 2014
- ↑ Moffitt, Jack (17 de abril de 2014). «Another Big Milestone for Servo—Acid2». Consultado em 26 de novembro de 2015
- ↑ «Servo Continues Pushing Forward». 1 de maio de 2015. Consultado em 26 de novembro de 2015
- ↑ Bergstrom, Lars. «Mozilla's Project Quantum and Servo». mozilla.dev.servo - Google Groups. Consultado em 9 de novembro de 2016
- ↑ 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
- ↑ Larabel, Michael. «Mozilla's Servo Engine Is Crazy Fast Compared To Gecko». Phoronix. Consultado em 10 de maio de 2016
- ↑ «Mozilla's Servo Is Whooping The Other Browsers In Performance». Phoronix. Consultado em 10 de maio de 2016
- ↑ «Servo Benchmarking Report (October 2024)». Consultado em 24 de novembro de 2025
- ↑ «Servo Benchmarking Report (December 2024)». Consultado em 24 de novembro de 2025
- ↑ «Benchmarks · servo/servo Wiki». Consultado em 24 de novembro de 2025
- ↑ «Servo Browser Engine 0.0.2 Released». Consultado em 24 de novembro de 2025
- ↑ «Servo 0.0.1 released». Consultado em 24 de novembro de 2025
- ↑ «Servo 0.0.2 hints at a real Rust alternative to Chromium». 17 de novembro de 2025. Consultado em 24 de novembro de 2025
- ↑ «Servo Nightly Builds Available». Servo Blog. 30 de junho de 2016
- ↑ «Windows nightly builds now available». Servo Blog. 13 de abril de 2017
- ↑ «Servo web rendering engine joins Linux Foundation Europe». Consultado em 24 de novembro de 2025
- ↑ «Servo Revival: 2023–2024». Consultado em 24 de novembro de 2025
- ↑ «Servo 0.0.1 released». Consultado em 24 de novembro de 2025
- ↑ «Servo Browser Engine 0.0.2 Released». Consultado em 24 de novembro de 2025
- ↑ «Servo 0.0.2 hints at a real Rust alternative to Chromium». 17 de novembro de 2025. Consultado em 24 de novembro de 2025
- ↑ «A web rendering engine for the future». Consultado em 24 de novembro de 2025
- ↑ «Servo: A new web engine written in Rust». Consultado em 24 de novembro de 2025
- ↑ «About - Servo». Consultado em 24 de novembro de 2025
- ↑ «Design · servo/servo Wiki». GitHub. Consultado em 28 de outubro de 2016
- ↑ «Research · servo/servo Wiki». Consultado em 24 de novembro de 2025
- ↑ Willis, Nathan (17 de junho de 2015). «Parallel page rendering with Mozilla Servo». LWN.net. Consultado em 30 de outubro de 2016
- ↑ «Servo – a web rendering engine for the future». Consultado em 24 de novembro de 2025
- ↑ «Quantum - MozillaWiki». wiki.mozilla.org. Consultado em 28 de outubro de 2016
- ↑ Bryant, David (27 de outubro de 2016). «A Quantum Leap for the Web – Mozilla Tech». Medium. Consultado em 28 de outubro de 2016
- ↑ «Servo (software)» (em inglês). Consultado em 24 de novembro de 2025
- ↑ 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
- ↑ «Servo 0.0.2 hints at a real Rust alternative to Chromium». Consultado em 24 de novembro de 2025
- ↑ «Servo: A new web engine written in Rust». Consultado em 24 de novembro de 2025
- ↑ «servo/servo · GitHub». Consultado em 24 de novembro de 2025
- ↑ «Home · servo/servo Wiki». Consultado em 24 de novembro de 2025
- ↑ Willis, Nathan (17 de junho de 2015). «Parallel page rendering with Mozilla Servo». LWN.net. Consultado em 30 de outubro de 2016
- ↑ «Servo web rendering engine joins Linux Foundation Europe». Consultado em 24 de novembro de 2025
- ↑ «servo/servo · GitHub». Consultado em 24 de novembro de 2025
- ↑ «Mozilla Public License» (em inglês). Consultado em 24 de novembro de 2025
Ligações externas
- «Página oficial» (em inglês)
- «Servo no GitHub» (em inglês)
- «Demonstrações públicas do Servo» (em inglês)

