Dispositivos móviles: lenguajes y entornos de desarrollo en Android
Lo que originalmente era una plataforma donde la única manera de meter mano era mediante Java no tardó demasiado en expandirse y aceptar otros lenguajes, y con ello dar a los desarrolladores la opción de programar en aquello en lo que estemos más experimentados o simplemente evitar Java si es que le tenemos manía. Vamos a echar un vistazo a lo que tenemos para desarrollar nuestras aplicaciones para Android.
Android Studio
Haciendo uso de Java, que para algo es el lenguaje oficial, Google extiende IntelliJ y se marca su propio IDE con todas las herramientas necesarias integradas. No hace falta instalar el SDK ni hacer maravillas para enchufar el emulador, basta con crear un proyecto y empezar a picar código.
Android Studio viene con herramientas de depuración de bastante agradecer, como un monitor de uso de memoria para comprobar cómo nuestra aplicación devora el sistema o la integración con Lint, herramienta para comprobar la corrección del código así como fallos gordos.
Las dos alternativas clásicas son Eclipse y NetBeans.
Android Native Development Kit
No te gustan los lenguajes que se compilan a bytecode o se interpretan, perfecto, pero no tengo demasiadas buenas noticias en este aspecto. Google mantiene un kit de desarrollo para aplicaciones nativas llamado Android NDK para poder dominar el mundo usando C y C++. El problema viene con que el soporte está limitado por la propia plataforma.
El NDK te permite acceder a un subconjunto de la API de Android, que si bien es cierto que te puede ser suficiente hay una alta posibilidad de que se quede corto. En sí el NDK está creado con la intención de portar aplicaciones ya existentes o que haga un uso intensivo de la CPU (simuladores, motores de juegos, etc).
Por otra parte al generar código dependiente de la plataforma incurrimos en otro problema: la necesidad de integrar varias plataformas (arm6, arm7 e incluso x86) en un sólo ejecutable (lo que se llama un fat binary). Esto aumenta el tamaño de nuestra aplicación.
No obstante Google permite el desarrollo de partes de una aplicación con NDK, manteniendo el código principal de la aplicación en Java.
Xamarin
Del creador de GNOME y Mono, Xamarin permite crear aplicaciones en C# y que funcionen no sólo en Android sino también en Windows, Mac e iOS (no, curiosamente no tienen soporte para Linux).
Xamarin trae su propio emulador, un IDE bastante bueno (basado en MonoDevelop) con soporte RAD (montarte pantallitas arrastrando componentes, vamos) y una compatibilidad casi completa con la implementación del lenguaje de Microsoft.
Todo muy bonito pero hay que pagar, eso sí. Hay una edición Starter que te deja echar un vistazo pero está bastante limitada, y luego hay varios planes de pago.
Cordova
Si tu experiencia es como webmaster y tienes dominado las tres partes, Cordova es un framework libre y gratuito que te deja montarte tus aplicaciones usando JavaScript, HTML y CSS.
No obstante carece de un IDE oficial aunque se puede combinar con Intel XDK (especialmente creado para aplicaciones en HTML5) o integrarlo en NetBeans.
Además, se puede extender usando Ionic Framework, un framework en HTML5 para generar interfaces gráficas que funciona sobre Cordova.
Otros
La verda está abierta y cada día hay soporte para más lenguajes y plataformas. Por ejemplo Delphi, si nos gusta Pascal, tiene soporte para aplicaciones en Android, o Scala-IDE, que os permite crear código en Scala. Basta con echar un vistazo por ahí sobre vuestro lenguaje favorito que seguro que aparece algo.
Borja V. Muñoz
Latest posts by Borja V. Muñoz (see all)
- Los materiales formativos de emprendimiento de YouBrand están listos - 18/12/2019
- Actividad formativa del proyecto Strategies for Digitalising Adult Educationen Lodz, Polonia // Training activity of the Strategies for Digitalising Adult Education Project in Lodz, Poland - 29/05/2019
- Tercer encuentro transnacional del proyecto YouBrand en Atenas, Grecia // Third Transnational Meeting of the YouBrand Project in Athens, Greece - 22/02/2019