Incluso si no crees que estamos en plena era Post-PC, está claro que las plataformas móviles desempeñan un papel esencial en muchas partes de nuestras vidas. Ya sea por diversión o por lucro, el desarrollo de aplicaciones de Android puede ser gratificante, tanto personal como financieramente. Suponiendo que tenga un cierto nivel de conocimiento técnico, entonces es posible desarrollar aplicaciones de Android usted mismo, pero ¿qué lenguajes de programación necesita aprender?
El idioma oficial para el desarrollo de Android es Java. Grandes partes de Android están escritas en Java y sus API están diseñadas para ser llamadas principalmente desde Java. Es posible desarrollar la aplicación C y C ++ utilizando el Kit de desarrollo nativo de Android (NDK), sin embargo, no es algo que promocione Google. Según Google, “el NDK no beneficiará a la mayoría de las aplicaciones. Como desarrollador, debe equilibrar sus beneficios con sus inconvenientes. En particular, el uso de código nativo en Android generalmente no produce una mejora notable en el rendimiento, pero siempre aumenta la complejidad de la aplicación “.
Java
El trabajo de estas máquinas virtuales es interpretar el bytecode.
Java es un lenguaje de programación lanzado por primera vez por Sun Microsystems en 1995. Se puede encontrar en muchos tipos diferentes de dispositivos, desde teléfonos inteligentes hasta computadoras centrales. Puede usarlo en su PC de escritorio e incluso en la Raspberry Pi. Java no se compila en el código del procesador nativo, sino que se basa en una “máquina virtual” que comprende un formato intermedio llamado código de bytes de Java. Cada plataforma que ejecuta Java necesita una implementación de máquina virtual (VM). En Android la máquina virtual original se llama Dalvik. Google también ha comenzado a previsualizar su próxima generación de máquinas virtuales llamada ART. El trabajo de estas máquinas virtuales es interpretar el código de bytes, que en realidad es solo un conjunto de instrucciones similares al código de máquina que se encuentra en las CPU, y ejecutar el programa en el procesador. Las máquinas virtuales utilizan una variedad de tecnologías que incluyen la compilación Just-in-time (JIT) y la compilación anticipada (AOT) para acelerar los procesos.
Lo que todo esto significa es que puedes desarrollar aplicaciones de Android en Windows, Linux o OS X y el compilador de Java convierte el código fuente en un código de bytes. Esto a su vez se ejecuta en la máquina virtual integrada en Android. Esto es diferente al modelo utilizado por iOS, que utiliza un compilador nativo para convertir Objective-C en código de máquina ARM.
Aquí hay un ejemplo de cómo se ve algo de Java. Este ejemplo utiliza un aspecto anidado para imprimir cadenas cada vez más largas de asteriscos:
para (int i = 0; i <5; i ++) {for (int j = 0; j <= i; j ++) {System.out.print ("*"); } System.out.println (); }
Este es un ejemplo muy simple y el código real para una aplicación real es mucho más complejo.
Hay muchos tutoriales en línea para aprender Java. Aquí hay algunos de Oracle:
- Comenzando – Una introducción a la tecnología Java y lecciones sobre cómo instalar el software de desarrollo Java y cómo usarlo para crear un programa simple.
- Aprendizaje del lenguaje Java: lecciones que describen los conceptos y las características esenciales del lenguaje de programación Java.
- Clases de Java esenciales: lecciones sobre excepciones, entrada / salida básica, concurrencia, expresiones regulares y el entorno de la plataforma.
Es posible que también desee ver los siguientes tutoriales:
- ¿Qué tan difícil es aprender inglés?
- ¿Dónde puedo aprender más sobre la construcción de una casa?
- ¿Por qué nos atraen para aprender ciertos idiomas y no otros?
- ¿Cuánto tiempo se tarda en aprender Haskell?
- ¿Cuál es la forma más fácil de descargar música en un iPhone?
- Tutorials Point – Tutorial de Java
- Introducción a la programación usando Java
Google ofrece el paquete de herramientas de desarrollo de Android (ADT) que incluye el SDK, una versión del IDE de Eclipse con los complementos de ADT y las herramientas de la plataforma de Android con el emulador de Android.
Una vez que haya aprendido Java, el siguiente paso es aprender a usar Java para crear aplicaciones de Android. Para eso necesitarás el Kit de Desarrollo de Software de Android (SDK). El Android SDK proporciona todas las bibliotecas y herramientas API que necesita para construir una aplicación para Android. Google ofrece el paquete de herramientas de desarrollo de Android (ADT), que incluye el SDK, una versión del IDE de Eclipse con los complementos de ADT y las herramientas de la plataforma de Android con el emulador de Android.
Desarrollar una aplicación de Android es más que solo Java, debe comprender cómo se construye la interfaz de usuario de Android (mediante XML) y cómo acceder a los diferentes subsistemas de Android. Google tiene una serie de tutoriales sobre el desarrollo de Android. El tutorial de introducción le muestra los elementos esenciales del desarrollo de aplicaciones para Android.
Corona Si no desea aprender Java o cómo diseñar interfaces de usuario en XML, entonces hay alternativas. Una es usar el SDK de Corona. Corona es un SDK de alto nivel basado en el lenguaje de programación LUA. LUA es mucho más simple de aprender que Java y el SDK quita gran parte del dolor en el desarrollo de aplicaciones para Android. Una aplicación simple que muestra una imagen de fondo de su elección y escribe un texto en la pantalla se puede escribir en solo 3 líneas de código con Corona.
Aquí es cómo se ve un código LUA, esto hace lo mismo que el código Java anterior:
para i = 1,5 do para j = 1, hago io.write (“*”) end io.write (“\ nd
Aquí está el programa de 3 líneas para mostrar una imagen de fondo y escribir un texto en la pantalla:
local background = display.newImage (“myimage.jpg”, display.contentCenterX, display.contentCenterY) local myText = display.newText (“Hello, World!”, display.contentCenterX, display.contentWidth / 4, native.systemFont, 40 ) miTexto: setFillColor (1, 110/255, 110/255)
La primera línea carga la imagen de fondo, la segunda línea muestra el texto y la tercera línea establece el color del texto. Sencillo.
Casi todo en Corona se muestra a través de OpenGL.
Corona incluye un sofisticado emulador que le permite ejecutar su programa al instante sin necesidad de compilar su código. Cuando desea crear un archivo .apk de Android, inicia una compilación a través de los compiladores en línea de Corona y la aplicación se guarda en su PC.
Corona está diseñado principalmente para juegos (pero no exclusivamente) y, como tal, incluye bibliotecas para sprites, audio, redes de juegos y un motor de física 2D. Casi todo en Corona se muestra a través de OpenGL. Esto significa que obtienes gráficos acelerados por GPU, además de que la aplicación predeterminada es un lienzo en blanco, ¡todo lo que necesitas hacer es comenzar a pintar!
Corona proporciona un conjunto completo de guías de inicio y tutoriales que incluyen una Introducción a Lua, además de una guía de Corona en 5 minutos que también incluye una introducción al motor de física 2D.
Corona se puede descargar y usar de forma gratuita, pero si desea funciones como la compra desde la aplicación o la capacidad de llamar a las API nativas de Android, debe pagar una tarifa de suscripción mensual.
Phonegap Si ya conoce HTML, CSS y, lo que es más importante, Javascript, en lugar de aprender Java o LUA, puede crear aplicaciones de Android utilizando las habilidades que ya posee. Phonegap se basa en el proyecto Cordova de Apache. Básicamente, crea una vista web que luego puede poblar y manipular usando Javascript. La aplicación web puede interactuar con las diversas funciones del dispositivo, al igual que una aplicación nativa, haciendo referencia al archivo cordova.js para obtener los enlaces de API. Las funciones nativas compatibles con PhoneGap incluyen el acelerómetro, la cámara, la ubicación actual, el almacenamiento local, etc.
A continuación, le indicamos cómo emitir los asteriscos en una página web a través de Javascript:
var i, j; para (i = 1; i <= 5; i + = 1) {s = ''; para (j = 0; j <i; j + = 1) s + = '*'; document.write (s + '
‘); } Otras opciones y envolver
Java, LUA y HTML / Javascript no son las únicas opciones que hay. Para terminar, vale la pena mencionar Titanium, otro sistema de desarrollo de Javascript, y Gamesalad, un creador de juegos para dispositivos móviles que te permite crear juegos sin tener que codificar.