Motor do navegador - Browser engine

Um motor do navegador ( também conhecido como um mecanismo de layout ou motor de renderização ) é um núcleo componente de software de todos os principais navegador web . A principal tarefa de um mecanismo de navegador é transformar documentos HTML e outros recursos de uma página da web em uma representação visual interativa no dispositivo de um usuário .

Nome e escopo

Um mecanismo de navegador não é um programa de computador independente , mas uma parte crítica de um programa maior, como um navegador da web , do qual o termo é derivado. (A palavra " motor " é uma analogia ao motor de um carro.)

Além de "mecanismo de navegador", dois outros termos são comumente usados ​​em relação a conceitos relacionados: "mecanismo de layout" e "mecanismo de renderização". Em teoria, layout e renderização (ou "pintura") poderiam ser tratados por mecanismos separados. Na prática, entretanto, eles são fortemente acoplados e raramente são considerados separadamente.

Além de layout e renderização, um mecanismo de navegador reforça a política de segurança entre documentos, lida com a navegação por meio de hiperlinks e dados enviados por meio de formulários e implementa a estrutura de dados DOM ( Document Object Model ) exposta aos scripts de página .

A execução de código JavaScript (JS) é um assunto separado, entretanto, já que todos os principais navegadores da web usam um mecanismo dedicado para isso. A linguagem JS foi criada originalmente para uso em navegadores, mas agora também é usada em outros lugares, portanto, a implementação dos mecanismos JS é desacoplada dos mecanismos do navegador. Em um navegador da web, os dois mecanismos funcionam em conjunto por meio da estrutura de dados DOM compartilhada.

Os mecanismos do navegador são usados ​​em outros tipos de programas além dos navegadores da web. Os clientes de email precisam deles para exibir emails em HTML . A estrutura Electron , que é alimentada pelos dois motores do navegador Google Chrome , foi usada para criar muitos aplicativos .

Layout e renderização

O layout de uma página da web é normalmente especificado por Cascading Style Sheets (CSS). Cada folha de estilo é uma série de regras que o mecanismo do navegador interpreta. Por exemplo, algumas regras especificam detalhes de tipografia , como fonte , cor e tamanho do texto. O mecanismo combina todas as regras CSS relevantes para calcular coordenadas gráficas precisas para a representação visual que pintará na tela.

Alguns mecanismos podem começar a renderizar antes de todos os recursos de uma página serem baixados. Isso pode resultar em mudanças visuais à medida que mais dados são recebidos, como imagens sendo preenchidas gradualmente ou um flash de conteúdo não estilizado .

Motores notáveis

  • A Apple criou o motor WebKit para seu navegador Safari bifurcando o motor KHTML do projeto KDE . Todos os navegadores para iOS devem usar o WebKit como mecanismo.

Linha do tempo

Apenas a duração do desenvolvimento ativo é mostrada, ou seja, quando novos padrões da Web relevantes continuam a ser adicionados ao mecanismo.

Referências