August 4, 2013

Movement to Xamarin and mobile development

Second part of the article: Movement to Xamarin. Second part

Reasons that carried up the Flash platform to decadency are well known: the first strike was from Steve Jobs, then Adobe contributed changing the Flash roadmap many times introducing the mistrust inside the community and finally, HTML5 ( and compatibility across modern browsers) did the rest.

Many developers had to reorient their professional careers to new paths. A big group started to use Javascript and CSS in the same way they had used Flash before, doing websites. Another group remained using AS3 but based on Stage3D, Starling and FeathersUI, focused on gaming and mobile apps. I did a big jump to use Xamarin and c# language to develop mobile apps.

Why Xamarin?

  • Concept: Xamarin has a different approach to multi-platform paradigm: using a common language C# and a good software design you can share files across platforms, around 60-70%. This files could include app logic, data access layers or even business objects. For interface implementation, Xamarin allows you access to native ( iOS or Androd) APIs, objects and methods to show lists, buttons or navigation bars. Even though you have to develop the interface code every time you add a platform, the native components will give you a big advantage of time and performance.
  • xamarin_graph

    Xamarin layers

  • Language: I don’t like Javascript, I prefer strong-typed languages. Xamarin uses C# 5.0 and includes .Net Framework 4.5 inherited from Mono. Using a popular language like C# gives you access to a huge amount of code samples, libraries and frameworks.
  • Code reutilization: Xamarin lets you “bind” libraries that are written in native code ( Java or Objective C).
  • IDE: The Xamarin Studio is based on Monodevelop and offers fast code-completion, interface editor, SVN or Git, facilities to publish on TestFlight and more. It isn´t completely mature but has a good future. Besides you have the option to use Visual Studio doing some tricks.
  • Xamarin was created by an start-up ( called Xamarin too) leadered by Miguel de Icaza, creator and promoter of linux shell Gnome and Mono .Net environment. Personally I think Miguel has an intelligent vision of future and is a fantastic programmer.

Cons:

Not everything is pink, its cost is high enough to think twice before you buy it, specially if you compare it with open solutions more suitables for simple apps. Anyway I think the indie option is really affordable. Besides the cost, Xamarin philosophy includes the use of native APIs, and therefore you must be prepared to learn how to program in iOS or Android exactly as native developers do, and of course, read and understand Objective C and Java.

Additional good points:

  1. Xamarin Studio and C# is a combination used by many Unity3D developers to create their games.
  2. TestCloud is an innovative user interface testing platform offered by Xamarin: xamarin.com/test-cloud
  3. Xamarin has a component store: components.xamarin.com/
  4. You can reach mobile Windows Phone, iOS, Android and Mac.
  5. Playscript, created by Zinga, is a new language that mixes AS3 and C# and is easy to achieve by flash programmers. The Playscript compiler is integrated into Mono .Net environment and is accessible using Xamarin Studio or Monodevelop. With Playscript you can reuse your old AS3 projects and target mobile using Xamarin platform.

Post a Reply

Your email address will not be published. Required fields are marked *