I was recently looking for a platform to build apps that run on both iOS and Android. I wanted to build native apps, not just web views packaged up for an app store.
I thought I’d give React Native another look. Last time I investigated it there was only support for iOS and Android wasn’t ready yet. Unfortunately, although it still works well for iOS I couldn’t get it to work for Android (on either Mac or Windows). Not really the cross-platform framework I was looking for.
Next I gave Xamarin a go and I’ve been really happy with it. I’ve mainly been using Xamarin.Forms, which is pretty similar to WPF/UWP and I can write mobile apps in XAML and C# using it.
It will be better when there’s a UI designer but for now I’m happy writing raw XAML, as I’m pretty used to this from when I made WPF apps. Once Xamarin Studio becomes Visual Studio for Mac it should be easier to work graphically. The previewer is already better than the one in Visual Studio on Windows.
The Portable Class Library (PCL) definitions are a little clunky. This should improve when everything converges on .NET Standard (the one library to rule them all). I think this is a better option than the other methods of sharing code between projects.
I’ll write more about my thoughts on code sharing strategies, Xamarin Studio, Xamarin.Forms and show an little game that I’ve built in my next posts. There are three more posts on this topic that will be published this week. Subscribe below to be emailed about them.
P.S. I’m available for hire.