Desarrollando aplicaciones nativas para Android con CSharp.pdf
DESARROLLANDO APLICACIONES NATIVAS PARA
ANDROID CON C#
Alejandro Tamayo Castillo
RESUMEN
En esta entrega se mostrará la utilización de Mono for Android, componente que permite el desarrollo de
aplicaciones para Android utilizando C# y Visual Studio. Mono for Android, desarrollado por Xamarin (compañía fundada por Miguel de Icaza, patrocinadora de Mono) permite crear, depurar y empaquetar una aplicación en un
.apk y utilizarla directamente en un teléfono Android. A diferencia de otros productos, Mono for Android permite
el desarrollo de aplicaciones nativas, significando que se integra al ecosistema Android e interactúa con las
aplicaciones nativas creadas en Java, utiliza la interfaz (UI) nativa del sistema operativo y sigue el modelo de
desarrollo de Android.
INTRODUCCIÓN
Android es un popular sistema operativo basado en Linux que ejecuta tanto en teléfonos como en tabletas. El
kernel, siendo Linux, está desarrollado en C++, pero el corazón de Android es una implementación de máquina
virtual de Java llamada Dalvik, creada por Google. Por tanto, todas las aplicaciones (Userland) se han venido
desarrollando utilizando Java con la ayuda del Android Developer Tools, que es la mezcla de las herramientas de
desarrollo de Android (SDK) junto a una personalización del IDE Eclipse. El Android Developer Tools se puede
obtener gratuitamente desde http://developer.android.com/tools/.
Para desarrollar una aplicación para Android, se debe conocer, primero, el ecosistema android (arquitectura,
restricciones, funcionamiento) y luego se debe saber programar en Java que es el lenguaje de trabajo nativo de la
plataforma. Existen otras alternativas para el desarrollo, como PhoneGap (http://phonegap.com/download), que utilizan HTML5 para el diseño de la interfaz de usuario (UI) y JavaScript como lenguaje de desarrollo, pero tienen la
desventaja de que al ser aplicaciones HTML5 que ejecutan en un entorno controlado (sandbox), el acceso a las
características nativas del dispositivo es limitado y la experiencia de usuario en cuanto a interfaz (UI) no es la
misma que la de una aplicación nativa. Mono for Android, intenta un acercamiento diferente. Básicamente intenta sustituir Java por C#, dejando el resto
de los componentes intactos, de forma tal que la interfaz de usuario (UI) se diseñe de igual manera y la aplicación
desarrollada se integre al ecosistema Android como si fuese desarrollada propiamente en Java. Además, las
herramientas de desarrollo se integran con Visual Studio, brindándole a un desarrollador .NET, la gran ventaja de
desarrollar una aplicación Android sin salirse del entorno de desarrollo conocido y utilizando el lenguaje C# que
domina. Se puede obtener desde http://xamarin.com/download.
LA APUESTA POR .NET Y C#
Si bien es atractivo programar para Android en C#, existen tres razones adicionales por lo cual es conveniente
apostar por .NET y C# para el desarrollo de aplicaciones móviles:
1.2.
3.
Desarrollo Multiplataforma
Reutilización de bibliotecas de código existentes
Interfaz de usuario nativa y rendimiento nativo
Desarrollando aplicaciones nativas para Android con C#
El mercado de dispositivos móviles está dominado fundamentalmente por tres plataformas: Android de Google, iOS de Apple y Windows Phone de Microsoft, que a pesar de ser minoritario muestra un discreto crecimiento. Para
hacer una aplicación que ejecute en estas plataformas de manera nativa, habría que programar en lenguajes y
herramientas de desarrollo diferentes: Java en Android, Objective‐C en iOS y C# en Windows Phone. Para una
empresa esto puede significar un reto, ya que tendría que ...
Regístrate para leer el documento completo.