Las aplicaciones se ejecutan directamente en el dispositivo. Se pueden desarrollar como nativas, web o híbridas.
Aplicaciones Nativas
Una aplicación nativa está programada en un lenguaje específico con APIs propias de la plataforma. Se suele comprar, descargar y actualizar a través de la tienda de aplicaciones específica de la plataforma. Las aplicaciones nativas suelen ofrecer mejor rendimiento, integración más completa y la mejor experiencia de usuario en comparación con otras opciones; sin embargo, el desarrollo nativo suele ser también la opción de desarrollo más compleja.
Aplicaciones Web
Una aplicación web (web-app/web-based) se basa en HTML5, JavaScript y CSS, y no depende de ninguna tienda de aplicaciones. Es un sitio almacenado localmente en el móvil que trata de emular el look-and-feel (aspecto y comportamiento) de una aplicación. Un famoso ejemplo de aplicación web es la del Financial Times, que abandonó la tienda de aplicaciones con el fin de evitar compartir los ingresos de los suscriptores; en cambio, la aplicación web basada en Facebook iOS fue puesta al día como aplicación nativa para mejorar dramáticamente su rendimiento y usabilidad. Hay frameworks para aplicaciones web que permiten construir un contenedor nativo para tales aplicaciones de manera que puedan ser publicadas en las tiendas de aplicaciones, por ejemplo Phonegap.
Aplicaciones Híbridas
Existe una exagerada controversia en torno a si las aplicaciones nativas son el futuro o si lo son las aplicaciones web. Para muchos de los desarrolladores de aplicaciones móviles esta controversia ya no es relevante, porque la aproximación híbrida al desarrollo de aplicaciones se ha convertido en algo bastante común: una aplicación puede utilizar código nativo para incrementar su rendimiento e integrarse con la plataforma, mientras que utiliza una webview con contenido basado en HTML5 para otras partes de dicha aplicación. Una aplicación híbrida hace uso tanto de las tecnologías nativas como las web. Partes de ella se comportarán como una aplicación nativa, mientras que otras se ejecutan sobre tecnologías web y pueden utilizar la conexión a Internet para ofrecer contenidos actualizados y funcionalidades sin necesitar de publicar actualizaciones en las tiendas de aplicaciones. Mientras que esto podría ser visto como un inconveniente, el uso de las tecnologías web permite a los desarrolladores mostrar contenido actualizado sin tener que volver a subir la aplicación a las tiendas de aplicaciones. El desafío clave es combinar las capacidades únicas de tecnologías nativas y web para crear una aplicación verdaderamente fácil de usar y atractiva.
Enough Software