El mejor IDE para aplicaciones multiplataforma
Ya hemos hablado de Apache Cordova, Ionic, Appcelerator Titanium, frameworks destinados al desarrollo móvil con lenguajes web. Son soluciones que sin duda tienen sus adeptos, y cada vez más alternativas están apareciendo con la misma premisa, siendo lo más reciente NativeScript, otra opción a nuestra disposición que directamente se promocionan con el lema de ser superiores a cualquier otra cosa existente. Aunque sean unas palabras terriblemente pretenciosas, se puede entender porque lo dicen y es que usan JavaScript, TypeSript o AngularJS para realizar sus apps. Pero no es de NativeScript de quién quiero hablar. Hoy me gustaría presentar otra opción no tan conocida que nace a partir de una Start up y usa C# como lenguaje de programación.
Xamarin, Visual Studio, Monodevelop y el desarrollo multiplataforma
Antes de continuar debemos entender la diferencia entre IDE y Framework:
- Un Framework es un seguido de bibliotecas y soluciones que hacen de nuestro desarrollo una tarea más sencilla, otorgando funciones listas para usar sin las cuales deberíamos recurrir a más líneas de código para poder hacer lo mismo. Un ejemplo es Bootstrap como framework CSS, o Cordova o Ionic como frameworks de desarrollo móvil.
- Un IDE, por otro lado es un entorno de desarrollo listo para realizar distintas tareas, tales como debutar código, accesos rápidos para encontrar las relaciones entre unos métodos u otros y en general dar al desarrollador una herramienta capaz de trabajar con frameworks y tirar adelante el proyecto.
Por ejemplo, Eclipse es un IDE, con el cual puedes trabajar con frameworks y mucho más, mientras que si decidimos usar Cordova con Atom, lo que estamos haciendo es usar un “simple” editor de código.
Sabiendo esto, pues, ¿qué es Xamarin? Se trata de un framework para el desarrollo de aplicaciones móviles multiplataforma con el uso de C#, es decir, nada de lenguajes web. Con este lenguaje tan potente, similar a Java, podemos lograr realizar estructuras de código muy robustas, más que con JavaScript, para poder construir nuestras apps, junto a una respuesta útil para el aspecto visual, pudiendo usar los recursos nativos de cada plataforma. Actualmente, Xamarin es capaz de compilar, entre otras plataformas, a Android, iOS y Windows, de modo que en una empresa dispuesta a dar su herramienta móvil a sus clientes puede ahorrarse el tener que destinar recursos a un equipo para Apple y otro para Android. Únicamente contratando a un grupo de programadores hábiles con C# y las herramientas que otorga .Net, será capaz de afrontar todo tipo de proyectos multiplataforma.
Pero aparte del framework también debemos tener en cuenta los entornos de desarrollo. Para C# tenemos dos opciones:
- La opción “cerrada” pero completa. Sin olvidar que .Net y C# son lenguajes que originan en Microsoft, esta empresa nos da un seguido de herramientas con Visual Studio que van a cubrir todas nuestras necesidades. Tenemos a nuestra disposición el propio IDE preparado para trabajar con el lenguaje, el cual nos enlaza todas las referencias entre nuestras clases y métodos, con todo tipo de atajos de teclado para hacer nuestro desarrollo más sencillo. Pero además también nos da el Visual Studio Team Services, una suit online de gestión de proyectos con la que podremos organizar con metodología ágil todo el proceso. Esto incluye Scrum, gráfico para ver el rendimiento en los sprints, poder asignar tareas de desarrollo e incluso un repositorio Git. Todo centralizado en los servicios de Visual Studio. La contra que tiene todo esto es que no está disponible en Linux y sólo podremos gozar de todo esto en Windows y Mac.
- La alternativa libre gracias a MonoDevelop, un IDE de código abierto disponible en las tres plataformas Windows, Mac y Linux, para el desarrollo de software con C#. No tendremos la sincronización con Visual Studio Team Services, pero con un gestor de Git aparte, y nuestro navegador para visitar la herramienta online, seremos perfectamente capaces de lograr todo lo que nos da Visual Studio IDE sin tener que pasar por las garras de Microsoft.
De modo que, ¿cuál es el mejor IDE para desarrollo multiplataforma de aplicaciones móviles? Si nos centramos en cuanto a entorno de desarrollo yo apostaría por usar MonoDevelop. Es cierto que en Linux es un poco más complicado de configurar, pero es el que mejor responde a la pregunta del título. Por otro lado si queremos tenerlo todo centralizado me quedaría con Visual Studio IDE, ya que viene preparado para gozar de todas las ventajas que Microsoft tiene preparadas para nosotros. Junto al desarrollo de apps móviles con Xamarin, es probablemente lo que un developer pueda estar buscando actualmente.
Por último comentar que Visual Studio puede ser configurado para el desarrollo con Cordova o Ionic, así que si aún no os atrevéis con C#, podéis usar el mismo IDE para otro tipo de lenguajes sin ningún tipo de problema.
Curso relacionado: Curso Superior de Desarrollo de Aplicaciones para Móviles