GETTING STARTED WITH CROSS PLATFORM MOBILE
DEV IN C#
Ed SniderFeb Mar 12 2014Northern VA Mobile C# Developers’ Group
CONTENT
Introduction
The Problem with Native Mobile App Dev
The Benefits of Multi-Platform Mobile Dev with C#
What is Xamarin?
What does this mean for how we build mobile apps?
How?
Share Code
Leverage the MVVM Pattern
Code!
Wrap up
INTRODUCTION
Ed Snider - @edsnider
Developer at InfernoRed Technology
Co-Organizer of NoVA Mobile C# Developers Group
www.infernored.com@infernoredtech
THE PROBLEM WITH TRADITIONAL NATIVE MOBILE APP DEV… Native mobile apps are great but here’s the problem:
Several Platforms: Windows, iOS, Android
Several Languages: C#, Objective-C, Java
Maintenance nightmares
Customers and end-users suffer
THE BENEFITS OF MULTI-PLATFORMNATIVE MOBILE APP DEV WITH C# Develop for all platforms with a single language – C# - using Xamarin
Harness the power of the .NET framework
Single solution with shared code
Unified and consistent maintenance/testing
Feature parity across platforms = happy end users
+ C#
WHAT IS XAMARIN?
Xamarin is built on Mono
Allows native app compilation on Android and iOS using C#
100% API Coverage – All iOS and Android APIs are exposed as C# class libraries
Up-to-date with API releases from Apple and Google
XAMARIN DEVELOPMENT TOOLS
Xamarin for Visual Studio Xamarin Studio for Windows and Mac
WHAT DOES THIS MEAN?
You can build most of your app using shared logic
You can use a single language with familiar tools
You can keep native and platform-specific/familiar UIs
HOW?
LEVERAGE THE MVVM PATTERN
View (UI)
ViewModel
Model
Data BindingCommands
ServiceInterfaces
ConnectivityLocationCameraEtc…
Platform Specific Service
Implementations
SHARE CODE!
Portable Class Library (PCL)
ViewModelsModels
Core App LibraryServices, Business Logic, Service Access, Data Access, etc.
Windows iOS Android
View / UIPlatform Specifics
View / UIPlatform Specifics
View / UIPlatform Specifics
SOME OTHER COOL THINGS ABOUT XAMARIN… Component Store: http://components.xamarin.com/
.NET Mobility Scanner: http://scan.xamarin.com/
F# preview: http://docs.xamarin.com/guides/cross-platform/fsharp/
Xamarin Test Cloud: http://xamarin.com/test-cloud
RESOURCES
Demo code: https://github.com/edsnider/CoffeeFinder-XamarinDemo
Xamarin Sample / Starter-Apps Employee Directory App - http://xamarin.com/prebuilt/employeedirectory Field Service App - http://xamarin.com/prebuilt/fieldservice
PUBLIC SERVICE ANNOUNCEMENT FROM @VISUALSTUDIO