Introducción

Sencha Touch es un framework para el desarrollo de aplicaciones móviles centrado en WebKit (base de los navegadores web Safari, Google Chrome, Epiphany, Maxthon, y Midori entre otros). Fue el primer framework basado en HTML5 y JavaScript, además utiliza CSS3 para realizar animaciones. La apariencia de las aplicaciones desarrolladas es similar al de las aplicaciones nativas en Android, BlackBerry e iOS. Sencha Touch está disponible tanto en versión con licencia comercial como con licencia Open Source GPL v3.

Una de las principales ventajas de Sencha Touch es la cantidad de controles IU o elementos de interfaz que incluye, todos ellos muy fáciles de usar y personalizar. Ha sido diseñado específicamente para dispositivos táctiles por lo que incluye una amplia gama de eventos táctiles o gestures, que comúnmente son usados en este tipo de dispositivos. Además de los eventos estándares como touchstart o touchend, han añadido una extensa lista de eventos como tap, double tap, tap and hold, swipe, rotate o drag and drop.

Interoperabilidad con PhoneGap

Sencha Touch funciona perfectamente junto a PhoneGap (ver capítulo correspondiente), por lo que puede ser usado para distribuir nuestras aplicaciones en la App Store o en Android Market. Se basa en el uso de un mecanismo que empotra nuestra aplicación en una shell nativa de la forma más sencilla posible. Además, gracias a PhoneGap podemos hacer uso de la API nativa del dispositivo para acceder a la lista de contactos, la cámara y muchas otras opciones directamente desde JavaScript.

Integración de datos

Al igual que con ExtJS (biblioteca de JavaScript para el desarrollo de aplicaciones web interactivas), Sencha Touch implementa el patrón de diseño MVC en el lado del cliente y nos ofrece una API rica y poderosa para manejar flujos de datos desde una increíble variedad de fuentes. Podemos leer datos directamente a través de AJAX, JSON, YQL o la nueva capacidad local storage de HTML5. Podemos enlazar esos datos a elementos específicos de nuestras vistas, y utilizar los datos sin conexión gracias a los almacenes locales.

Sencha Touch vs. JQuery Mobile

A continuación se enumeran las principales diferencias entre Sencha Touch y JQuery Mobile:

Sencha Touch:

  • Tiene una curva de aprendizaje mucho mayor y necesita una mayor comprensión del lenguaje de programación JavaScript, pero gracias a esto proporciona una API mucho más potente.

  • Dispone de un mayor número de controles para la interfaz de usuario, así como efectos de transición y animaciones entre páginas mucho más personalizables.

  • Más rápido en mayor número de dispositivos móviles (en Android a partir de la versión 2.1). El comportamiento y velocidad de Sencha Touch es mucho mejor que el de otros frameworks, a excepción del tiempo de carga inicial, pues JQuery Mobile pesa menos.

  • Al estar basado en ExtJS (usan el mismo núcleo), es muy robusto y potente, además de ser un framework ampliamente probado y usado (también debido a que fue uno de los primeros en aparecer).

  • Al igual que en ExtJS, y en comparación con JQuery Mobile, se escribe mucho código. Esto podría ser tomado como un pro o como un contra. Es bueno porque indica una mayor potencia de configuración y personalización, pero por contra conlleva más tiempo de desarrollo y de aprendizaje.

JQuery Mobile:

  • Muy sencillo de aprender y de implementar aplicaciones.

  • Es necesario escribir muy poco código (y casi no se usa JavaScript) para lograr aplicaciones móviles muy interesantes. En lugar de orientarse a la programación JavaScript, JQuery Mobile se centra en usar etiquetas HTML con atributos definidos por el framework.

  • No dispone de muchos controles para el diseño de la interfaz.

  • Tiene una ejecución algo más lenta que Sencha Touch.

  • Al estar basado en un framework muy desarrollado, como es JQuery, funciona correctamente en un mayor número de dispositivos móviles y de navegadores, como Symbian, Android, iOS, Blackberry, Window Phone 7 o WebOS.

Ambos frameworks son buenas opciones para el desarrollo de aplicaciones móviles. Los dos utilizan HTML5, JavaScript e integran la tecnología AJAX. La decisión dependerá de las necesidades de la aplicación a desarrollar. En principio, Sencha Touch es más apropiado para aplicaciones grandes, que necesiten de mayor personalización o configuración y que vayan a hacer un mayor uso del lenguaje de programación JavaScript. JQuery Mobile se suele utilizar para aplicaciones en las que se necesite una interfaz de usuario que conecte directamente con un servidor y que haga un menor uso de JavaScript.

Last updated