I have been working on mobile development for the last five years or so. I am a C# developer but my journey of working on mobile development started when our Company was approached to develop a mobile application for Goa 1556. This is a non-profit organization that seeks to mobilise knowledge about Goa – its culture, diaspora, and burning issues.
It becomes a privilege if the client allows the developers to choose the preferred technology for the project. As it was in the case of this mobile development project. It was back in 2012 when xamarin was not around, and we happened to choose phonegap back then.
The Xamarin era started at Online when we reached that point that I think any mobile developer know about. Is it worth developing native? Should we keep coding the same thing 2-3 times? Master one programming language and technology is difficult enough, think about three! Not to mention to try to keep updated with continuous upcoming frameworks, versions, libraries, and components, etc.
I have been working on Xamarin for the last 2 years (from the time Xamarin was a paid platform). It was acquired by Microsoft almost a year ago. MS Visual Studio now includes Xamarin at no extra cost, including Community Edition, which is free for individual developers. I think using Xamarin is the way to go (because after all I am a C# developer). There is no need to re-code something for 3 different platforms when you can just have a shared codebase. Tools like Cordova and Phonegap don’t really work. They result in a very crappy experience that doesn’t use the native OS functions, doesn’t look and feel native, feels slow and has many bugs.