Developing native iOS & Android apps in C# James Montemagno Developer Evangelist, Xamarin @JamesMontemagno | www.MotzCod.es
May 07, 2015
Developing native iOS & Android apps in C#
James Montemagno Developer Evangelist, Xamarin @JamesMontemagno | www.MotzCod.es
The World of Mobile
More than one OS
Android is a bit popular
Architecting Mobile Apps
Single App
Single App
Single App
More Platforms == More Users
Silo Approach
Build Apps Multiple Times
Write Once, Run Anywhere Approach
Lowest Common Denominator
App Generation
Write Once, Run Anywhere Approach
Lowest Common Denominator
App Generation
Xamarin Approach
Native with Code Sharing
Windows APIs
100% Coverage
iOS APIs
100% Coverage
Android APIs
100% Coverage
C# runs on 2.6 Billion Devices
C#Native AppsNo Compromises
Why C#?
§ Statically Typed
Why C#?
§ LINQ § Lambdas
Returns an array of “Names” from the list of People.
Why C#?
§ Events & Delegates
Callback Hell
Callback Hell
Enter Async/Await
Enter Async/Await
https://developer.apple.com/library/ios/documentation/uikit/reference/uiview_class/UIView/UIView.html#//apple_ref/occ/clm/UIView/animateWithDuration:animations:
Enter Async/Await
How Xamarin Works
• C# + .NET Runtime • Native UI • Native Performance
Let’s build a native iOS appall in C# with Xamarin
Sharing Code
File Linking
Shared Code Projects
Portable Class Libraries • 1 Assembly • Multiple Platforms • Including:
• Xamarin.Android • Xamarin.iOS
Live Coding Adventure 2
Xamarin is more
Xamarin Test Cloud
Xamarin for Visual Studio
Where Do I Start? Xamarin.com
Try Xamarin Today
http://meetup.com/SeattleMobileDevelopers
§ First Tuesday § All Topics § Lightning Talks
Find Me: @JamesMontemagno www.MotzCod.es GitHub.com/JamesMontemagno Xamarin: @XamarinHQ www.Xamarin.com
Latest App My StepCounter for Android & iOS
www.MyStepCounterApp.com 100% Open Source Starter Compatible