¿Quieres hacer apps para móviles? Lenguajes a conocer

¿Quieres hacer apps para móviles? Lenguajes a 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.

De todos modos, una de las primeras cosas que debemos tener en consideración hablaba en entrarnos en este sector y el software, es que la cosa ha cambiado mucho con respecto a hace unos años. Con esto lo que nos queremos decir en realidad es que casi cualquier usuario con conocimientos bajos / medios puede adentrarse en el mundo de la programación. En gran medida esto se logra gracias a los entornos de desarrollo de los que podemos echar mano en estos momentos. Estos intentan facilitarnos las cosas en la medida de lo posible a la hora de escribir código, ya sea para dispositivos móviles o para aplicaciones más de equipos de sobremesa.

De hecho, podríamos decir que hay ciertas plataformas de desarrollo que casi se escriben solas. Para que os hagáis una idea de lo que hablamos realmente, es decir que incluso hay plataformas y lenguajes de programación especialmente desarrollados para que los usen niños. Con esto lo que se pretende es que los más pequeños se adentren en este sector lo antes posible.

Ya os hemos comentado en estas mismas líneas nos queremos centrar en todo lo relacionado con las aplicaciones móviles. La razón de ello es bastante evidente, y es que este es un mercado que en los últimos años no ha parado de crecer, y no tiene visos de cambiar mucho la cosa próximamente.

¿Qué necesito para crear programas de Android y iOS?

Por tanto a continuación vamos a intentar ayudaros a elegir el entorno y lenguaje que más os va a interesar en cada caso para empezar para desarrollar vuestras propias aplicaciones móviles. Claro está que, para lograr objetivos más avanzados o profesionales, tendremos que ir ganando experiencia, algo que no se logra más que con el tiempo y el esfuerzo.

Lo primero que debemos tener presente es si queremos centrarnos en el desarrollo de este tipo de software para dispositivos móviles a nivel personal o profesional. Esto quiere decir que se puede dar el caso de que nos vayamos a adentrar en el interesante del mundo del desarrollo de aplicaciones móviles por aprendizaje propio o como hobby, o para encontrar trabajo. Hay que tener en cuenta que a pesar de ser un mercado muy saturado, el desarrollo de este tipo de aplicaciones móviles está todavía hoy día muy valorado por parte de multitud de empresas en todo el globo.

Esto quiere decir que si estamos buscando trabajo centrado en este tipo de desarrollos software antes de nada debemos formarnos y equiparnos bien. A partir de ahí y con mucho esfuerzo podremos empezar a intentar colarnos a nivel profesional en alguna de las muchas empresas de desarrollo de este tipo de software. Igualmente podemos intentar triunfar de manera individual y por nosotros mismos publicando nuestros proyectos en las correspondientes tiendas oficiales. Sin embargo, esta tarea va a ser bastante complicada debido a la amplia variedad de títulos disponibles hoy día.

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.

Al contrario de lo que pueda parecer, cualquiera puede crear sus propios programas sin problemas para estas plataformas. No es necesario tener un hardware especial para crear aplicaciones, y tampoco pagas costosas licencias. Si vamos a usar IDEs de programación gratuitos para crear los programas, lo único que tendremos que pagar son las cuotas de las tiendas de aplicaciones. En Google es un pago único de 20-25 euros, mientras que en Apple son 100 euros al año, vendas o no.

Podemos crear apps para Android desde cualquier PC, desde cualquier sistema operativo. El propio IDE de Google (Android Studio) es capaz de compilar los programas independientemente de qué sistema usemos. Además, no necesitamos un móvil físico ya que podemos emular Android desde el IDE y cargar los programas. En el caso de iOS, la cosa cambia. Apple solo permite crear y compilar programas desde su sistema operativo. Por tanto, necesitaremos tener un Mac para poder programar para iOS. Y, además, un iPhone o iPad para probar los programas que creemos.

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.

Debido a todo esto que os comentamos hay que tener en consideración que, si nos queremos introducir en este mercado de las aplicaciones móviles de manera profesional, casi siempre va a ser preferible el uso de Lenguajes de programación nativos. Además, todo ello nos abrirá un abanico más amplio de salidas profesionales en el caso de que nos queramos adentrar en este mundo para ganarnos la vida, como se suele decir.

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).

Como podemos comprobar de primera mano debido a todo esto que os hemos contado, es bastante evidente que la programación de aplicaciones iOS está un tanto más limitada. De ahí que muchos usuarios se decanten por adentrarse en el desarrollo de software basado en Android de Google, donde el abanico de posibilidades es bastante más amplio.

Además también es importante saber que aquí el mercado, nos referimos al entorno de Apple, al menos en nuestro país es bastante más reducido que el que se refiere al sistema operativo de Google para dispositivos móviles. A partir de ahí cada uno podrá tomar su decisión y centrarse en el entorno de desarrollo que más le guste o le resulta interesante.

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. De ahí que a muchos no les termine de convencer el adentrase en el desarrollo de apps para esta plataforma.

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.

Cierto es que cuando hablamos de este sector del software para móviles en concreto, en realidad nos referimos a uno de los más atractivos y demandados. Sin embargo, para empezar a desarrollar nuestros propios juegos para este tipo de dispositivos, es recomendable que antes tengamos cierta experiencia en el sector. Por ejemplo, en primer lugar, podemos empezar a trabajar en la creación de aplicaciones más básicas para conocer los métodos de trabajo y estructuras habituales en estas plataformas.

Una vez que hayamos acumulado cierta experiencia en la programación aplicaciones básicas, quizá ya estemos preparados para empezar a introducirnos en el desarrollo de estos elementos más complejos como son los videojuegos. Con todo y con ello también es cierto que cada vez nos encontramos con plataformas y herramientas para estas tareas que nos intentan facilitar las cosas en gran medida. Con esto os queremos decir que actualmente nos encontramos con ciertos elementos software que automatizan el desarrollo de estos códigos, lo que será de agradecer para los usuarios menos experimentados.

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.

Y es que es más que probable que a muchos de vosotros en alguna ocasión se haya pasado por la imaginación desarrollar vuestros propios juegos móviles. A pesar de que este es un objetivo realmente atractivo, también es cierto que necesita cierto trabajo y esfuerzo por nuestra parte. Todo es cuestión de echar tiempo y tener paciencia, tal y como sucede en la mayoría de los sectores relacionados con la programación de software. Además, la creación de nuestros propios juegos seguro que nos va a aportar una enorme experiencia para el futuro y así poder adentrarnos en proyectos de mayor calado.

3 Comentarios