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!!


4 comments:

  1. Loved your article, Claudio. Now my question is: why use Xamarin for developing Windows Phone apps, when we know that developing them straight in C# would be the ideal way, and knowing also that Visual Studio is a far more superior IDE than Xamarin Studio? Thanks

    ReplyDelete
  2. Thanks Roman. Technically speaking you would not be using Xamarin Studio to develop the Windows Phone app. What Xamarin.Forms buys you if you have a WP project is the ability to define the UI once (in a shared or PCL project), and then get a WP specific UI as well as the iOS and Android UI.

    ReplyDelete
  3. Xamarin framework
    is a better way to Code, design, develop, integrate and finally test all together in one package. It is a modern programming language having powerful tools, an efficient and pleasant workflow.

    ReplyDelete
  4. Hire DevRaabit, an Authorized Xamarin Partners for your Cross Platform Mobile App Development.

    ReplyDelete