Cross Platform Mobile Development using Xamarin and C# Develop your iOS, Android, Windows Phone apps with .NET and C# Alexey Strakh, EastBanc Technologies
Agenda • Mono and Xamarin • Cross Platform Environment and IDEs • Why C#? • Share your code • Automated UI Testing
The “Build Apps Multiple Times” Approach • • • • Platform-specific Multiple codebases Slow innovation Expensive
The “Write-Once-Run-Anywhere” Approach • Poor user experience • Not Complete API Coverage • High abandonment rates
The “Write Cross Platform” Approach
Xamarin • • • • • Native UI Native Performance Full API Coverage Shared codebase Re-use skills, teams, tools and CODE
DEMO “Hello World” app for iOS, Android and Windows Phone
How it works • Xamarin.iOS and Xamarin.Android • Ahead of Time Compiler for iOS • Compile and Link for Android • Windows Phone & Windows 8
Xamarin exposes 100% of the native APIs for iOS and Android
Anything you can do in Objective-C or Java can be done in C# with Xamarin
100% API Coverage Native SDK Bindings
Cross Platform Environment • Windows 8 • Mac OS X
IDEs • Xamarin Studio • Visual Studio Nuget, Resharper, Component Store ALM (TFS)
Why C#?
Simple Http Request
Why C# • C# Syntax • LINQ • Task Parallel Library • Async
Share your code • Linked files • Conditional compilation • Portable Class Libraries
Share your code approach
DEMO Share your code between iOS, Android and Windows Phone app
Model-View-ViewModel iPhone Android Windows Phone Mvvm “Digitize” your view: • • • • • Temperature Date Weather Image Wind Speed Actions
MvvmCross • Mvvm • Mvvm Cross Platform Framework • Databinding for Android (AXML) and iOS (XIB) • Plugins (Dialogs, Emails, Location, etc)
DEMO Share even more code. MvvmCross
Google Glass • • Xamarin.Android supports Google Glass devices Glass Development Kit (Sneak Peek) at the Component Store
Xamarin TestCloud Automatically test your iOS and Android apps • • • • • • Start immediately Hundreds of devices Continuous Integration Beautiful reports Test for fragmentation Object-based UI testing
Who uses Xamarin?
Useful Links • Xamarin Website http://xamarin.com • MvvmCross Jump Start https://github.com/MvvmCross/MvvmCross/wiki • Test Cloud http://xamarin.com/test-cloud • Google Glass Xamarin Component https://components.xamarin.com/view/googleglass
Thank you! Questions? Alexey Strakh @alexeystrakh http://strakh.com astrakh@eastbanctech.com http://eastbanctech.com http://xamarin.com http://east13.gomodev.com http://drmtm.us

Cross-platform mobile development using Xamarin and C#