Engenharia de Navegadores Web (2021)
(browser.engineering)-
Introdução à engenharia de navegadores web
- Os navegadores web são usados no dia a dia, mas seu funcionamento é complexo. Este livro explica como construir um navegador web básico, mas completo, com alguns milhares de linhas de código em Python, desde rede até JavaScript.
-
Prefácio
- Fornece uma visão geral da história dos navegadores web e da web.
-
Parte 1: Carregamento de páginas
- Baixando páginas web
- Explica como baixar páginas web por meio de URLs e requisições HTTP.
- Desenhando na tela
- Explica como criar uma janela e desenhar em um canvas.
- Formatação de texto
- Explica como fazer quebra de linha de palavras e ajustar o espaçamento entre linhas.
- Baixando páginas web
-
Parte 2: Visualização de documentos
- Construindo a árvore HTML
- Explica como fazer parse e modificar HTML.
- Layout da página
- Explica como aplicar layouts inline e em bloco.
- Aplicando estilos do autor
- Explica como fazer parse e aplicar CSS.
- Tratando botões e links
- Explica como lidar com hyperlinks e com a chrome do navegador.
- Construindo a árvore HTML
-
Parte 3: Execução de aplicações
- Enviando informações ao servidor
- Explica como enviar formulários e interagir com servidores web.
- Executando scripts interativos
- Explica como alterar o DOM e responder a eventos.
- Proteção de dados
- Explica cookies e login, além de XSS e CSRF.
- Enviando informações ao servidor
-
Parte 4: Navegadores modernos
- Adicionando efeitos visuais
- Explica blending, clipping e composição.
- Agendamento de tarefas e threads
- Explica o loop de eventos e o pipeline de renderização.
- Animação e composição
- Explica animações suaves usando a GPU.
- Fornecendo acessibilidade ao conteúdo
- Explica entrada por teclado, zoom e a árvore de acessibilidade.
- Suporte a conteúdo embutido
- Explica como dar suporte a imagens, iframes e scripting.
- Reutilização de cálculos anteriores
- Explica invalidação, edição e correção.
- Adicionando efeitos visuais
-
Conclusão
- Explica o que não foi abordado e o ambiente em constante mudança.
-
Apêndice
- Inclui glossário, bibliografia, apresentação do autor, lista de contribuidores e lista de aulas baseadas neste livro.
Resumo do GN⁺
- Este livro é útil para quem quer entender como os navegadores web funcionam. Por meio do processo de construir um navegador usando Python, é possível aprender diversas técnicas, como rede, parse de HTML e aplicação de CSS.
- Ajuda a compreender a história dos navegadores web e os recursos dos navegadores modernos. Em especial, inclui conteúdo sobre segurança e acessibilidade na web, oferecendo conhecimento aplicável na prática.
- Este livro pode ser interessante e útil para desenvolvedores web ou engenheiros de software, e será de grande ajuda para entender o funcionamento interno dos navegadores web.
1 comentários
Comentários do Hacker News
A parte de "Stuff I didn't do" é um dos grandes méritos deste livro
Comecei a trabalhar com navegadores headless há 15 anos e usei o SpiderMonkey como interpretador de JS
Este livro é um material abrangente que lembra o MITRE ATT&CK
É revigorante ver engenharia de navegadores virando tendência
Há um texto explicando por que o autor escolheu Python
Um dos autores deixou agradecimentos e está pronto para responder perguntas
Eu estava procurando um projeto divertido e estou gostando deste livro
É muito interessante ver esse tipo de material ser produzido
Estou aprendendo sobre a estrutura interna dos navegadores, e este livro tem sido muito útil
É um bom livro, e eu recomendaria dividir o capítulo 9 em dois capítulos separados