¿Quieres hacer apps para móviles? Estos son los lenguajes que debes conocer

¿Quieres hacer apps para móviles? Estos son los lenguajes que debes conocer

Rubén Velasco

Uno de los mercados más rentables para los programadores son las tiendas de apps para móviles. Ya sea a la hora de buscar trabajo en otras empresas, o para convertirnos en programadores freelance, conocer los lenguajes de programación para móviles nos abrirá muchas puertas y, además, nos brindará una gran oportunidad de conseguir dinero en un mercado tan grande como es el de Android o iOS.

Hay muchas formas de programar aplicaciones móviles. Podemos utilizar los lenguajes de programación nativos para crear todo tipo de apps, recurrir a los lenguajes web (ya que las PWA están cada vez más de moda), usar programas que nos permitan crear apps sin tener que saber de programación, e incluso podemos usar motores 3D (como Unity) para crear juegos. Todo depende del tipo de app que vayamos a crear y para quién estará dirigida.

A continuación vamos a ver cuáles son los lenguajes de programación más importantes a la hora de empezar a programar apps para móviles.

Lenguajes de programación para Android

Android es el sistema operativo para móviles más utilizado que podemos encontrar. Este sistema operativo se basa en la máquina virtual de Java, y, por lo tanto, este es el lenguaje de programación principal para crear apps de todo tipo.

Java es uno de los lenguajes de programación más populares. Al ser un lenguaje multiplataforma, es muy sencillo crear aplicaciones para una determinada plataforma y, con unos pocos cambios (o con ninguno), hacerlo funcionar en otros sistemas operativos. El problema de este lenguaje es que funciona a través de la máquina virtual de Java, lo que a menudo se traduce en problemas de rendimiento.

Además de Java, Android tiene otros lenguajes de programación muy populares. Kotlin, por ejemplo, es un lenguaje de programación inspirado en Java creado por Google para incitar a los usuarios a crear apps escritas en este lenguaje. Las ventajas de este es que es más sencillo que Java y ofrece un mejor rendimiento. Por desgracia, no es tan popular como esperaba Google.

Por supuesto, también podemos usar los lenguajes de programación web para crear todo tipo de aplicaciones para móviles. Lenguajes como HTML5 o CSS3 nos ayudarán a dar forma a nuestras aplicaciones. Estos lenguajes son los utilizados para crear las PWA, apps que están ganando una gran popularidad últimamente y que tendrán gran importancia en el futuro.

Lenguajes web vs nativos

Las aplicaciones web progresivas, o PWA, se caracterizan porque son muy sencillas de programar (se programan igual que una web), son muy pequeñas y se pueden mantener siempre actualizadas. Además, es muy fácil portar estas aplicaciones a otros sistemas sin tener que aprender nada de programación. Sin embargo, estas aplicaciones tienen acceso bastante limitado al hardware del dispositivo, por lo que sus posibilidades son muy limitadas. Además, requieren una conexión a Internet para poder funcionar, o, de lo contrario, no se abrirán.

Si optamos por lenguajes de programación nativos, como Java, podremos aprovechar al máximo el hardware del dispositivo y crear aplicaciones independientes de la web.

JavaScript puede ser un intermedio entre los lenguajes web y Java, ya que, sin llegar a la complejidad de Java, permite crear apps más completas y tener más acceso al hardware.

Programas para programar apps para Android

Sin duda, el IDE de programación para Android más popular que podemos encontrar es Android Studio. Este es un IDE creado a partir de Eclipse (uno de los IDE para Java más populares) con el cual podremos sacarle el máximo partido a nuestro código. Contiene ayudas de sintaxis, un creador de interfaz e incluso un emulador de Android para probar nuestras apps y depurarlas antes de publicarlas.

Android Studio 3.1

Los requisitos mínimos para poder programar con Android Studio son:

  • 3 GB de RAM, más 1 GB adicional para usar el emulador.
  • 2 GB de espacio en el disco duro (500 MB para el IDE y 1.5 GB para el SDK, emulador, etc).
  • Java Development Kit (JDK).
  • Resolución de pantalla mínima de 1280×800.

También podemos programar para Android a través de otros muchos programas, e incluso de cualquier IDE de Java. Para publicar las apps en la Play Store solo necesitamos una cuenta de Google y pagar una cuota de 30 euros (pago único) para subir todas las aplicaciones que queramos.

Lenguajes de programación para iOS

Si lo que queremos es programar apps para iOS, el sistema operativo de Apple para los iPhone, la cosa cambia un poco. El lenguaje de programación más utilizado para crear apps para este sistema operativo es Objetive-C, creado como un superconjunto de C al que se le han añadido objetos.

Aunque funcional, y muy popular, Objetive-C es un lenguaje de programación bastante antiguo y complicado para aquellos que nunca antes han programado. Por ello, Apple creó otro lenguaje de programación universal para todos sus sistemas y dispositivos: Switft.

Swift es un lenguaje de programación igual de completo que Objetive-C pero más sencillo de aprender. Cada vez más aplicaciones se basan en este lenguaje de programación ya que, entre otras cosas, permite crear fácilmente todo tipo de apps (da igual su finalidad), y ofrece un rendimiento bastante superior al de aplicaciones creadas en Objetive-C (concretamente 2.6 veces superior) y Python (8.4 veces superior).

Programas usados para crear apps para iOS

Igual que ocurre en Android, hay muchos programas que nos ayudan a programar y dar forma a las apps para iOS que estemos creando. Sin embargo, la mayoría de ellas deben pasar a través de XCode, el compilador de Apple para las apps de iOS, el cual solo está disponible para macOS.

XCode Apple

Los requisitos mínimos para poder utilizar Xcode son, básicamente, cualquier MacBook, Mac Pro o iMac con 2 GB de memoria RAM. Si lo ejecutamos en una máquina virtual con VMware o VirtualBox, entonces necesitaremos una CPU bastante potente, y una configuración similar a la de estos equipos.

Por ello, programar para iOS tiene principalmente dos inconvenientes. El primero de ellos es que necesitamos tener un Mac para poder compilar las aplicaciones, y el segundo que para estar publicados en la App Store debemos pagar 100 euros al año. Si dejamos de pagarlos, nos bloquean la cuenta.

Programar juegos para móvil

A la hora de crear juegos para móviles hay varias posibilidades. Por supuesto, los lenguajes principales para ambos sistemas operativos (tanto Java, para Android, como Objetive-C y Swift, para iOS) tienen librerías gráficas para crear juegos. Sin embargo, programar un juego desde cero en estos lenguajes no es precisamente una tarea sencilla.

Si lo que estamos buscando es programar un juego para Android o iOS, lo mejor es recurrir a aplicaciones y motores especializados. RPG Maker, por ejemplo, puede ser una excelente opción para esta tarea. Este programa se basa en scripts programados en distintos lenguajes para dar forma a los juegos. Game Maker es otra sencilla y potente opción para crear juegos para móviles y otras plataformas. Este programa también tiene su propio lenguaje de programación basado en scripts.

Unity 2019

Pero si realmente queremos crear un buen juego 3D es necesario recurrir a motores gráficos, como es el caso de Unity. Ya hablamos de Unity cuando hablamos de los lenguajes de programación para crear videojuegos. Este motor utiliza las librerías OpenGL ES y nos permite programar en distintos lenguajes de programación basados en scripts.