CROSS PLATFORM MOBILE DEV WITH C# AND XAMARIN Ed Snider May 27 2014 CapArea.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- 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#
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 Binding Commands Service Interfaces Connectivity Location Camera Etc… Platform Specific Service Implementations
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
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/

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

  • 1.
    CROSS PLATFORM MOBILE DEVWITH C# AND XAMARIN Ed Snider May 27 2014 CapArea.NET User Group
  • 2.
    CONTENT Introduction The Problem withNative 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 TRADITIONALNATIVE 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 OFMULTI- 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? Xamarinis 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
  • 7.
    XAMARIN DEVELOPMENT TOOLS Xamarinfor Visual Studio Xamarin Studio for Windows and Mac
  • 8.
  • 9.
    LEVERAGE THE MVVMPATTERN View (UI) ViewModel Model Data Binding Commands Service Interfaces Connectivity Location Camera Etc… Platform Specific Service Implementations
  • 10.
    SHARE CODE! Portable ClassLibrary (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 COOLTHINGS 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/