Well, the development is just as much a 'pain' as is any xaml project (I'm using Xamarin Forms with xaml, as that is the advised way to go for mobile dev. and working in VS2015 sp3, not Xamarin studio, on Windows 10), but VS doesn't have any Xamarin specific auto-complete support (yet) or form designer/viewer, so that takes some searching for the correct keywords to use. But all in all it's been a rather pleasant experience, more so if you're a Visual Studio fan/addict
(I'm more of an Eclipse/Java fan
, but do 'speak' C#-ish too).
There's a 'pcl' (portable code library) that holds all shared code including all forms/screens, only platform-specific code is in a partial class/implementation for that platform, you just run the platform project as default and the dependent pcl is built accordingly.
Deploying during debug is best done on an emulator, and works like a charm using the Google emulator (not using the VS emulator as my hyper-v settings are incompatible, they are explicitly set to allow VirtualBox to run smoothly).
Deploying to a device can easily be done in 3 ways:
- export to an apk that you put on the device and install manually (or upload using your Developer Dashboard to the Play Store and install from there)
- deploy directly into the Play Store and install from there (didn't try that yet)
- run as a debug or release build from VS on a device connected to yiur PC
Building and testing the iOs release requires, by Apple licensing demands, an Apple Mac OS computer running the latest XCode and Xamarin studio installed. (my doughter owns a MacBook Pro I can use
) The build proces is completely controlled from VS, except for the user-interaction with the emulated iPhone, releasing to the Apple App Store I didn't try yet, haven't been working on the iOs implementation yet.
I guess a lot has improved during 2016, as the whole operation worked smoothly after I found the descriptions for these procedures
Executing the (free) lessons from the Xamarin University was a great help, getting me up to speed with xaml (again), sqlite3 and the multi-platform shenanigans. As said, all in all it was a good experience, and I intend to do more multi-platform mobile apps in this way.