Ingeniería de Navegadores Web (2021)
(browser.engineering)-
Introducción a la ingeniería de navegadores web
- Los navegadores web se usan todos los días, pero su funcionamiento es complejo. Este libro explica cómo construir un navegador web básico pero completo, desde redes hasta JavaScript, con unos cuantos miles de líneas de código en Python.
-
Prólogo
- Ofrece una visión general de la historia de los navegadores web y de la web.
-
Parte 1: Carga de páginas
- Descargar una página web
- Explica cómo descargar una página web mediante URL y solicitudes HTTP.
- Dibujar en la pantalla
- Explica cómo crear una ventana y dibujar en un lienzo.
- Formato de texto
- Explica cómo manejar el ajuste de línea y el espaciado entre líneas.
- Descargar una página web
-
Parte 2: Ver documentos
- Construir el árbol HTML
- Explica cómo parsear y modificar HTML.
- Diseño de página
- Explica cómo aplicar diseños inline y de bloque.
- Aplicar estilos del autor
- Explica cómo parsear y aplicar CSS.
- Manejo de botones y enlaces
- Explica cómo manejar hipervínculos y la interfaz del navegador.
- Construir el árbol HTML
-
Parte 3: Ejecutar aplicaciones
- Enviar información al servidor
- Explica cómo enviar formularios e interactuar con servidores web.
- Ejecutar scripts interactivos
- Explica cómo modificar el DOM y responder a eventos.
- Proteger los datos
- Explica cookies e inicio de sesión, así como XSS y CSRF.
- Enviar información al servidor
-
Parte 4: Navegadores modernos
- Agregar efectos visuales
- Explica técnicas de blending, clipping y composición.
- Planificación de tareas e hilos
- Explica el event loop y el pipeline de renderizado.
- Animación y composición
- Explica cómo lograr animaciones fluidas usando la GPU.
- Brindar accesibilidad al contenido
- Explica la entrada por teclado, el zoom y el árbol de accesibilidad.
- Soporte para contenido embebido
- Explica cómo dar soporte a imágenes, iframes y scripting.
- Reutilizar cálculos previos
- Explica invalidación, edición y corrección.
- Agregar efectos visuales
-
Conclusión
- Explica los temas no cubiertos y el entorno cambiante.
-
Apéndice
- Incluye glosario, bibliografía, presentación del autor, lista de colaboradores y una lista de cursos basados en este libro.
Resumen de GN⁺
- Este libro es útil para quienes quieren entender cómo funciona un navegador web. A través del proceso de construir un navegador con Python, se pueden aprender diversas tecnologías como redes, parseo de HTML y aplicación de CSS.
- Ayuda a comprender la historia de los navegadores web y las funciones de los navegadores modernos. En particular, incluye temas de seguridad web y accesibilidad, por lo que ofrece conocimientos aplicables al trabajo práctico.
- Este libro puede resultar interesante y útil para desarrolladores web o ingenieros de software, y será de gran ayuda para entender el funcionamiento interno de los navegadores web.
1 comentarios
Opiniones en Hacker News
La sección de "Stuff I didn't do" es una gran virtud de este libro
Empecé a trabajar en un navegador headless hace 15 años y usé SpiderMonkey como intérprete de JS
Este libro es un recurso integral que recuerda a MITRE ATT&CK
Es refrescante que la ingeniería de navegadores se esté volviendo una tendencia
Hay un texto donde el autor explica por qué eligió Python
Uno de los autores agradece el interés y está listo para responder preguntas
Estaba buscando un proyecto divertido y estoy disfrutando este libro
Es muy interesante que se creen materiales como este
Estoy aprendiendo sobre la arquitectura interna de los navegadores y este libro es muy útil
Es un buen libro, y recomiendo dividir el capítulo 9 en dos capítulos separados