Qué tener en cuenta en un proyecto de Apache Cordova
16/06/2017

Qué tener en cuenta en un proyecto de Apache Cordova

Desarrollo de apps

En una industria en el que el desarrollo de aplicaciones móviles se ha vuelto un detalle importante para cualquier empresa que pretenda ofrecer un servicio muchos han sido los frameworks que han tratado sacar partido de alguna tecnología para facilitar el trabajo a los desarrolladores, ya sea usando lenguaje nativo, web y crear aplicaciones híbridas, etc. Pese a que esto empezó siendo un camino complicado porqué no sabíamos a dónde tirar, con el paso de los años varias opciones están conviviendo conjuntamente para ofrecer un abanico y distintas elecciones a los desarrolladores. Apache Cordova es una de ellas, y hoy vamos a ver qué debemos tener claro para comprender este framework.

Apache Cordova, una buena opción para tus primeros pasos en el desarrollo móvil

Antes de nada debemos comprender que Cordova no es código nativo 100%, su modo de funcionamiento es incrustar HTML5 dentro de una vista web nativa. La diferencia es que los módulos no acceden directamente a los recursos físicos del dispositivo, si no que a través de una ventana de navegador se comunican con ello. Aún así es una buena alternativa para empezar a dar unos primeros pasos dentro del desarrollo de aplicaciones, ya que os forzará a comprender HTML5, CSS y JavaScript, tres lenguajes que posteriormente, junto con Angular, podréis aprovechar para explotarlos haciendo apps más complejas. A causa de esto hay algo que debemos tener en cuenta y es que al ejecutar una vista web lo que logramos, como contrapartida, es que algunas de las aplicaciones funcionen más lentas de lo que harían sus hermanas nativas. Esto es un problema ya que las stores, Google Play o AppStore, penalizan el software subido en sus plataformas que no tengan una buena optimización o un funcionamiento “poco nativo”, lo que incluye desde el rendimiento hasta la presentación de diseño.

Aparte de estas características funcionales, también debemos preparar nuestro entorno de desarrollo. Cordova, a diferencia de otras plataformas, no trae consigo un IDE, o entorno de desarrollo integrado. Esto significa que es tarea nuestra encontrar algún editor de código, o conseguir directamente una plataforma para poder escribir nuestras aplicaciones. Cordova funciona a través de la línea de comando, es decir, tiene unos comandos específicos para poder ejecutar, ya sea en un dispositivo como en un emulador, el código que estamos generando. A nivel personal os recomiendo los siguientes editores:

  • Atom editor, open source y muy expandible con añadidos creados por la comunidad. Este editor es simple, consume poco y, con los buenos modificadores, será las mil y una maravillas para todos. Yo lo uso constantemente para HTML, CSS, JavaScript, Angular o Unity3D.
  • Visual Studio Code, no confundir con Visual Studio (a secas). Este editor es parecido a Atom, per consume un poco más y tiene ciertos aspectos que no me acaban de gustar a nivel muy personal que en realidad no afecta al código. Lo he llegado a usar para lo mismo que Atom, sumando Unreal Engine.
  • Visual Studio Community, a diferencia de los otros dos, éste si es un IDE y podéis configurarlo para que ejecute Cordova. Esto significa que tiene un botón play, una consola de output para errores, debugador y otros componentes que podréis encontrar en, por ejemplo, Eclipse. Es importante que descarguéis la versión Community si os animáis, ya que es la gratuita para siempre de Microsoft.

Cordova, como os podréis imaginar, es capaz de compilar en una gran variedad de plataformas, entre ellas las más importantes (Android e iOS), de modo que esto no debe ser una preocupación real a la hora de planificar el desarrollo, y sobretodo el uso de lenguajes conocidos por todos nosotros le da un punto de accesibilidad que disminuye la pronunciación de la curva de aprendizaje. Tiene partes complejas, como todo por supuesto, pero no estamos hablando de aprender Java en el caso de Android Studio, o Swift para iOS si lo preferís. Junto a eso, está disponible para Windows, Mac y Linux. Tengáis el sistema operativo que tengáis vais a poder sacarle todo el partido. La única restricción en el caso de Apple es, como de costumbre, la necesidad de tener Xcode, lo que conlleva tener un máquina del gigante de Cupertino.

Después de Cordova

Como en todas las plataformas open source, Cordova también ha sufrido una derivación llamada Ionic Framework, la cual acaba por perfilar la original. Es recomendable, por eso, que vengáis con una base de Cordova y Angular, ya que con estos dos recursos, junto a su propia API, Ionic soluciona algunos de los problemas de rendimiento y diseño que puede ocasionar el framework de Apache. Hay que sentar bien los cimientos antes de poder apostar por herramientas más complejas.

¿Habéis usado alguna otra plataforma de desarrollo para poder comparar con Cordova? Decidme que pensáis de esta gran diversidad que existe y lo que supone para nosotros, los programadores.

Curso relacionado: Curso Superior de Desarrollo de Aplicaciones para Móviles

Comparte en:

Grado Superior de Desarrollo de Aplicaciones informáticas en la Salle de Barcelona. Trabaja actualmente como desarrollador de aplicaciones para móviles, especialidad en videojuegos.

El auge de la tecnología beacon en las apps
25/03/2020
Jordi Mula

El auge de la tecnología beacon en las apps

El posicionamiento, la ubicación y la geolocalización son elementos cada vez más integrados en el desarrollo de aplicaciones. La geolocalización en exterior es un ...

¿Qué debe aportar el cliente para desarrollar una app?
27/02/2020
Jordi Mula

¿Qué debe aportar el cliente para desarrollar una app?

En muchas ocasiones el cliente por desconocimiento no sabe qué datos o elementos debe proporcionarnos para poder generar ese plan de asesoramiento inicial, vamos a ve...

Que es una game jam y que se puede esperar de una sesión
13/02/2020
Jordi Mula

Que es una game jam y que se puede esperar de una sesión

El mes pasado fue la Global Game Jam, y con motivo de este evento internacional que se da lugar en diferentes países y en diferentes sedes, vamos a hablar un poco sob...