El desarrollador apreció la complejidad de los navegadores modernos.

Conocido desarrollador de Linux, coautor del protocolo de gráficos Wayland, entorno de usuario Sway y cliente de correo electrónico Aerc, Drew DeVault analizó las especificaciones del W3C que deben cumplir los navegadores modernos.

Descargó 1217 especificaciones con la ayuda wgety golpearon a las estadísticas con la utilidad wc -w(número de palabras). Resultó que todo el catálogo actual de especificaciones del W3C es de 114 millones de palabras . A modo de comparación, el alcance de la especificación C11 es de 208,220 palabras, y la longitud de la novela Guerra y paz es de 188,088 palabras.

Drew DeVolt concluye que hoy ya no es posible desarrollar un nuevo navegador desde cero, ya que es imposible implementar soporte para estándares web en tales números.

Para comparar la verbosidad de las especificaciones W3C, el desarrollador cita el tamaño de otras especificaciones y textos :

  • Todos los RFC IETF (formato de texto), 8,754 unidades: 57,716,641 palabras
  • POSIX (formato HTML): 2017056
  • USB 3.2 (PDF): 872 395
  • UEFI (PDF): 659,580
  • C ++ 17 (PDF, último borrador abierto): 576344
  • C11 (PDF, último borrador abierto): 208,220
  • Intel x86 ISA (PDF): 2,312,414

Incluso si agrega todo esto junto con una lista de las novelas literarias más largas del mundo , las especificaciones del W3C seguirán siendo más de 12 millones de palabras.

Drew DeWolt sugiere la razón por la cual hemos alcanzado tal estado: “Comenzando con la primera guerra de navegadores entre Netscape e Internet Explorer, los navegadores web han utilizado sus funciones como el principal medio de competencia entre ellos. Esta estrategia de alcance ilimitado y perpetuo arrastre de funciones es imprudente, y se ha permitido que continúe por mucho tiempo ”, escribe. - La complejidad de la web es simplemente indecente. Crear un nuevo navegador web es comparable en sus esfuerzos al programa Apollo o al proyecto Manhattan ".

Es decir, no es que sea imposible implementar un soporte seguro o correcto para la web, no se puede implementaren general .

Crear su propio motor de navegador para competir con Google o Mozilla hoy es una tarea completamente estúpida. El último intento serio de hacer un nuevo navegador, Servo, se convirtió en "en parte una incubadora para refactorizar el código de Firefox, en parte un espacio aislado para que los aburridos ingenieros de Mozilla jueguen con tecnología inútil" (WebVR).

“Las implicaciones de esto son obvias. Los navegadores son el software más caro que se ejecuta en computadoras normales. Son conocidos por usar toda su RAM, tomar la línea del procesador y la E / S, agotar la batería, etc. Los navegadores representan más de 8,000 vulnerabilidades conocidas ”, escribe Drew DeVolt. Las estadísticas de CVE están disponibles en el sitio web oficial cve.mitre.orgpara consultas de búsqueda "firefox", "chrome", "safari" y "internet explorer", en total.

Crear una alternativa competitiva se ha convertido en un desafío insuperable. Debido a esto, los desarrolladores de navegadores han sentido impunidad. Los navegadores dejan de funcionar como "agentes de usuario" y, en cambio, comienzan a funcionar como agentes de sus creadores: "Firefox está lleno de publicidad, seguimiento y complementos necesarios. Google utiliza Chrome como herramienta para realizar un seguimiento eficaz del historial de páginas abiertas y promover tecnologías dañinas como DRM y AMP en el ecosistema. El duopolio de los navegadores también se está fortaleciendo a medida que Microsoft pierde Edge y WebKit está muy por detrás de sus competidores ".

Por supuesto, los motores del navegador son de código abierto. Desafortunadamente, incluso hacer un tenedor viable es una tarea casi imposible. El hecho es que el número de especificaciones W3C está creciendo en un promedio de 200 nuevas especificaciones por año. Estas son alrededor de cuatro millones de palabras nuevas. En términos generales, aproximadamente un POSIX cada 4-6 meses. “¿Cómo es posible que un nuevo equipo se mantenga al día con esto además de ese escandaloso volumen que ya existe? - pregunta DeVolt. - Se ha permitido que las guerras del navegador continúen por mucho tiempo. Durante mucho tiempo tuvieron que centrarse en la competencia en términos de rendimiento y estabilidad, en lugar de nuevas "características". Esto es absolutamente ridículo, y debe detenerse ”.




All Articles