¿Por qué no es realista esperar que todos los navegadores admitan los mismos estándares? [cerrado]

12

Lo ideal sería que tuviéramos diferentes navegadores que admitieran los mismos estándares y el mismo código que produjera el mismo resultado en todos los navegadores.

Eso no ha sucedido todavía. ¿Cuáles son las razones por las que?

    
pregunta user928345 23.08.2011 - 13:13

5 respuestas

18

No, no es realista, porque las especificaciones a veces son confusas y todos entienden algo de manera diferente a los demás. Solo somos humanos después de todo. Solo puede haber un verdadero estándar cuando solo hay un proveedor con una versión de un producto.

Joel ha escrito un excelente artículo sobre este tema, llamado Auriculares marcianos .

Creo que lo citaré aquí, ya que esta es la mejor explicación de por qué no veremos esto siempre que haya diferentes proveedores involucrados:

  

Esos documentos son muy confusos. Las especificaciones están llenas de declaraciones   como "Si una caja de hermanos (que no flota y no es   absolutamente posicionado) sigue el cuadro de entrada, el cuadro de entrada se convierte   El primer cuadro en línea del cuadro de bloque. Un run-in no se puede ejecutar en un   bloque que ya comienza con un run-in o que en sí mismo es un run-in ".    Cada vez que leo cosas así, me pregunto cómo alguien correctamente   se ajusta a la especificación.

Además, hay competencia y evolución en el mercado. Tomar cajas de autocompletar, por ejemplo. Cada navegador principal ya los tiene, pero no hay un estándar definido. El W3C es demasiado lento y, para cuando llega el estándar, ya hay 5 implementaciones diferentes con diferentes comportamientos en la naturaleza, que también debe respaldar si desea ser competitivo. Otro buen ejemplo para este problema es la incorporación de videos.

Dicho esto: siempre que tenga que ser compatible con varios navegadores y entornos, prepárese para realizar ajustes.

    
respondido por el Falcon 23.08.2011 - 13:31
11

No, porque el W3C en muchas especificaciones confiere la responsabilidad de la implementación en algún lugar de los implementadores de UA (implementadores de navegador). Por qué lo digo, porque normalmente escribo mis artículos directamente desde las especificaciones de W3C y veo estos casos. Por ejemplo, W3C dice que los navegadores deben tomar el consentimiento del usuario para compartir su posición (a través de API de geolocalización ), pero no es así. Di cómo deben pedirlo. Esto podría dar como resultado que diferentes tipos de mensajes se muestren de manera diferente (emergente, deslizable, etc.) en diferentes navegadores.

En general, podemos decir que:

Mientras exista alguna implementación de requisitos pluralistic , la coherencia entre los navegadores es difícil de lograr .

Solo podemos ver navegadores coherentes cuando W3C imperativamente les dice a los implementadores del navegador qué hacer.

    
respondido por el Saeed Neamati 23.08.2011 - 13:55
7

No va a suceder en la forma que describe.

Sin embargo; Si usted codifica de forma conservadora, no se necesita mucho para escribir código que funcione de manera confiable y predecible en todos los navegadores nuevos. Ya hemos recorrido un largo camino en la última década, incluso IE actualmente implementa un gran subconjunto de las recomendaciones de W3C correctamente, lo suficiente para hacer sitios web que no utilizan el navegador.

Por supuesto, si quieres hacer cosas que no están en las recomendaciones, o usar funciones que se especifican de forma vaga, o que aún se implementan de forma incorrecta (o no se hacen), entonces estás solo.

    
respondido por el tdammers 23.08.2011 - 13:39
1

Es extremadamente improbable que ocurra pronto, de hecho, me atrevería a decir que cuando suceda, si es así, es una señal clara de que el mundo ha avanzado, y simplemente no le importa mucho la web. navegadores más.

El problema es bastante simple: la mayor parte del límite para escribir nuevos estándares para cosas aún más geniales que los navegadores podrían hacer, es la falta de (incluso razonable) conformidad con los estándares existentes. Mirando eso desde una dirección ligeramente diferente, los navegadores de minutos se ajustan a los estándares existentes (o incluso se acercan razonablemente a la conformidad), es casi seguro que al menos algunas personas van a comenzar a pensar "Estaría bien si pudiéramos ...", y luego harán una de dos cosas: implementarán su idea en un navegador y luego trabajarán en la estandarización de la idea (casi inevitablemente antes que cualquier otro navegador). o) trabajarán para escribir un estándar para ese comportamiento, aunque el navegador no lo implemente todavía.

La conclusión es que la implementación de estándares en los navegadores casi inevitablemente está rezagada con respecto a la invención de nuevos estándares con los cuales cumplir. La única manera de que todos los navegadores puedan ponerse al día es si las personas dejan de escribir / diseñar cosas nuevas para que los navegadores hagan.

Al mismo tiempo, me siento obligado a señalar que más o menos lo contrario también es cierto: se trata de un conjunto de estándares en constante crecimiento con el que los navegadores se ajustan cada vez más. No fue hace mucho tiempo, que la puntuación de mejor que cualquier navegador obtuvo en la prueba Acid3 fue 93/100. Da la casualidad de que es exactamente el mismo puntaje que obtiene actualmente IE ...

    
respondido por el Jerry Coffin 23.08.2011 - 19:24
0
  

Idealmente, tendríamos diferentes navegadores que soporten el mismo   Estándares y el mismo código que produce el mismo resultado en todos los navegadores.

Eso plantea la pregunta de por qué necesitamos diferentes navegadores. Si todos hacen básicamente lo mismo, entonces un navegador será suficiente para todos. Eso sería ideal. No más duplicación inútil de esfuerzos ni más código específico del navegador. La gente finalmente podría comenzar a construir sobre una base sólida.

    
respondido por el ThomasX 24.08.2011 - 09:46

Lea otras preguntas en las etiquetas