‘Hacer un motor’ (un navegador básicamente) no es para los débiles de corazón. De hecho, es tan complicado que construir uno solo en su garaje es como construir un 747 o un transbordador espacial en su garaje.
Sí, puedes construir un modelo a pequeña escala, pero no es lo mismo. O implementa solo 100 de las 10000 características requeridas o las implementa solo de manera mediocre, descuidada y con errores.
¿Recuerdas FrontPage y DreamWeaver? Intentaron construir sus propios motores de navegador para mostrar correctamente el contenido. Funcionó, pero subóptimo, especialmente FrontPage estaba lleno de errores. Ahora los motores han mejorado tanto que desarrollar usando Firefox o Chrome es mucho más poderoso de lo que FrontPage podría ser, e implementarlo dentro de una herramienta es bastante fácil.
- ¿Qué características debe tener una computadora portátil para caracterizarla como buena para la programación?
- ¿Cuál es la mejor computadora portátil de menor costo para Skype?
- ¿Por qué las empresas no fabrican computadoras con GPU en lugar de CPU?
- ¿Es suficiente una Nvidia 940MX GDDR5 de 2GB para el uso a largo plazo de una computadora portátil?
- ¿Cuál es la diferencia entre CPU virtual y CPU lógica?
La especificación W3 es tan amplia, que hacer que las funciones reales del navegador alrededor del motor sea algo que no se piense (ventanas, barras de herramientas, opciones, pestañas y algunas cosas pequeñas). HTTP es antiguo y los módulos de comunicación ya forman parte del sistema operativo. Pero la especificación para la exhibición ha estado creciendo rápidamente. Ahora un motor necesita lidiar con HTML, JavaScript, CSS, XML, SVG, Canvas, MathML, WebGL, ubicación y más. HTML y CSS tienen especialmente estándares que se vuelven más detallados por año, y hacen más funcionalidades relacionadas con el sistema operativo y las aplicaciones que nunca antes: trabajadores web, multimedia, almacenamiento de datos fuera de línea, animaciones, fuentes personalizadas, etc. Y aún hay complementos incrustados como Java y Flash
Simplemente analizar HTML ya no es suficiente.
Para responder a la pregunta: construir el motor es un proyecto a largo plazo para múltiples personas y talentos.