# Servo (motor de renderização)

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. 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.
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.
O nome do Servo vem do personagem Tom Servo, um robô do programa de televisão Mystery Science Theater 3000.

## Recursos

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.
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. 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.

## História

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.
Em 30 de junho de 2016, uma versão de prévia foi disponibilizada para download. 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.

## Projeto Servo
### Objetivos do projeto

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.

### Relações com o Firefox

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

### Chromium Embedded Framework

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.

### Estrutura do projeto

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. O Servo, incluindo todas as contribuições da comunidade, está licenciado sob a Licença pública Mozilla versão 2.0.