TL; DR:
El monopolio, en cualquier forma, siempre es malo para el usuario final; La competencia es buena.
Ahora, la versión más larga:
- Cómo aprender WordPress fácilmente
- ¿Qué le parece nuestro nuevo sitio web de la Agencia de Diseño Web?
- ¿Por qué tardó tanto tiempo JavaScript en comenzar a usarse en el lado del servidor?
- ¿Cuál es la desventaja de usar el Bloc de notas y hacer una plantilla en HTML / CSS?
- ¿Cuáles son algunos buenos sitios web para los entusiastas de GIF?
Tener un mismo motor tendrá los siguientes efectos adversos en los usuarios.
1. Falta de mantenimiento
Recuerda IE6 . IE6 y su motor de renderizado Trident tenían el monopolio del mercado de navegadores. ¿Recuerdas lo que pasó entonces? Como no había ningún incentivo para que Microsoft mejorara su navegador después de que Netscape fuera expulsado de la competencia, lentamente se hinchó. La única razón por la que todos están desarrollando tan agresivamente sus navegadores en estos días es porque si no lo hacen, alguien más lo hará . Eso es competencia. La adopción de un único motor de navegador destruye precisamente eso. Si todas las empresas adoptan el mismo motor de navegador y comienzan a trabajar en él, no habrá ningún incentivo para que ninguna de ellas contribuya con sus recursos para desarrollarlo.
2. No hay nuevas características
Suponga que en una clase universitaria, en lugar de calificar a cada estudiante de acuerdo con su propio rendimiento, deciden tomar el promedio de toda la clase y todos obtienen la misma calificación dependiendo de cuál sea el promedio de la clase . ¿Algún estudiante se sentirá motivado para estudiar mucho? Finalmente, todas las compañías perderán interés en desarrollar el motor compartido, y los usuarios estarán perdidos porque no obtendrán un buen motor ni la libertad de cambiar a algo mejor.
3. No hay soporte para estándares
Los estándares web están ahí por una razón. Asegura que el código escrito por los desarrolladores funcione de manera consistente en todos los navegadores, facilite la tarea de los desarrolladores web y mejore la experiencia del usuario al presentar nuevos conjuntos de características (por ejemplo, HTML5). Y todos estos estándares son inútiles si no hay competencia para implementarlos realmente en los navegadores. ¿Por qué alguien estaría interesado en desarrollar algo nuevo si no hay ningún incentivo? E incluso si lo desean, siempre habrá disputas sobre cómo se debe implementar un estándar específico. Estas disputas, si ambas partes son lo suficientemente grandes, generalmente terminan en el proyecto que se bifurca, como hemos visto de vez en cuando.
4. Promover malas prácticas de codificación.
Además, si todos los principales navegadores tienen el mismo motor, lo que sea que el motor implemente (y también los errores que pasan por la implementación) se convierte en el estándar de facto . Los desarrolladores web comienzan a escribir el código dirigido al motor específico en lugar de escribir un código que cumpla con los estándares. Si solo se usa un motor para las pruebas durante el diseño del sitio web, ese código incorrecto tampoco se puede detectar fácilmente. Durante el monopolio de IE6, muchos desarrolladores hicieron eso y eso sigue frenando la web, ya que todos los navegadores tienen que seguir admitiendo un código tan malo para que esos sitios no se rompan. Eso sigue imponiendo una carga de desarrollo innecesaria a las empresas y obligándolas a escribir formas de representación subóptimas debido a todas esas soluciones que tienen que mantener para dichos sitios.
5. Destrucción de plataformas minoritarias
Todos conocen los nombres de los principales navegadores (Firefox, IE, Chrome, etc.), pero hay cientos de navegadores diferentes, y prosperan solo porque la competencia entre los gigantes obliga a todos a cumplir con los estándares. Tener el mismo motor de renderizado en los principales navegadores arruinará estos navegadores minoritarios si las personas dejan de escribir código que cumpla con los estándares. Tienen que imitar de alguna manera el motor principal (junto con sus errores) o descartar todos sus esfuerzos de desarrollo hasta el momento y utilizar el motor común en su propio navegador, lo que no siempre es posible.
6. Alta barrera de entrada
Si alguien piensa “Ninguno de los navegadores es lo suficientemente bueno, ¡hagamos algo mejor!” Es mucho más fácil cuando ya hay competencia en lugar de monopolio. Cada plataforma principal comienza como una minoría, y su supervivencia y crecimiento durante su fase inicial se verán gravemente amenazados, por las razones mencionadas en el último punto.
7. Razones técnicas
El motor de representación es el corazón del navegador, que incluye todo, desde la representación HTML hasta la manipulación DOM, la aceleración de hardware y la reproducción de medios, y todo lo demás. Debido a que el motor está integrado a un nivel tan profundo con el navegador y la plataforma, la mayoría de las veces no se puede cambiar por otro. Cada navegador aprovecha ciertos aspectos específicos de su motor subyacente, que puede no estar presente en otros. Por ejemplo, el código de interfaz de usuario de Firefox sus complementos está escrito en XUL, un lenguaje de marcado y un kit de herramientas de interfaz de usuario multiplataforma que solo admite Gecko. La migración a algún otro motor hará que se esfuercen por portar su implementación XUL en el otro motor (lo que puede no ser posible o muy ineficiente debido a su arquitectura) o reescribir toda su interfaz de usuario utilizando algún otro kit de herramientas. Pasar toneladas de tiempo de desarrollo en cualquiera de estos no tiene sentido. Se pueden dar razones similares para otros navegadores también.
8. Razones políticas
La mayoría de los navegadores y sus motores se desarrollan con una filosofía específica, y su API se programa en consecuencia. IE se desarrolló como un “Navegador de Windows” y su tridente de motor de diseño depende tanto de la API de Windows que es casi imposible hacerlo multiplataforma sin una reescritura masiva. La misión de Mozilla es poner a los usuarios en control de su experiencia de navegación, y la extensa API de Gecko (motor de renderizado de Firefox) está dirigida a permitir a los desarrolladores y usuarios modificar casi todos los aspectos de su comportamiento. Webkit tiene una API más extensa para facilitar su fácil integración en otras aplicaciones. Y lo más importante, los usuarios tienen la libertad de elegir uno de estos según sus necesidades. Intentar combinar todo lo bueno en un solo motor causará algo muy hinchado e ineficiente desde el principio, y nadie hará esfuerzos significativos para mejorarlo. El usuario estará mucho, mucho peor en comparación con la situación en la que hay competencia.