EastBay.net Building Mobile Apps with Xamarin and Visual Studio

Preview:

Citation preview

+

14 July 2016

Craig Dunn

Xamarin Microsoft

craig@xamarin.com conceptdev.

blogspot.com

@conceptdev

First

release of

Xamarin.Mac

Launch

Partner

Program

200,000

Developers

Xamarin

Founded

First release of

Xamarin.Android

Xamarin.iOS launches

(originally known as

MonoTouch)

Ximian

Founded

2001 2003 2009 2011 2012 2013

Mono

Launches

Ximian Acquired

by Novell

Xamarin 2.0

Component Store

Xamarin Test Cloud

Evolve 2013

Microsoft Partnership

500,000

Developers

100+ Partners

100+ Components

2014

//

Xamarin 3

2000

SAP Partnership

Fire TV Support

Salesforce partnership

Visionary in Gartner Magic

Quadrant

Google Glass Support

Visual Studio Partner

of the Year

Android Wear Support

Xamarin Evolve 2014

800,000

Developers

200+ Partners

200+ Components

2015

1 Million Developers

IBM Partnership

Visual Studio 2015 Support

Oracle Partnership

Apple Watch Support

C# 6 Support

1,100,000

Developers

230+ Partners

300+ Components

Xamarin Insights

Xamarin University

Xamarin.iOS

Xamarin.Android

Xamarin.Mac

2016

Microsoft

Test Cloud

Xamarin.Forms

.NET & Mono

MonoMac

MoonlightSilverlight

2010

Shared C# codebase • 100% native API access • High performance

iOS C# UI Windows C# UIAndroid C# UI

Shared C# Code

✓ Android

✓ iOS

✓ Xamarin.Forms

File > New

App Settings

Screen design

Images & Resources

C# code

X

Android

✓ demo: TaskyProPortable

Mono

Android C#

.NET

Windows C#

Shared C# Code

Mono

iOS C#

Parts of Mono being used

(unused code linked away)

runs natively on Android

• User Interface Code (C#)

• Android XML layouts

• Platform features (eg Android M)

Widgets

etc

SQLiteURLConnection

file system

etc

native UI

Android

Java

C NDK“bindings”

Shared C# Code

• Business Logic

• Database (SQLite)

• Web services

• File operations

Xamarin.Android takes advantage of

Just In Time (JIT) compilation on the

Android device.

iOS

✓ Create iOS, tvOS, watchOS apps

✓ Access all native iOS features

✓ Edit Storyboards and XIBs

✓ Build, test in simulator, debug

✓ Also use Xamarin.Studio on OS X

✓ demo: TaskyStoryboard

✓ demo: To9o

Mono .NETMono

iOS C# Windows C#Android C#

Shared C# Code

Parts of Mono being used

(unused code linked away)

runs natively on iOS

• User Interface Code (C#)

• Storyboards & XIBs

• Platform features (eg iOS 9)

Shared C# Code

• Business Logic

• Database (SQLite)

• Web services

• File operations

UIKit

PassKit

etc

SQLite

NSUrlSession

file system

etc

native UI

iOS

CocoaPods

Obj-C libs“bindings”

Xamarin.iOS does full Ahead Of Time

(AOT) compilation to produce an ARM

binary for Apple’s App Store.

Xamarin.Android takes advantage of

Just In Time (JIT) compilation on the

Android device.

https://medium.com/@harrycheung/mobile-app-performance-redux-e512be94f976#.5thv4hcj8

Mac

iOS

Android

Windows Phone

iCircuit Touch Draw

86%

14%

72%

28%

70%

30%61%39%

88%

12%

76%

24%

90%

10%

Xamarin.Forms

Traditional Xamarin

Approach

With Xamarin.Forms:

More code-sharing, still all native

iOS C# UI Windows C# UIAndroid C# UI

Shared C# Backend

Shared UI Code

Shared C# Backend

✓ demo: Todo (Xamarin.Forms)

craig@xamarin.com conceptdev.blogspot.com @conceptdev

Sample Code

github.com/xamarin/mobile-samples

github.com/conceptdev/xamarin-samples

github.com/xamarin/xamarin-forms-samples

Craig Dunn

Xamarin Microsoft

craig@xamarin.com conceptdev.blogspot.com @conceptdev

Thank you!

Recommended