Introducción al mundo App y desarrollo móvil – Frameworks y librerías para apps híbridas

Home / Factorsim / Introducción al mundo App y desarrollo móvil – Frameworks y librerías para apps híbridas

Continuamos con la serie de posts en los que te ayudamos a adentrarte en el mundo de las apps. Si no leíste nuestro anterior post, lo tienes disponible aquí.

Hoy vamos a hablar de los Frameworks y librerías disponibles en la red para desarrollar apps híbridas.

La creación de una app nativa solo requiere del entorno de desarrollo específico del SO, xCode para iOS, por ejemplo. En cambio, las apps híbridas o apps web basadas en HTML5 disponen de una gran variedad de herramientas (frameworks y librerías). El lenguaje de programación predominante en todas ellas es el Javascript. A pesar de haber muchas alternativas y de que no dejan de aparecer nuevas opciones, algunas tienen o están ganando popularidad dentro de la comunidad de desarrolladores. Además, es importante recordar que la elección de la herramienta a utilizar determina el coste y la futura escalabilidad del proyecto. Estas herramientas pueden ofrecer uno o varios de los siguientes puntos:

  • Front-end App UI Framework, que maneja el look and feel y las interacciones de usuario.
  • Javascript Framework.
  • Base o contenedor nativo con métodos de acceso a hardware.

A continuación describimos las herramientas y tendencias más relevantes que existen actualmente en este campo en el mercado: Ionic Framework y AngularJS.

 

Ionic Framework y AngularJS

ionic_angularjs

La irrupción de Google dentro del desarrollo de Javascript Frameworks no se hizo esperar y lanzó AngularJS. Este framework dota de mayor organización al  código, incluyendo el patrón MVCMVVM. Por sí solo, AngularJS no es más que un Javascript Framework, lo que significa que necesita de un Front-end App UI Framework para desarrollar la app. Ahí entra en juego Ionic, una interfaz de usuario diseñada especialmente para AngularJS. Esta conjunción está ganando mucha popularidad, pero no hay que olvidar que, de cara al encapsulamiento en app, se necesita una base o contenedor nativo con métodos de acceso a hardware. Cabe recordar que Ionic solo dispone de soporte para iOS y Android. También hay que tener en cuenta las versiones mínimas que requiere para funcionar sin problemas: iOS 6+ y Android 4+ (con algo de soporte para 2.3). De todos modos, en su hoja de ruta tienen previsto incluir Windows Phone y FirefoxOS. Un ejemplo de este tipo de desarrollo se puede ver en la app Sworkit.

 

APACHE CORDOVA (PHONEGAP)

phonegap

Una app híbrida siempre va a necesitar de un contenedor nativo, una herramienta que incluya una base con método de acceso a hardware para poder ser instalada en uno o más OS. Un ejemplo claro de este tipo de herramienta es Apache Cordova (Phonegap), un software de código abierto para el encapsulamiento de apps. Dispone de una gran comunidad y soporte para los siguientes SO:

  • Amazon – fireos
  • Android
  • iOS
  • Blackberry10
  • Firefox OS
  • Ubuntu
  • Windows Phone 8
  • Windows 8
  • Tizen

La gran baza de Phonegap es la posibilidad de integrar plugins de terceros. Esto permite obtener features creadas por otros usuarios que Phonegap no ofrece de manera nativa como pueden ser acceso a hardware NFC, acceso al sistema de compartir del SO, reproductor de vídeo, login con redes sociales… Una de las funcionalidades más interesantes de Phonegap es  Phonegap Build, que permite subir tu código fuente, compila tu código en la nube y el sistema devuelve los paquetes de instalación para cada SO. Hay que tener en cuenta que tiene limitaciones en cuanto a peso y es necesario pagar una licencia para disponer de más de una app. También es importante revisar previamente los requerimientos del proyecto, ya que no siempre están disponibles todos los métodos de acceso a hardware en todos los SO. La compilación final se realiza de forma local, por lo que es necesario disponer de los SDK adecuados.

 

TITANIUM APPCELERATOR

  

A pesar de permitir el desarrollo en Javascript, a diferencia de Phonegap, no utiliza un webview para mostrar la UI. Es la parte que más confusión puede producir ya que el sistema construye la aplicación utilizando los controles nativos de cada plataforma. Con ello intenta mejorar el aspecto y rendimiento de la app.

 

JQUERY MOBILE

jQuery mobile irrumpió con fuerza en el momento en el que se empezaban a crear páginas web adaptadas a móviles. Se trata de un Front-end App UI Framework. A día de hoy, ha evolucionado para usarse como IU en apps cross-platform y creador de temas Themerroller. Jquerymobile y dispone de una gran comunidad. jquery_mobile_ex Tiene en contra ser demasiado pesado a nivel computacional por un manejo excesivo del DOM. Es preferible trabajar con él sólo con jQuery o Javascript nativo y no unirlo a un Javascript Framework como AngularJS, que también hace su propio manejo del DOM. Su aprendizaje es sencillo y es una buena opción para apps de tipo presencial y de baja complejidad.

 

SENCHA TOUCH

Sencha Touch es un tipo Front-end App UI Framework y Javascript Framework y fue una de las primeras herramientas que supuso una competencia real a jQuery Mobile. Además de ofrecer una UI, implementa el patrón MVC y tiene su propia API Javascript. Solo funciona en navegadores basados en Webkit y debe utilizarse Javascript nativo.

 

BACKBONE.JS

Backbone fue el primer Javascript Framework en implementar el patrón MVC y se apoya en la potente librería UnderscoreJS. Nuevos frameworks más modernos como AngularJS lo han desplazado a un segundo plano, ya que con mucho menos código se pueden obtener los mismos resultados.

 

Ya estamos al final del post y sería injusto no mencionar otras alternativas que también puedes tener en cuenta:

 

Te estarás preguntando cómo escoger correctamente tu framework o librería entre tanta variedad. ¡Y no se puede pasar por alto que no dejan de surgir nuevas alernativas!

Como reflexión final,  nunca hay que olvidar que la mejor herramienta es aquella que se ajusta mejor a las necesidades tu proyecto. No siempre lo más puntero es la mejor opción. Has de tener en cuenta tu experiencia, la escalabilidad y que te permita avanzar con seguridad para cumplir con tu calendario.

¡Nos vemos en el siguiente post! Hablaremos de servicios online que te permiten crear apps sin saber programar.

¡Saludos!

Dejar un comentario

PUBLICAR COMENTARIO Volver arriba


× 8 = 56

Contáctanos

Puedes enviarnos un mensaje si tienes quejas o quieres felicitarnos, o para contarnos algo, te responderemos :D