Wednesday, May 28, 2014

What Xamarin 3 means to the future of Mobile Development


It was just a few hours ago that Xamarin release Xamarin 3.  With this announcement they have yet again revolutionized the way we write cross-platform mobile applications.

The announcement first highlights the Designer for iOS, which is awesome, but I want to take a step forward, and instead talk about what I think Xamarin.Forms will do for your future mobile development efforts.

Some background: For the last few months my company worked and developed an internal MVVM framework that provides services such as Navigation, Bindings,  Loosely-coupled messaging, mobile optimized Dependency Injection, List Controls for effortless displaying data, etc.  to be used in our projects because we believe these are things that real apps need, and what was available at the time did not fit our style of MVVM development,  so we rolled our own. Were were in the process of rolling out support for Windows Phone and were very excited to what we would be able to accomplish with this newly created framework when creating apps for all 3 platforms.  

While you might think that today's announcement would be annoying, or bittersweet to us, it is quite the contrary. We no longer have to maintain and evolve our framework, and instead we can focus on applying all we learned while creating this -yet to be named- framework, and instead extend (if needed) what Xamarin has just rolled out.

Sample UI on all 3 Platforms.
One of the immediate advantages of Xamarin.Forms over other frameworks (including our own) is that these services work on not only on the two (iOS and Android) but 3 mobile platforms (Windows Phone), and it promises the ability to achieve the quintessential  100% Code sharing.

"That's not something new" - You might say; and I would have to agree with you. MVVMCross (the most well known mvvm framework in the Xamarin ecosystem) does that.  But where Xamarin.Forms has no comparison is, in that  it attempts (and in my mind succeeds)  to bring XAML one step closer to being in all the mobile platforms (Something Microsoft just recently started doing).

XAML in itself is might not sound like a big win for seasoned iOS and Android developers, but think for a moment in the millions of developers who are already familiar with Microsoft technologies and UI creating in WPF, Silverlight and WP8. These guys already are already familiar with constructs such as Page Based UIs, Navigation Services, Two-way Bindings,  Data Templates, etc.

I invite you not just to believe me, and go try it yourself. The framework is already available today and let me know how awesome it it!!


Tuesday, May 27, 2014

Lo que Xamarin 3 significa para el futuro de desarrollo móvil


Hace pocas horas que Xamarin lanzó oficialmente Xamarin 3. Con este anuncio acaban de una vez más revolucionar la forma en que escribimos aplicaciones móviles multi-plataforma.

El lanzamiento primero subraya el nuevo diseñador de pantallas para iOS en Visual Studio, el cual es sorprendente, pero por ahora vamos a avanzar un paso hacia adelante para hablar de Xamarin.Forms y lo que yo pienso logrará para tus futuros proyectos de desarrollo móvil.

Información de contexto:Por gran parte del ultimo año mi compañía  desarrolló un framework interno basado en el patrón MVVM (Model, View, ViewModel) que provee servicios como Navegación, Bindings,  Loosely-coupled messaging, mobile optimized Dependency Injection, List Controls para desplegar datos facilmente, etc.  Este framework fue utilizado en varios de nuestros proyectos para clientes ya que cuando se crean apps de verdad, estos servicios son necesarios, y en aquel momento lo que estaba disponible no encajaba en nuestro estilo de desarrollo MVVM, así que creamos nuestro propio framework.  Recientemente estabamos en el proceso de implementar la funcionalidad para Windows Phone y estábamos super contentos con el potencial que tendría dicho framework para crear aplicaciones para las tres plataformas (iOS, Android y Windows Phone).

Mientras que podrías pensar que el anuncio del día de hoy es fastidioso para nosotros, tengo para contarte que es todo lo contrario. Ya no tendremos que mantener y evolucionar nuestro framework, y en su lugar nos podemos enfocar en aplicar todo lo que aprendimos al crear esta todavía-no-nobrada librería (y extender la de Xamarin, en caso de necesitarse).

Una de las ventajas imediatas de Xamarin.Forms sobre todas las demás librerías (incluyendo la nuestra) es la de incluye todos estos servicios para no solo las dos plataformas para los que ellos tiene productos (iOS y Android) pero también para Windows Phone, y promete la habilidad de alcanzar 100% de re-utilización de código.

"Esto no es nada nuevo" - Diría un lector incrédulo - Melvyn Perez- Y tendría que darte la razón. Ya existen librerías que logran traer estos servicios al eco sistema de Xamarin; MVVMCross siendo la más conocida. Pero donde Xamarin.Forms se "come los bizcochitos" (modismo Dominicano que significa ser superior) es en el hecho de que logra traer a XAML un paso más cerca de estar presente en todas las plataformas móviles. Algo que Microsoft ha estado empujando desde hace tiempo y recientemente ha logrado en la plataforma Microsoft con Universal Apps.

XAML per se no suena como un gran logro si eres un developer de iOS y/o Android, pero toma un momento y piensa sobre los millones de desarrollador@s que ya están familiarizados con tecnologías Microsoft para crear Interfaces de Usuario (UI por sus siglas en Inglés) en WPF, Silverlight y Windows Phone. Est@s developers ya tienen mucha experiencia con conceptos como Pages, Navegación, Bindings, Data Templates y otros.

Yo los invito a que no me crean y los traten por ustedes mismos. El framework ya está disponible  hoy. ¡¡Me dejan saber lo formidable que es!!!

Versión traducida del articulo original en inglés.