2 pontos por GN⁺ 2024-10-16 | 1 comentários | Compartilhar no WhatsApp
  • 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.
  • 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.
  • 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.
  • 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.
  • 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

 
GN⁺ 2024-10-16
Comentários do Hacker News
  • A parte de "Stuff I didn't do" é um dos grandes méritos deste livro

    • Trabalhar com layout é muito difícil
    • CSS torna o layout ainda mais complexo
    • CSS, HTML e JavaScript hoje são softwares muito complexos
    • A decodificação de vídeo é descarregada para o hardware, reduzindo o consumo de bateria
  • Comecei a trabalhar com navegadores headless há 15 anos e usei o SpiderMonkey como interpretador de JS

    • Adicionei uma implementação de DOM customizada e um runtime de Flash
    • Esse projeto foi muito divertido
    • Tenho interesse neste livro
  • Este livro é um material abrangente que lembra o MITRE ATT&CK

  • É revigorante ver engenharia de navegadores virando tendência

    • Hoje, Google, Apple e Mozilla estão liderando isso
    • Espero que surjam mais engines de navegador independentes
  • Há um texto explicando por que o autor escolheu Python

    • Parte dele é compilada de Python para JS e executada no navegador
  • Um dos autores deixou agradecimentos e está pronto para responder perguntas

  • Eu estava procurando um projeto divertido e estou gostando deste livro

    • A HQ que explica como o Chrome funciona também é um bom material para começar
  • É muito interessante ver esse tipo de material ser produzido

    • Os navegadores parecem caixas-pretas misteriosas e difíceis de decifrar
    • Projetos como o Ladybird estão derrubando essa barreira
    • Quero contribuir algum dia, e este livro é um ótimo ponto de partida
  • Estou aprendendo sobre a estrutura interna dos navegadores, e este livro tem sido muito útil

    • Ele ajuda a entender de forma intuitiva como um navegador funciona
  • É um bom livro, e eu recomendaria dividir o capítulo 9 em dois capítulos separados

    • Seria melhor tratar separadamente a execução de JavaScript e a interação entre DOM e eventos