Cross Platform Mobile Dev with C# and Xamarin (CapArea.NET User Group 5/27/14)

Post on 10-May-2015

213 views 3 download

Tags:

transcript

CROSS PLATFORM MOBILE DEV WITH C# AND

XAMARIN

Ed SniderMay 27 2014CapArea.NET User 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

www.novamobiledev.org@novamobiledev

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

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

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/