Earlier this summer I gave a presentation at NDC 2011 about writing cross platform mobile applications using C# and .NET. At the time of the presentation the future of MonoTouch and Mono for Android was uncertain, but with the recent news of Xamarin gaining ownership of the products, the future of C# on iOS and Android looks brighter than ever.
The presentation covers 8 concrete strategies for designing applications for maximum code re-use across all three platforms, as well as techniques to make development more productive and hassle-free. The strategies/techniques covered in the presentation are:
- Portable Class Libraries
- Linked Files
- The "Project Linker" tool
- VSMonoTouch to open MonoTouch projects in Visual Studio
- Pre-processor directives
- Abstract common functionality
- Leverage MVVM on all platforms
- Use pre-built abstractions such as MonoMobile.Extensions
All the presentations from NDC 2011 are available in a torrent file, but to make the presentation more discoverable and accessible I have uploaded it to my Vimeo account. The slides are available on SlideShare.
Cross platform .NET mobile apps in practice from Jonas Follesø on Vimeo.