# 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.

![](/files/-LwrB_W-Cf3RZOO9rd0L)

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*.

![](/files/-LwrB_W1xtftlfWSbIza)

**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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ajgallego.gitbook.io/sencha-touch-2/capitulo_introduccion.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
