Cross browsing, qué es y cómo dominarlo


¿Cuántas veces has desarrollado una web y algo no funcionaba o no se veía correctamente en un navegador? Estos problemas de compatibilidad entre navegadores son los que podemos corregir y reducir haciendo uso de algunas recomendaciones muy sencillas. Antes de nada veamos que es cross-browsing y cuando este término se utiliza correctamente.

¿Qué es cross browsing?

Se dice que una aplicación web es cross browser cuando se visualiza y funciona correctamente en todos los navegadores.

El término cross-browsing se utiliza para denominar a aquellas soluciones o conocimientos especificos del desarrollo de aplicaciones cross-browser. Para que una solución sea cross browsing hay que tener en cuenta que funciona correctamente tanto la parte visual como la parte funcional.

Un desarrollador web con conocimientos cross-browsing debe tener experiencia en desarrollo de aplicaciones soportadas en multiples navegadores y también deberá tener conocimiento de los estandar de los principales lenguajes de programación frontend (principalmente html, css y javascript). En muchas ofertas de trabajo de programadores o analistas frontend puedes encontrar que uno de los requisitos de la oferta es tener conocimientos cross browsing. Es imprescindible que cualquier empresa que desarrolla aplicaciones web cuente con desarrolladores con experiencia en desarrollar aplicaciones para todos los navegadores del mercado.

Cross browser vs multi browser

La diferencia entre una aplicación web cross-browser y una aplicación web multi-browser es que la primera se visualiza y funciona correctamente en todos los navegadores. Se diferencia de multi-browser, por que una aplicación es multi-browser cuando da soporte específico a varios navegadores, pero no a todos.

¿Son mejores las soluciones cross-browser vs multi-browser?

Evidentemente, si podemos corregir un problema en todos los navegadores mejor que mejor. Lo he ocurre es que cuanto más antiguo es el navegador más complicado es que la solución funcione. En muchas ocasiones es imposible conseguir que una misma solución funcione en todos los navegadores y es necesario desarrollar dos soluciones diferentes y aplicar cada una en una serie de navegadores diferentes.

En realidad, casi todas las webs que dicen ser cross-browser en realidad son multi-browser, pero dan soporte a tantas versiones de navegadores diferentes que se aproximan mucho a ser cross-browser. Hay versiones tan antiguas y que utilizan tan pocos usuarios que no tiene sentido darles soporte. La mejor forma para saber a que navegadores necesitas dar soporte es averiguar que navegadores utilizan los usuarios que visitan tu web y dar soporte a los más utilizados (habitualmente se da soporte a los navegadores utilizados por más de 5-10% de los usuarios).

Actualmente, salvo algunas excepciones, solo tiene sentido dar soporte a:

  • Última versión estable de Firefox.
  • Última versión estable de Chrome.
  • Últimas dos versiones de Safari.
  • Internet explorer 8, 9, 10, 11 y Edge.

El resto de versiones de estos navegadores y el resto de navegadores son utilizado por un porcentaje muy bajo de usuarios. Por este motivo, suelen implementarse soluciones multi-browsing (que solo dan soporte a estos navegadores) y se les suele llamar soluciones cross-browsing ya que, aunque sea incorrecto llamarlas así, en la práctica funcionan en todos los navegadores (en todos los navegadores a los que tiene sentido dar soporte).

cross-browsing-web

Recomendación para el desarrollo de aplicaciones cross-browsing:

Cuando programes un nuevo desarrollo para una aplicación web intenta que la solución siga todos los estandar posibles. Si por ejemplo, tu solución sigue el estandar HTML5, CSS3 y ECMAScript5 se verá bien y funcionará correctamente en las últimas versiones de todos los navegadores modernos actuales.

Si tu solución no funciona correctamente en algún navegador, sigue los siguientes pasos:

  1. Intenta averiguar cual es el motivo por el que no funciona ¿Tu solución no cumple el estandar? ¿El navegador es obsoleto y no soporta el estándar?.
  2. Planteate si realmente es necesario dar soporte a ese navegador.
  3. Si es necesario dar soporte, revisa tu solución y mira a ver si es posible encontrar una solución que sea correcta en todos los casos.
  4. Solo en el caso de que no encuentres una solución correcta en todos los casos implementa una solución especifica para el navegador/es que no soportan la solución estándar.

Un error habitual de los desarrolladores junior que aún no han conseguido suficiente experiencia es ir desarrollando una solución para cada navegador que se van encontrando que tiene errores. Al final el código está lleno de muchas soluciones especificas para cada navegador, es un código muy dificil de mantener y que provoca que hacer un cambio en la web sea mucho más costoso (al tener que realizar el cambio en cada solución).

Más del 90% de los problemas cross browsing pueden resolverse con una solución, menos del 9% necesitan dos soluciones y solamente casos muy extremos (menos del 1%) necesitan más de dos soluciones.


Nota del autor: Busco programadores y diseñadores freelance para colaborarme con proyectos. Mostrame tus trabajos desarrollados, escribime!


Te agradaría derivar tu proyecto a un programador con años de experiencia?

Ing. Diego Angelini.
Autor de BlogdePHP.com
Programador Web Freelance






Porfolio de proyectos
  • Hospeda me now im

    Se precisar de hospedagem hospedameu.site planos anuais e baratos