2. 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
3. INTRODUCTION
Ed Snider - @edsnider
Developer at InfernoRed Technology
Co-Organizer of NoVA Mobile C# Developers’ Group
www.infernored.com
@infernoredtech
www.novamobiledev.org
@novamobiledev
4. 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
5. THE BENEFITS OF MULTI-
PLATFORM
NATIVE 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#
6. 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
9. LEVERAGE THE MVVM PATTERN
View (UI)
ViewModel
Model
Data Binding
Commands
Service
Interfaces
Connectivity
Location
Camera
Etc…
Platform Specific
Service Implementations
10. SHARE CODE!
Portable Class Library (PCL)
ViewModels
Models
Core App Library
Services, Business Logic, Service Access, Data Access, etc.
Windows iOS Android
View / UI
Platform Specifics
View / UI
Platform Specifics
View / UI
Platform Specifics
11. 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
12. RESOURCES
Xamarin Sample / Starter-Apps
Employee Directory App - http://xamarin.com/prebuilt/employeedirectory
Field Service App - http://xamarin.com/prebuilt/fieldservice
Code from my demo
CoffeeFinder-XamarinDemo - https://github.com/edsnider/CoffeeFinder-
XamarinDemo
Image credit: https://octodex.github.com/