16
Understanding Xamarin Development Matt Milner @milnertweet http:// mattmilner.com

Understanding Xamarin Development Matt Milner @milnertweet

Embed Size (px)

Citation preview

Understanding Xamarin Development

Matt Milner

@milnertweet

http://mattmilner.com

Matt Milner Independent Consultant Pluralsight Author Interested in Pogonotrophy

@milnertweet http://mattmilner.com

Overview

Cross platform mobile developmentThe Xamarin solution

C# on all platforms

Sharing code

Building user interfaces

Mobile App Development

Native

Cross Platform C++ / C#

Cross Platfor

m HTML /

JS

Cross platform mobile dev

Android Android Studio Java Interface builder Fragments Mac or Windows

iOS Xcode Objective C Interface builder Storyboards Mac only

“”

Target iOS, Android, Windows and Mac with a single, shared C# codebase. Use the same language, APIs and data structures on every platform.

Xamarin

C#

Android Mac IOS Windows Windows Phone

Development Choices

Xamarin Studio• Windows or

Mac

Visual Studio• Windows Only• Build / Debug

on Mac

DemoXAMARIN STUDIO

VISUAL STUDIO

C# Source Code

C# on Android

.NET Runtime (Mono)

Application Package

AndroidBinding

sApp

Android Runtime (Dalvik)

Android Bindings

iOS BindingsC# Source Code

C# on iOS

Native Code

Native Application

Portable Class Libraries

Single DLL output Select target

platforms Only in-common APIs PCL

Android

iOS

Windows

Windows

Phone

Maximum code reuse!

DemoPORTABLE CLASS LIBRARIES – EXISTING SOLUTION

Building Native Interfaces

Integrated tools for Android and iOS

Drag and drop toolbox support

Hide some complexities

Android UI Code

iOS UI Code

Shared Code

APK iOS

Xamarin Forms

Single code base UI in XAML or C# Native platform

controls

Shared UI

Shared Code

APK iOS

Matt Milner @milnertweet http://mattmilner.com/