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 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 s 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 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 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.
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.
A partir de ahí ya entra en juego nuestra creatividad e imaginación para lograr convencer a los millones de s de este sistema operativo y triunfar con nuestras aplicaciones Android publicadas en la tienda oficial.
Probar tus apps Android en tiempo real
A medida que vamos desarrollando nuestros proyectos en Android, vayamos elegido el lenguaje que hayamos elegido, hoy deberíamos poder probarlos durante el proceso. Decir que Android Studio es el IDE de programación más completo a la hora de desarrollar aplicaciones para el sistema operativo de Google. Podemos encontrar todas las librerías, una completa ayuda para la creación de código e incluso todo tipo de herramientas, como de depuración o compilación, que nos ayudarán a darle los últimos retoques a nuestros programas. Antes de publicar una aplicación en la Google Play Store es necesario comprobar que esta funciona correctamente. Y así es como podemos hacerlo gracias a este IDE.
Lo esencial, como es obvio, es tener la última versión de Android Studio instalada en el ordenador. Por otro lado, si vamos a probarla en un dispositivo Android físico (un móvil, una Tablet, etc) es muy importante que este sea relativamente y que esté actualizado a una versión moderna de Android. También necesitamos tener un cable USB para conectar el teléfono al ordenador, y, desde las opciones para desarrolladores, habilitar la «depuración por USB». Es posible que, para que funcione, tengamos que instalar los drivers OEM del fabricante.
Por otro lado, si vamos a usar el emulador de Android incluido en Android Studio, entonces no necesitamos un smartphone físico, pero nuestro ordenador sí que debe cumplir ciertos requisitos. Lo ideal es contar con 8 GB de memoria RAM, 4 GB de espacio en el disco duro y un procesador Intel i3, o superior, o equivalente en AMD. También será necesario tener conexión a Internet, ya que desde ella bajaremos las imágenes de Android para las máquinas virtuales y otros paquetes necesarios.
Para probar las aplicaciones de Android desde Android Studio, podemos crear una máquina virtual con el emulador de la aplicación. Este viene incluido por defecto junto al IDE y nos va a permitir probar nuestras aplicaciones en muchos dispositivos y versiones de Android al mismo tiempo. Para crear nuestra propia máquina virtual de Android, lo primero que debemos hacer es abrir Android Studio y abrir, dentro del menú Tools, el apartado ADV Manager.
Lo primero que debemos indicar al programa es el tipo de dispositivo que vamos a emular. Podemos elegir alguno de los smartphones que nos vienen ya creados de serie, con sus propias especificaciones o crear un smartphone propio. En el siguiente paso podremos elegir la versión de Android que queremos que tenga nuestra máquina virtual. Además del nombre, y la versión a la que corresponde, también podemos ver el nivel de API al que corresponde.
Le damos el nombre que queramos a la VM, revisamos que los ajustes estén correctos, y listo. Al hacer clic sobre «Finish» se creará la máquina virtual. Esto nos permitirá probar todas nuestras aplicaciones de forma segura y fiable sin que otros desarrollo de software de terceros resulten dañados o perjudicados.
Otra solución para probar aplicaciones Android sin riesgo
En ciertas ocasiones nos vemos ante la obligación de tener que probar desarrollos que acaban de crearse pertenecientes a otros s. También se puede dar la circunstancia de que necesitemos probar ciertas partes de un nuevo programa que viene de terceros o que no conocemos exactamente su fuente. Evidentemente esto puede suponer un riesgo si utilizamos nuestro equipo debido principalmente a posibles códigos maliciosos que pueda integrar todo ello.
Y no solo eso, ya que también se pueden producir errores que afecten negativamente al sistema operativo como tal donde estamos probando ese trozo de software, por algún mal desarrollo. Por tanto lo mejor en estos casos es utilizar algún programa de máquinas virtuales donde cargar el sistema operativo para móviles de Google y probar esas aplicaciones potencialmente sospechosas. Quizá una de las opciones más interesantes en este sentido sea utilizar VirtualBox, un programa bastante sencillo de configurar y utilizar que nos servirá para solucionar la papeleta y no correr riesgos.
Aquí no tendremos más que cargar la imagen del sistema operativo como tal y probar posteriormente todo aquello que deseemos. Si se produce algún fallo grave o el código que cargamos está infectado, esto no afectará al sistema operativo instalado en nuestro ordenador de forma nativa. Todo lo que ocurre en la máquina virtual, tan solo afecta a la misma. Al margen de este tipo de tareas que os comentamos en relacionadas con la programación de aplicaciones Android, también podremos utilizar este software de máquinas virtuales para realizar todo tipo de pruebas en la configuración del sistema operativo, por ejemplo.
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 limitado. De ahí que muchos s 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.
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.