Llegamos a ustedes gracias a:



Reportajes y análisis

Aplicaciones móviles nativas versus HTML5 versus híbridas

Los pros y los contras

[02/11/2015] A continuación tenemos vistas breves de los tres métodos principales de desarrollo de aplicaciones móviles. La siguiente lista incluye una breve descripción, para qué es más adecuada, sus pros y sus contras, y una lista de las herramientas de desarrollo para la misma.

Desarrollo de aplicaciones nativas

En el desarrollo de aplicaciones nativas, las aplicaciones móviles se escriben para plataformas móviles específicas, incluyendo iOS, Android y Windows Phone. Ellas viven en el dispositivo móvil y se escriben normalmente utilizando herramientas de desarrollo del fabricante de la plataforma. El código no se puede volver a utilizar de una plataforma a otra.

Más adecuadas para

  • Aplicaciones de cara al consumidor.
  • Juegos.
  • Gráficos- y aplicaciones multimedia - pesadas.

Pros

  • Por lo general tiene un mejor desempeño que las aplicaciones basadas en la Web o las aplicaciones híbridas, sobre todo para los juegos.
  • Tienen acceso a todos los sensores, hardware, contactos y notificaciones en un dispositivo.
  • Son distribuidas a través de una tienda de aplicaciones pública -la App Store de Apple, Google Play, y la tienda de Windows.
  • Una vez instalada, el ícono se hace inmediatamente visible en la pantalla principal del dispositivo.

Contras

  • Escasez de desarrolladores.
  • Es caro construir múltiples aplicaciones, una para cada plataforma.
  • Gestionar bases de código separado para cada plataforma es caro y requiere mucho tiempo
  • Largo tiempo de desarrollo.
  • Las versiones entre plataformas pueden no estar sincronizadas debido a diferentes tiempos de desarrollo.
  • La distribución de aplicaciones puede ser lenta debido al tiempo que tarda en pasar por el proceso de aprobación de cada tienda de aplicaciones.

Herramientas de desarrollo

Aplicaciones Web construidas con HTML 5, CSS y JavaScript

Las aplicaciones web están construidas con HTML 5, CSS y JavaScript. Se accede a ellas a través del navegador de un dispositivo móvil, y son interactivas, pero no pueden acceder a todas las funciones de un dispositivo móvil, como la lista de contactos y los sensores. Necesitan ser construidas solo una vez e implementarse en un servidor Web.

Más adecuadas para ...

  • Aplicaciones empresa - empresa y empresa - empleado, servicios y recurso internos de la empresa.

Pros

  • Se construyen utilizando estándares Web, pero tiene que ser diseñada como una aplicación "responsiva".
  • Las empresas pueden utilizar a los desarrolladores web existentes para crearlas.
  • Las aplicaciones menos costosas de construir.
  • Solo es necesario mantener una única base de código.
  • Puede ser revisada, actualizada y desplegada rápidamente.

Contras

  • Puede ser que la interfaz no se parezca a la de las aplicaciones nativas estándar.
  • El rendimiento, sobre todo en los juegos y en ocasiones en los gráficos y multimedia, va a la zaga de las aplicaciones nativas.
  • No están disponible en las tiendas de aplicaciones, donde la gente a menudo busca nuevas aplicaciones.
  • Puede que no sea capaz de acceder a todos los sensores, hardware y características tales como notificaciones en un dispositivo.
  • El ícono no está en la pantalla principal de un dispositivo a menos que el usuario lo ponga deliberadamente allí.

Herramientas de desarrollo

Cualquier herramienta de desarrollo utilizada para crear páginas web con HTML 5, JavaScript y CSS se puede utilizar para crear aplicaciones Web móviles. Algunas herramientas populares que podemos mencionar:

  • Angularjs, un marco de aplicaciones web de código abierto mantenido por Google.
  • Ember.js, un marco de aplicaciones web JavaScript de código abierto.
  • React, una biblioteca de JavaScript de código abierto inicialmente construida y ahora mantenida por Facebook y otros.
  • Backbone.js, una biblioteca JavaScript.
  • JQuery, una biblioteca JavaScript.
  • Meteor, un marco JavaScript de código abierto.
  • Bootstrap y Bootstrap Javascript, un marco CSS a menudo considerado como "enfocado al móvil", con énfasis en la "capacidad de respuesta".

Aplicaciones híbridas

Las aplicaciones híbridas se construyen utilizando HTML 5, CSS y JavaScript, a continuación; y luego les coloca envolturas que las hace ejecutarse como aplicaciones nativas en diferentes plataformas móviles. Ellos tratan de combinar lo mejor de las aplicaciones nativas y las aplicaciones basadas en la Web, utilizando el desarrollo Web estándar, pero permitiendo que las aplicaciones resultantes se ejecuten como aplicaciones nativas como en los dispositivos.

Más adecuadas para ...

  • Aplicaciones empresa - empresa y empresa - empleado.
  • Servicios y recursos internos de la empresa.
  • Las empresas que desean implementar aplicaciones nativas en múltiples plataformas.

Pros

  • Se construyen utilizando estándares web; requieren un código especial para acceder a las funciones del teléfono a través de una API.
  • Las empresas pueden utilizar a los desarrolladores web existentes para crearlas.
  • Pueden ser revisadas, actualizadas e implementadas rápidamente.
  • Se ejecutan como aplicaciones nativas en cada plataforma diferente.

Contras

  • La interfaz puede no parecerse a la de aplicaciones nativas estándar.
  • El rendimiento, sobre todo en los juegos y algunas veces en los gráficos y multimedia, va a la zaga de las aplicaciones nativas.
  • En general, pueden acceder a todos los sensores y hardware de un dispositivo, pero puede haber algún tiempo de retraso en torno al soporte de las nuevas características.
  • Las distintas bases de código de la aplicación nativa "shell" pueden necesitar mantenimiento.
  • Los desarrolladores necesitan utilizar software adicional para convertir aplicaciones web en aplicaciones nativas.

Herramientas de desarrollo

Esta categoría incluye la más amplia variedad de herramientas de desarrollo, que van desde las que toman código Web existente y lo convierten en aplicaciones nativas, para completar los entornos de desarrollo. A continuación, mostramos solo una pequeña muestra de lo que está disponible.

  • Apache Cordova, una plataforma de código abierto que toma aplicaciones Web móviles con HTML 5, CSS y JavaScript, y que construye aplicaciones móviles desde ellas.
  • Adobe Phone Gap, una variante de Apache Cordova de Adobe.
  • Alfa Anywhere, un entorno de desarrollo que permite a las personas construir aplicaciones Web y también implementarlas como aplicaciones nativas con poca experiencia en programación, pero permite que los programadores experimentados utilicen sus habilidades de codificación.
  • Ionic Framework, un marco centrado en la interfaz de usuario, que trabaja con Angularjs y Cordova para construir aplicaciones nativas de aplicaciones web.
  • OutSystems, permite que la gente construya aplicaciones Web y aplicaciones nativas utilizando herramientas visuales.
  • Kony, una plataforma que ofrece una amplia variedad de herramientas para crear aplicaciones nativas para diferentes plataformas.
  • Xamarin, una plataforma de desarrollo multiplataforma para la creación de aplicaciones nativas.
  • Appcelerator, es una plataforma de desarrollo cruzada que le permite escribir aplicaciones en JavaScript, y luego construir aplicaciones nativas en base a ellas.