Para gustos, colores

Cada persona es un mundo” y “para gustos colores”. Estas dos frases las utilizamos todos y lo cierto es que no podrían ser más acertadas. Cada uno de nosotros utilizamos los dispositivos, tecnologías y plataformas que podemos permitirnos, que se adaptan a nuestras necesidades y, sobre todo, que más nos gustan. Solo por dar un ejemplo, en mi pequeña familia tenemos dos iPhones, dos Androids, un portátil con Windows, otro con Linux y un Mac. Como veis en cuatro personas podemos encontrar hasta cinco dispositivos utilizando sistemas operativos diferentes. Por lo que es una maravilla puesto que cada uno puede utilizar lo que más le guste. Pero sinceramente, es un auténtico quebradero de cabeza para los desarrolladores que tenemos que hacer aplicaciones que puedan utilizarse en (casi) cualquier plataforma. Y cada uno es distinto y, por tanto, las aplicaciones para estos dispositivos deberán estar desarrollados en lenguajes y tecnologías específicas. Entonces, si quiero poder utilizar mi aplicación en todos estos dispositivos… ¿La tengo que desarrollar cinco veces? Ahora responderé a estas preguntas sobre cómo hacer apps para cualquier plataforma

La solución: Ionic

Por suerte, en los últimos años están apareciendo tecnologías punteras como Ionic. Se trata de un framework de desarrollo de aplicaciones móviles (y web) para múltiples plataformas utilizando un único código base. Esto es, en resumen, desarrollo la aplicación una sola vez, y la puedo utilizar en todas las siguientes plataformas:

  • Android (móvil)
  • iOS (móvil)
  • Windows (móvil)
  • ¡Escritorio! Windows, Linux, Mac…
  • ¡Cómo una web! Osea, en cualquier dispositivo.

Lo mejor de todo es que con Ionic, a fin de cuentas, estás desarrollando una web (y, de hecho, se utilizan tecnologías web para el código base: HTML, CSS y JavaScript/TypeScript). Por lo tanto, podrás acceder a tu aplicación desde tu navegador en tu ordenador de sobremesa o portátil, o si lo prefieres, como una aplicación de escritorio, gracias a la integración de Ionic con Electron.

Además, desde Ionic se esfuerzan cada vez más en que los desarrolladores lo tengan más fácil para hacer aplicaciones adaptadas a cualquier plataforma. Es por ello, que con el mismo código base (sin tocar una sola línea de código), la aplicación se verá mucho más parecida a una aplicación de la propia plataforma. Simplemente por el hecho de estar ejecutándose en esa plataforma. Aquí mostramos un ejemplo de una aplicación básica y como se ve en Android e iOS:

Cómo hacer apps

Pero seguro que tienen algo malo… ¿no?

Por hacer un pequeño matiz: las aplicaciones desarrolladas con tecnologías como Ionic se llaman aplicaciones híbridas, porque se pueden utilizar en múltiples plataformas, al contrario que las aplicaciones nativas. Estas sirven únicamente para la plataforma para la que lo estás desarrollando.

En Opentix, desde hace años utilizamos Ionic para desarrollar las aplicaciones. La verdad es que no hemos encontrado ninguna desventaja. Si te preocupa que utilicemos un ‘framework híbrido’ para hacer las aplicaciones, estas son algunas de las conclusiones que hemos sacado:

  • Velocidad. Hace algunos años las aplicaciones híbridas eran algo lentas. En la actualidad ha cambiado mucho. Las nativas son las más rápidas, pero podemos asegurar que la velocidad de las híbridas hechas con Ionic no tiene nada que envidiarles.
  • Funcionalidad. A día de hoy, podemos asegurar que el 100% de las funcionalidades necesarias en una aplicación demandada por un cliente se pueden desarrollar con las híbridas. Al utilizar tecnologías web, se puede hacer todo lo que se podría hacer en cualquier web. Además hay que sumarle la potencia de los plugins nativos que nos permiten ejecutar funcionalidades específicas de los dispositivos móviles, tales como el uso del acelerómetro, la cámara, el GPS, o casi cualquier cosa que se nos ocurra.

En definitiva, la utilización de Ionic para desarrollar aplicaciones es beneficioso tanto para los desarrolladores como para los clientes, puesto que simplifica mucho el desarrollo y mantenimiento de las aplicaciones, permite tener la misma aplicación para múltiples plataformas y abarata los costes de desarrollo puesto que se utilizarán menos recursos y menos tiempo para conseguir el mismo resultado.