¿Cuál es el mejor marco para crear aplicaciones móviles con HTML, CSS y JavaScript?

ACTUALIZACIÓN (julio de 2017) : una palabra – ReactNative. Rendimiento muy superior al de Ionic.

ACTUALIZACIÓN (mayo de 2015) : Ionic ahora también ofrece una plataforma de notificación push gratuita con configuración de integración simple. También ofrecen análisis de aplicaciones todos rastreados y vistos a través de su cuenta Ionic. También está la aplicación Ionic View extremadamente útil: http://view.ionic.io/ que se puede utilizar para probar rápidamente su aplicación en iOS o Android sin crear su aplicación con certificados, etc. ¡Fácil!

AngularJS + Ionic Framework + Cordova / Phonegap = una pila tecnológica para crear aplicaciones nativas HTML, CSS, JS con un rendimiento similar al nativo.

Si puede controlar el proceso de diseño, hemos encontrado que la pila tecnológica anterior es extremadamente liviana, pero poderosa para crear algunas aplicaciones bastante complejas. Phonegap API ahora se integra con casi todo lo que necesitaría para crear una aplicación nativa: http://docs.phonegap.com/en/1.2.0/

Aquí hay un ejemplo de una aplicación algo más simple creada con la pila anterior: tenga en cuenta lo rápido que es (también hay una versión de Android): https://itunes.apple.com/us/app/…

Desde mi experiencia, sería muy cuidadoso con HTML Mobile Framework. Tienden a ser pesados ​​y requieren muchos elementos CSS / HTML.

Mi recomendación es usar jQuery y el kit web de destino (iOS y Android) e intentar optimizar su componente DOM y UI tanto como sea posible. Luego, puede degradarse para otros navegadores.

Si está creando una aplicación fuera de línea, puede usar un MVC. Construí uno (Brite https://github.com/BriteSnow/brite ) que es un marco MVC / MVP sobre jQuery.

De todos modos, la regla es que cuanto menos marco utilices, mejor serás. Por lo tanto, escoja con cuidado y asegúrese de que no sean fregadero de cocina.

A menudo, un componente personalizado es mucho mejor que uno genérico grande que es difícil de personalizar y requiere demasiados recursos.

Los marcos para evitar IMO son: jQueryMobile, jQueryUI, SenchaTouch, Sencha …

Manténgalo simple y liviano, y evite los marcos que requieren pases dobles (es decir, agregar al DOM y atraviesa el DOM para activar los componentes).

También mire un documento de arquitectura HTML5 que escribí: Arquitectura de aplicaciones empresariales HTML5

Realmente depende de qué camino quieras seguir:

a. aplicación nativa de la tienda de aplicaciones o
si. Una aplicación web a través de Safari.

Para el primero, PhoneGap ( http://www.phonegap.com/ ) es una biblioteca muy buena que le permite codificar toda la aplicación en HTML, CSS, Javascript y envolverla en una aplicación C objetiva que se puede enviar (y aprobar). ) a la tienda de aplicaciones.

Para este último, puede ser útil probar XUI ( http://xuijs.com/ ) y jQTouch ( http://www.jqtouch.com/ ). Ambos se basan en jQuery, pero jQTouch viene con los componentes de la interfaz de usuario (la apariencia de una aplicación nativa), mientras que XUI se concentra más en el Javascript. En mi experiencia, XUI ha sido más fácil de poner en funcionamiento muy rápidamente (y tiene una huella de tamaño pequeño).

Un consejo, si está pensando en la primera opción, considere seriamente construirlo en el Objetivo C nativo si necesita crear una aplicación más complicada que un simple visor de información. Los inconvenientes de usar API a través de shims (que es básicamente lo que es PhoneGap) y no tener acceso a los controles nativos de la interfaz de usuario, junto con los problemas de rendimiento dan como resultado una experiencia de baja calidad muy general para el usuario.