Activa las notificaciones para estar al tanto de lo más nuevo en tecnología.

Para escribir aplicaciones portables para iOS, Android y WP en C#

Las plataformas móviles -es un hecho- serán, si es que aún no lo son, uno de los nichos más importantes para los programadores. Es claro...

Las plataformas móviles -es un hecho- serán, si es que aún no lo son, uno de los nichos más importantes para los programadores. Es claro que la computadora de escritorio está por desaparecer, pues la tendencia es irse a lo móvil, a estar conectado en todo momento y lugar y para ello, los teléfonos celulares, las tablets, así como dispositivos diversos móviles, serán los que se apropien de los grandes mercados. Por ello, no es mala idea en introducirse a las herramientas de desarrollo que ya hay para estas plataformas móviles. En esta ocasión nos enfocaremos en Xamarin.

Xamarin proveé acceso completo al SDK nativo de cada plataforma, así como a los controles de la interfaz gráfica, los cuales se proyectan en un API para cada dispositivo en C#. Por ello, las apps que puedan crearse con esta herramienta son nativas y no aquellas que presumen ser escríbase una vez/córrase en toda plataforma, que se ven siempre raras en muchas de las plataformas donde corren. Xamarin da acceso a todas las características que hacen a cada plataforma única. Y a decir de los creadores de la herramienta, el resultado es el nirvana de las app móviles”.

Un video que describe lo que se puede hacer con Xamarin puede verse aquí.

Suena francamente atractiva la idea de Xamarin, pues la app escrita se compila en código binario nativo, no interpretado (como en el caso de Java). La ventaja de compilar a código nativo es que las apps pueden tener un mejor desempeño, sobre todo en los juegos o en apps que utilicen datos masivamente. A cada app se le añaden unos 2.5 MB, que para los estándares actuales es poca cosa.

Un problema que enfrentan todos los programadores es que si deciden cambiar de plataforma, hay que reescribir mucho del código original de una app por las peculiaridades de los diferentes compiladores y herramientas de desarrollo. Xamarin promete que se puede compartir el código entre plataformas, mientras se mantiene una interfaz nativa para cada plataforma. Así, el mismo código en C# puede correrse en iOS, Android y Windows Phone.

Una cuestión que ya es estándar en estas herramientas visuales (para las interfaces gráficas modernas), es que tienen una serie de componentes que se seleccionan y se arrastran a la app cuando ésta se está escribiendo. Xamarin tiene algo que llaman XCode´s Interface Builder, que permite crear interfaces para iOS con las herramientas que Apple da. En Android,  Xamarin Designer es la herramienta que se usa para generare las interfaces con Android, además permitiendo tener diferentes tamaños de pantalla, resoluciones y orientaciones, entre tantas características.

Como toda herramienta moderna, tiene características como la de completar código (en C#). Los métodos de los diversos componentes aparecen en pantalla, lo que hace mucho más simple la programación. Uno puede entonces enfocarse en lo que quiere hacer y no andar hurgando en los diferentes métodos que hay para seleccionar el correcto.

Xamarin también tiene un poderoso depurador (debugger) en el simulador y en el dispositivo. Se puede depurar desde MonoDevelop o desde Visual Studio: poner breakpoints, watchpoints, ir línea por línea en el código, ver qué valores toman las variables, lo cual es ya una necesidad en el mundo moderno de la programación.

En mi opinión, Xamarin es una herramienta para plataformas móviles que tiene todo para ganar. Xamarin no es gratuito pero la versión de prueba no expira y puede probar las apps en los emuladores de iOS, Android y WP, respectivamente nada más. Hay que echarle un vistazo, sin duda alguna.

Referencias:

Xamarin

Comentarios