Como los que me sufrís todos los días ya sabéis, últimamente me esta dando muy fuerte por el desarrollo de aplicaciones web adaptadas tanto para PC como para móviles [Responsive design] y por los templates de Javascript.
En realidad no creo que haya alternativa a «pringarse» con estos dos temas, ya que el futuro (bueno, en realidad el presente) del desarrollo de front pasa por su dominio. Y si, ya que que mi propia web necesita un rediseño para adaptarse a los móviles, pero tranquilidad, todo llegará.
Hoy quiero hablar de Zepto.js, un viejo conocido que ya he use hace tiempo en algún proyecto móvil, y que ahora he querido recuperar para un nuevo proyecto que estamos desarrollando en Paradigma Tecnológico para una importante cadena hotelera.
Aunque es una aplicación pensada principalmente para dispositivos móviles, debe de ser también usable desde navegadores de escritorio (Chrome, Firefox, Explorer,…).
Este asunto del soporte para navegadores me ha echado atrás en alguna ocasión para optar por Zepto,js como framework Javascript, pero resulta, que las cosas han cambiado, y ahora Zepto.js no solo da soporte a navegadores webkit, si no que también soporta Firefox, Opera, Blackberry,…
Esto solo nos deja a nuestro «querido» Explorer como navegador no soportado. Es cierto que esto es un problema, pero como todo problema tiene una solución.
Ante este problema hay varias alternativas:
- Descartar Zepto.js y optar por jQuery Mobile: El soporte de Navegadores y entornos que tiene jQuery Mobile es muy amplio, pero para mi es una mala alternativa, ya que el peso de jQuery + jQuery Mobile me parece un gran impedimento para el desarrollo de aplicaciones móviles que carguen rapido en los dispostivos con las velocidades de conexion que disfrutamos hoy en día.
- Aprovecharse de que Zepto.js y jQuery usan la misma sintaxis para usar un «plan B» en el caso de navegadores no soportados por Zepto.js: Esta ha sido mi elegida. Es muy sencillo el cargar jQuery solo en los casos en los que zepto.js no sea soportado. De este modo solo el usuario que use un navegador no estándar deberá «sufrir» los tiempos de carga de la librería jQuery.
El código para cargar jQuery (o hacer lo que se quiera) en caso de no soportar Zepto.js es:
if ('__proto__' in {}) { // IS NOT IE } else { // IS IE }
Y vosotros ¿Qué tal vuestra experiencia con Zepto.js? ¿ Preferís algún otro framework Javascript para móviles?