Navegadores
Jorge López
3 Comentario Las innovaciones de Internet Explorer
Para bien o para mal, Internet Explorer ha sido en parte responsable de como conocemos el desarrollo web hoy en día. En las primigenias versiones del navegador, se aplicaron una serie de innovaciones que se han convertido en estándares, e incluso algunas han terminado en la especificación de HTML5. Esto no es nada raro, de hecho es lógico que lanzando un montón de nuevas características con cada versión, unas pocas de ellas salgan bien y sean aceptadas.
A mediados de los 90, Microsoft vio potencial en la web y lanzó la primera versión de Internet Explorer, lo que a la postre desencadenó una guerra entre navegadores. La competencia fomentó la innovación, pero se llegó al punto de que cada navegador implementaba capacidades propias sin tener en cuenta las recomendaciones del w3c. El desarrollo web se polarizó tanto, que durante un tiempo las páginas tuvieron que optimizarse para que se visualizaran correctamente en cada navegador.
Algunas de estas capacidades propietarias calaron tan hondo que abrieron camino al desarrollo web actual, veamos algunas de ellas:
DOM
El DOM proporciona a los desarrolladores acceso a cualquier parte de una página web a través de JavaScript. Internet Explorer 3 Netscape y 3 sólo se permitían el acceso mediante JavaScript a los elementos de formulario, imágenes y enlaces. Internet Explorer 4 mejoró la situación al permitir el acceso de todos los elementos de la página a través de document.all, (Netscape tenía algo parecido con document.layers).En muchos aspectos, document.all fue la primera versión de document.getElementById (). También introdujo la posibilidad de obtener una lista de elementos mediante el nombre de una etiqueta a través de document.all.tags (), versión primigenia del document.getElementsByTagName ().
Explorer 4 también presentó innerHTML, resultando tan útil, que se ha estandarizado en HTML5 y es ampliamente soportado por los navegadores. Por lo tanto Internet Explorer fue el primero que permitió dicho acceso programático a los elementos de la página.
En la misma línea, Internet Explorer 4 introdujo insertAdjacentHTML(), una forma de insertar texto HTML en un documento. Éste método costó un poco más, pero también se aprobó para HTML5 y es ampliamente soportado por los navegadores.
Eventos
Al principio, no había sistema de eventos de JavaScript. Tanto Netscape como Microsoft tomaron un camino diferente para implementarlos. Netscape aportó el event capturing, la idea de que un evento se libera primero en la ventana, y luego en el documento, y así sucesivamente hasta que por fin alcanzar el objetivo previsto.
Microsoft tomó el camino contrario y encaró el problema con el event bubbling o burbujeo de eventos. De este modo el evento debe comenzar en el objeto y luego disparar contra los padres, y así sucesivamente hasta el documento.
<iframe>
Los marcos fueron introducidas por Netscape 2 incluyendo <frameset>,<frame> y <NOFRAMES>. La idea era proporcionar un marco a los elementos de navegación que se repetían en todas las páginas, para que solo se cargara una vez. Esto hacía que la transferencia de datos del servidor fuera menor, minimizando el tiempo de carga de una página.
En Internet Explorer 3 Microsoft añadió su propia etiqueta de marco, el <iframe>. Esta etiqueta permitía incrustar una página dentro de otra. Inicialmente, este fue uno de los campos de batalla más importantes entre Internet Explorer y Netscape.
El <iframe> empezó a ser más popular, ya que era más productivo. Netscape 4 introdujo <ilayer> con características muy similares a <iframe>. Ambas etiquetas fueron estandarizadas en HTML 4, pero la etiqueta <ilayer> se quedó obsoleta y cayó en desuso. Finalmente <iframe> se ha aprobado para HTML5.
XML y Ajax
Aunque actualmente XML no se utiliza tanto como muchos pensaban, Internet Explorer también abrió el camino al soporte XML. Internet Explorer 5 fué el primer navegador que soporta en cliente el análisis de XML y XSLT. Por desgracia, lo hizo a través de objetos ActiveX que representan los documentos XML y los procesadores XSLT. La gente de Mozilla claramente pensó que había algo allí, porque ellos inventaron una funcionalidad similar en la forma de DOMParser, XMLSerializer y XSLTProcessor. Los dos primeros son ahora parte de HTML5. Además antes de que el término AJAX fuera acuñado, Explorer introdujo XMLHttpRequest en JavaScript.
CSS
Internet Explorer 3, lanzado en Agosto de 1996, fue el primer navegador comercial en dar soporte a CSS. Admitía de manera más o menos fiable la mayoría de las propiedades de color, fondo, fuente y texto, pero no implementa casi nada del modelo de caja.
En ese momento, Netscape era bastante escéptico con respecto a las hojas de estilo, y estaban desarrollando una propuesta alternativa, las Hojas de Estilo de JavaScript (JSSS), que pasaban por encima de las CSS. Esta propuesta utilizaba JavaScript para definir los estilos, por lo que si se desactivaba JavaScript, CSS no funcionaba en Netscape 4. Explorer 4 se acercó mucho más a la interpretación correcta de la especificación, aunque sin cumplirla completamente.
Además Explorer aportó algunas propiedades que han terminado siendo estandarizadas para CSS3 y de hecho actualmente son soportadas por la mayoría de los navegadores. Algunas de ellas son las propiedades overflow-x y overflow-y, word-break o word-wrap que aparecen por primera vez en Internet Explorer 5 o text-overflow, que apreció con Internet Explorer 6.
Muchos de los efectos visuales CSS3 ya estaban disponibles en Internet Explorer 4, mediante los vilipendiados Filtros. Los filtros son trozos de código propietario que se introducen en las hojas de estilo y que se valen de DirectX para mostrar efectos visuales complejos. Eran incompatibles con el resto de navegadores, su sintaxis era terrible, los efectos se veían feos, e incluso no interactúan demasiado bien entre sí. Pero recordemos que entre la infinidad de efectos, en 1997 con estos filtros se podían hacer cosas como:
- Generación de gradientes.
- Creación de elementos semitransparentes.
- Rotación de elementos.
- Aplicación de sombras a elementos html.
- Además, Internet Explorer 4 tenía una característica llamada transiciones, que permitía hacer animaciones básicas.
Hay que reconocer que con la tecnología de la época, fueron capaces de dotar al navegador de unas capacidades, cuyo soporte se está empezando a extender ahora, 15 años más tarde.
Otras contribuciones de Internet Explorer
- Drag and Drop: esta API se apareció por primera vez en Internet Explorer 5 y ha pervivido con muy pocos cambios hasta HTML5. La principal diferencia es la aparición del atributo draggable. Aparte de eso, la API refleja fielmente el original y es ahora compatible con la mayoría de navegadores.
- Los Faviconos también fueron invención de IE, teniendo soporte desde la versión 5.
- El Doctype se creó para Internet Explorer 5 versión Mac. De este modo los desarrolladores pudieron crear páginas con código estandarizado sin que les reventara el navegador. El modo no estándar se definió como quirks mode. Pronto, todos los demás navegadores lo adoptaron.
- DHTML fue introducido para Internet Explorer 4, lo que permitió que las páginas web cambiaran dinámicamente su contenido mediante JavaScript.
Es importante aclarar que Microsoft no tuvo ningún interés por estandarizar estas innovaciones, dejando que la mayoría de ellas fueran funcionalidades exclusivas de su navegador. Esto supuso que durante un tiempo, maquetar para Internet Explorer, fuera la manera “estándar” de crear sitios.
Cuando Internet Explorer 6, alcanzó una cuota de mercado del 96%, se detuvo abruptamente el desarrollo de cualquier nueva funcionalidad o innovación. A partir de ese momento todas las versiones de Explorer han ido tecnológicamente detrás de la competencia. Actualmente con su posición dominante amenazada, Microsoft se está preocupando de desarrollar navegadores medianamente competitivos y cada vez más respetuosos con los estándares. ¿Será la versión 10 de Internet Explorer la que rehabilite el prestigio de Microsoft entre los desarrolladores y usuarios?, queda poco tiempo para averiguarlo.
Información Bitacoras.com…
Valora en Bitacoras.com: Para bien o para mal, Internet Explorer ha sido en parte responsable de como conocemos el desarrollo web hoy en día. En las primigenias versiones del navegador, se aplicaron una serie de innovaciones que se han convertido……
Efectivamente IE aportó mucho a la navegación tal y como la conocemos hoy en día, en realidad yo no creo que le hayan ganado, mas bien se dejó ganar.
Fue una lastima que IE nunca se apegara a los estandares de la W3C, siendo siempre un problema para los desarrolladores web, teniendo forzosamente que diseñar para este navegador en especifico por ser el de mayor uso cuando en todos los demas funcionaba de manera perfecta.
El ir cayendo en picada es el costo de no adaptarse a los estandares.