So, I been playing with Xamarin on and off (damn meetings) and I am slowly getting to grips with it. I am not a C# developer so while learning Xamarin, I am also learning C#!
I have to be honest, some things I have found a real struggle. The Android part of my project just died, would not build for toffee, after many hours of search for info, even talking to Xamarin (work call), it turned out to be a corrupt package in a hidden directory. To be fair, with every new tool, language you are going to learn these issues.
The other random issue which I have not solved is using OpenTk and OpenGL to render a cube on the screen. This is completely shared code (WOOHOO) however iOS works, Android does not. One thing I picked up from when speaking to Xamarin is that if any platform is going to break, its Android due to Google pushing updates. I can respect that! Android Studio 0.9 -> 1.0 broke every project for me.
The Show must go on!
I can see some real benefits from Xamarin, if I was a C# developer I would be in heaven! I really want to see whats possible with Xamarin Forms, the holy grail of mobile development (Be warned its not!, its a good technology for a certain job, not all jobs).
In all honestly I don’t have much interest in Xamarin Native which is where you write C# code that directly binds to native Apple/Android Api’s. I would prefer just to do it in Xcode / Android Studio.
I think my personal focus for Xamarin is looking at cross-platform game development using MonoGame or OpenTK.OpenGL. I either need to learn XNA for MonoGame 3D stuff or see how different the OpenGl is on OpenTK. This however brings me to the question, why am I not using Unity3D?
My work focus is Xamarin Forms and working out how far you can go with them. I have been told things like custom pins on a map is a no go on Forms.
I will keep you posted on what I discover!