A few years back I wrote this app called DownToZero. It's basically a glorified countdown timer. It ran on Windows Phone because I figured, I already knew C# and at the time, I had a Windows Phone. Natural fit, right? It did pretty well for an app on a platform with .5% of the smart phone market.
Later, I got into Xamarin development and wrote an app for a client targeting iOS. It was a great experience and I learned a lot. But, I had this deep desire to build an app using Apple's tools. All of them: the language (Swift), XCode and Interface Builder. I wanted the whole iOS dev experience and I got it.
Upon nearly completing the app, the same one I wrote on Windows Phone, Apple changed to Swift 3 and XCode 8. This conversion process, from Swift 2.2 to 3.0 is just horrible. I'm at the end of my rope with this app and it's a shame because it was nearly done. But, all is not lost. In fact, this barrier is in fact an opportunity.
I've decided to scrap the Swift version of my app and re-write it using Xamarin and MVVMCross. I'm going to target both iOS and Android and go all the way with cross platform. It's going to be painful to start something over that I had almost finished, but I'll learn something new and I'll be blogging about the entire experience here.
My experience with Xamarin so far is limited to targeting iOS and Xamarin.Forms. I have yet to do much of anything with Android or MVVMCross. These two are totally new to me. It's going to be a learning experience but I think it's a worthy one. More to come.