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


12

Idealmente, tendríamos diferentes navegadores que admitieran los mismos estándares y el mismo código produciendo el mismo resultado en todos los navegadores.

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


1
"El mismo código produce el mismo resultado en todos los navegadores". - para eso no están los estándares. "El mismo código funciona de manera predecible en todos los navegadores" está más cerca.
tdammers

1
He estado haciendo esta pregunta durante años
billy.bob

1
Desafortunadamente, no ... Sin embargo, he estado esperando esto por mucho tiempo.
Corv1nus

Solo una vez que la web tal como la conocemos está tan muerta como gopher.
dmckee --- ex-gatito moderador

Porque el W3C es una organización terriblemente administrada que no puede seguir el ritmo de la tecnología. Eso es practicamente todo.
Jordania

Respuestas:


18

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

Joel ha escrito un excelente artículo sobre este tema, llamado Martian Headsets .

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

Esos documentos son súper confusos. Las especificaciones están llenas de declaraciones como "Si un cuadro de bloque entre hermanos (que no flota y no está en una posición absoluta) sigue al cuadro de entrada, el cuadro de entrada se convierte en el primer cuadro en línea del cuadro de bloque. Un run-in no puede ejecutarse 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 se ajusta correctamente a la especificación.

Además, hay competencia y evolución en el mercado. Tome autocomplete-boxes por ejemplo. Todos los navegadores principales ya los tienen, 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 admitir, si desea ser competitivo. Otro buen ejemplo para este problema es la incrustación de videos.

Dicho esto: siempre que necesite admitir varios navegadores y entornos diferentes, esté preparado para realizar ajustes.


11

No, porque el W3C en muchas especificaciones otorga la responsabilidad de la implementación de algún lugar a los implementadores de UA (implementadores de navegador). Por qué digo eso, porque generalmente escribo mis artículos directamente desde las especificaciones del 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 la API de geolocalización ), pero no dice cómo deben solicitarlo. Esto podría dar como resultado diferentes tipos de mensajes que se muestran de manera diferente (popup, slide-down, etc.) en diferentes navegadores.

En general, podemos decir que:

Mientras haya una implementación de requisitos pluralista , la consistencia entre los navegadores es difícil de lograr .

Sólo podemos ver navegadores consistentes al W3C imperativamente decir ejecutores del navegador qué hacer.


Buena, Saeed =) +1
Halcón

Gracias @ Falcon. Esto fue algo así como mi pregunta dos. Sin embargo, ese obtuvo muchos votos negativos y eliminó: D. Creo que todos sabemos que, en lo que respecta, IE es el navegador más no estándar.
Saeed Neamati

7

No va a suceder en la forma que describe.

Sin embargo; Si codifica de manera 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 del W3C correctamente, lo suficiente como para crear sitios web independientes del navegador.

Por supuesto, si desea hacer cosas que no están en las recomendaciones, o usar características que se especifican vagamente, o que todavía se implementan de manera incorrecta (o que no se aplican en absoluto), entonces está solo.


1

Es extremadamente improbable que suceda pronto; de hecho, iría tan lejos como para decir que cuando / si sucede, es una buena señal de que el mundo ha avanzado, y simplemente ya no le importan mucho los navegadores web .

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

La conclusión es que la implementación de estándares en los navegadores casi inevitablemente va a la zaga de la invención de nuevos estándares con los que cumplir. La única forma en que los navegadores pueden ponerse al día es si la gente deja 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: este es un conjunto de estándares en constante crecimiento con el que los navegadores se ajustan cada vez más. No hace mucho tiempo, el mejor puntaje que obtuvo cualquier navegador en la prueba Acid3 fue 93/100. Como sucede, esa es exactamente la misma puntuación que IE obtiene actualmente ...


0

Idealmente, tendríamos diferentes navegadores que admitieran los mismos estándares y el mismo código produciendo 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 de hecho ideal. No más duplicación inútil de esfuerzo y no más código específico del navegador. La gente finalmente podría comenzar a construir sobre una base sólida.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.