Getting Started with Cross Platform Mobile Dev in C# (NoVA Mobile C# Dev Group 3/12/14)

14
GETTING STARTED WITH CROSS PLATFORM MOBILE DEV IN C# Ed Snider Feb Mar 12 2014 Northern VA Mobile C# Developers’ Group

Transcript of Getting Started with Cross Platform Mobile Dev in C# (NoVA Mobile C# Dev Group 3/12/14)

Page 1: Getting Started with Cross Platform Mobile Dev in C# (NoVA Mobile C# Dev Group 3/12/14)

GETTING STARTED WITH CROSS PLATFORM MOBILE

DEV IN C#

Ed SniderFeb Mar 12 2014Northern VA Mobile C# Developers’ Group

Page 2: Getting Started with Cross Platform Mobile Dev in C# (NoVA Mobile C# Dev Group 3/12/14)

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

Page 3: Getting Started with Cross Platform Mobile Dev in C# (NoVA Mobile C# Dev Group 3/12/14)

INTRODUCTION

Ed Snider - @edsnider

Developer at InfernoRed Technology

Co-Organizer of NoVA Mobile C# Developers Group

www.infernored.com@infernoredtech

Page 4: Getting Started with Cross Platform Mobile Dev in C# (NoVA Mobile C# Dev Group 3/12/14)

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

Page 5: Getting Started with Cross Platform Mobile Dev in C# (NoVA Mobile C# Dev Group 3/12/14)

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#

Page 6: Getting Started with Cross Platform Mobile Dev in C# (NoVA Mobile C# Dev Group 3/12/14)

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

Page 7: Getting Started with Cross Platform Mobile Dev in C# (NoVA Mobile C# Dev Group 3/12/14)

XAMARIN DEVELOPMENT TOOLS

Xamarin for Visual Studio Xamarin Studio for Windows and Mac

Page 8: Getting Started with Cross Platform Mobile Dev in C# (NoVA Mobile C# Dev Group 3/12/14)

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

Page 9: Getting Started with Cross Platform Mobile Dev in C# (NoVA Mobile C# Dev Group 3/12/14)

HOW?

Page 10: Getting Started with Cross Platform Mobile Dev in C# (NoVA Mobile C# Dev Group 3/12/14)

LEVERAGE THE MVVM PATTERN

View (UI)

ViewModel

Model

Data BindingCommands

ServiceInterfaces

ConnectivityLocationCameraEtc…

Platform Specific Service

Implementations

Page 11: Getting Started with Cross Platform Mobile Dev in C# (NoVA Mobile C# Dev Group 3/12/14)

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

Page 12: Getting Started with Cross Platform Mobile Dev in C# (NoVA Mobile C# Dev Group 3/12/14)

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

Page 13: Getting Started with Cross Platform Mobile Dev in C# (NoVA Mobile C# Dev Group 3/12/14)

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

Page 14: Getting Started with Cross Platform Mobile Dev in C# (NoVA Mobile C# Dev Group 3/12/14)

PUBLIC SERVICE ANNOUNCEMENT FROM @VISUALSTUDIO