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.
- 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.
- 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.
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:
- Xamarin Studio and C# is a combination used by many Unity3D developers to create their games.
- TestCloud is an innovative user interface testing platform offered by Xamarin: xamarin.com/test-cloud
- Xamarin has a component store: components.xamarin.com/
- You can reach mobile Windows Phone, iOS, Android and Mac.
- 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.