Microsoft Austria was organising a quite interesting event today: Cross-Platform-Development in a heterogenous world. As you probably know Microsoft and Xamarin are partnering on a global level to enable C# devs to write great apps for iOS and Android. And since we at code4ward are having our products also released for OS X, Android and iOS, we were curious to see best practices in this area.
The agenda was a bit fuzzy and contained two parts: the first part mentioned that Xamarin will be presented and how this tool can help developing mobile apps for iOS and Android. And a second part where they show "which tools Microsoft is offering for cross-platform development and how Microsoft Azure can be utilised here.
After a quite high-level overview ("what makes a modern app?" and why building native apps is hard), we got introduced to client technology choices - also on a high level (how does decision between a web app and a native app impact portability, performance, updatability etc. Then we've seen a short demo on how using Visual Studio and Xamarin to develop an Android app. The rest of the time was used for a lengthy presentation of Windows Azure Mobile services and Visual Studio Online and how a Web Load Test can be conducted in the cloud.
The topic itself is interesting for many devs - as room was almost full with devs. But the majority of the presented content missed the point in my opinion. Quite some time was spent on advertising Azure with features that are barely relevant for cross-platform development. Additionally an annoying amount of time was spent with copy and pasting code around in Visual Studio solutions - this should be prepared upfront in a a working solution, since we never walked through the code anyways (and of course, this is error prone ...)
I really expected much more focused, in-depth and hands-on development content - because reworking your codebase to support cross-platform development is not easy. I recommend having a level provided with the agenda so one can better evaluate, if an event is helpful.
A Last Recommendation
Much better depth of content I found in the //build/ presentation of Miguel de Icaza on "Go Mobile with C# and Xamarin" - watch this! He gives an overview on how Xamarin works and how to structure your source code.