
Para los que desarrollamos aplicaciones para la web y trabajamos con XHTML y Javascript, durante muchisimos años hemos sufrido los problemas de incompatibilidades entre navegadores. Hasta hace unos 4 o 5 años, había dos grandes luchadores que eran Internet Explorer 4 y Netscape Navigator 4. Con una gestión muy diferente en el uso de capas div vs layers y la gestión de eventos (que todavía se mantiene diferente) parecia que nunca llegarían a unificarse. En los años siguientes, el panorama no terminaba de arreglarse, parecía que por fín se empezaba a hacer caso a la W3C (World Wide Web Consortium) y los navegadores empezaban a tomar , por ejemplo, el estandar de getElementById, que permitía acceder a los diferentes elementos del DOM (Document Object Model) de una forma unificada. La desaparición de los layer de Netscape y la unificación del uso de capas (div) para maquetación parecía hacer más facil el desarrollo de aplicaciones que funcionaran en todos los navegadores. Aun así, la cantidad de navegadores diferentes ha crecido en los últimos años de una forma salvaje complicando de nuevo la compatibilidad: Firefox 3/4b, Mozilla y Netscape 4,6/7, Compuserve 7, Epiphany, Galeon, Camino o Kmeleon, Internet Explorer 4..8/9b, Opera 5..10, Chrome 5/6b, Safari 5.
Conseguir que una aplicación funcione en todos los navegadores es complicado y todo sería más simple si todos se adaptaran al estandar, aunque no es así ni creo que sea por mucho tiempo. Podemos ver incluso con las nuevas versiones de los navegadores que siguen queriendo utilizar sus propias etiquetas o atributos de CSS con lo que si optimizamos para un buscador, la página puede no verse en otros.
A pesar del gran número de navegadores podríamos distinguir varias familias. La de Microsoft IE, la the Getcko (Mozilla, Netscape...), la de Webkit (Safari y Google Chrome) y no se exactamente como clasificar a Opera pero también merece un trato especial por utilizarse en muchas consolas y dispositivos móviles.
La solución a todo esto podría haber sido (y si se esmeran podrá ser) HTML 5 y CSS 3 que permiten nuevas opciones de interactividad, estructura, almacenamiento local,etc. Todavía no está cerrada su definición y en la
web de la especificación indica que todavía no es una versión estable. Pero podemos encontrar pruebas de sus posibilidades en las páginas de Apple Safari (
http://www.apple.com/html5/) y en las de Google (
http://www.html5rocks.com/ ) que por cierto son incompatibles con otros navegadores, y en concreto, porque utilizan algunas características propietarias de webkit.
Como IE siempre ha sido el que tenia todo un poco especial y diferente a los demás y llevaba el San Benito de que probablemente sería el más incompatible de los navegadores. Pero las últimas
pruebas de la W3C demuestran lo contrario. Como puede verse en la tabla siguiente es el más compatible con las nuevas características comparando con las últimas versiones de los navegadores más relevantes.
Aún no se ha hecho una comparativa similar con CSS 3, pero sería interesante ver los resultados. Por lo que parece el estandar sigue algo sin ser utilizado de forma Universal y tendremos que seguir haciendo malabarismos para que las páginas se vean bien en todos los navegadores.
Ver comentarios