+ All Categories
Home > Technology > Introduction to Xamarin

Introduction to Xamarin

Date post: 08-Jul-2015
Category:
Upload: michael-ridland
View: 92 times
Download: 3 times
Share this document with a friend
Description:
Presentation given a SydMobile meetup Nov 2014. In this talk Michael Ridland give an introduction to the Xamarin core solution and the extended product line. We will look at how it works, the good parts and bad parts. If there's time we can even get into some sample apps and coding. Finally Michael's happy to answer any questions you have regarding mobile development with Xamarin.
Popular Tags:
52
@rid00z www.xamarinhackday.com www.michaelridland.com Introduction to Xamarin
Transcript
Page 1: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Introduction to Xamarin

Page 2: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Michael Ridland

Mobile Developer

[email protected]

@rid00z

www.michaelridland.com

Page 3: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

What is native?

Page 4: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

The Anatomy of a Native App

Native User Interfaces Native API Access Native Performance

Page 5: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

The Silo Approach

Build App

Multiple Times

Page 6: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Xamarin’s (Traditional) Approach

Native With

Code Sharing

Page 7: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Language Support

Functional Imperative

F#

C#

Page 8: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

C# Language Features

C# 1 & 2 (2002-2006)

Statically Typed

C style language

Object Oriented

C# 3.0 (2007)

• Automatic Properties

• Collection Initialisers

• Type Inference

• LINQ

• Lamdba expression

• Anonymous Types

• … + more

C# 4 (2010)

dynamic types

named arguments

optional arguments

… + more

C# 5 (2013)

BuiltIn Async (async/await)

C# 6 (2013)

Null propagator

Expression-bodied members

… + more

Page 9: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

F# Language Features (largely OSS community driven)

F# 1 (2005)

Functional programming

Discriminated unions

Records

Tuples

Pattern matching

Type abbreviations

Object programming

Structs

… + more

F# 2 (2010)

Active patterns

Units of measure

Sequence expressions

Asynchronous programming

Agent programming

Extension members

F# 3 (2012)

Type providers

LINQ query expressions

CLIMutable attribute

Triple-quoted strings

Auto-properties

… + more

F# 4 (2013)

Printf on unitized values

Extension property initializers

Non-null provided types

Class names as functions

Static parameters for provided methods

Printf interpolation

… + more

F# 5 (2015)

… + lots lots more

Page 10: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

What is LINQ?

Page 11: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

What is Language Level Async

Page 12: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Base Class Libraries

Page 13: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Windows APIs

Page 14: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

iOS APIs | 100% Coverage

Page 15: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Android APIs | 100% Coverage

Page 16: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Anything you can do in Objective-C or Java

can be done in C# or F# with Xamarin

Pro Tip

Page 17: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Native Performance

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.

Page 18: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Demos

Demos

Page 19: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Always Up To Date

Same day support for

iOS 5, iOS 6, iOS 6.1,

iOS 7, iOS 7.1, iOS 8…

Page 20: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Future Proof

Always up-to-date with the latest APIs from

Apple and Google.

Full Support for Android TV, Fire TV, Android Wear, Google Glass, etc

Page 21: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Distribute Everywhere

A Xamarin app is an app, distribute it everywhere

Page 22: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Rich Library EcoSystem

Json.NET Rx

…and many more!

Page 23: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Development Environments

Page 24: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Development Environment

Xamarin Studio

PC or Mac

Visual Studio Plugin

VS 2010/2012/2013

Page 25: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Development Environment

or even?

Page 26: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Visual Studio Integration

Page 27: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Android Designer

Page 28: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

iOS Designer

Fully integrated into Xamarin

Studio & Visual Studio

iOS 6 & 7 Storyboard support

Intuitive event handling

Support for auto-layout

Live preview of custom controls

Page 29: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Component Store

Page 30: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Xamarin.Forms

Page 31: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Xamarin.Forms

Xamarin.FormsTraditional Xamarin approach

Shared UI Code

Page 32: Introduction to Xamarin
Page 33: Introduction to Xamarin
Page 34: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Xamarin.Forms: What’s Included?

40+ Pages, Layouts, and Controls

Build from code or XAML

Two-way Data Binding

Navigation

Animation API

Dependency Service

Messaging Center

Page 35: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Xamarin.Forms: Pages

Content MasterDetail Navigation Tabbed Carousel

Page 36: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Xamarin.Forms: Layouts

Stack Absolute Relative Grid ContentView ScrollView Frame

Page 37: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Xamarin.Forms: Controls

ActivityIndicator BoxView Button DatePicker Editor

Entry Image Label ListView Map

OpenGLView Picker ProgressBar SearchBar Slider

Stepper TableView TimePicker WebView EntryCell

ImageCell SwitchCell TextCell ViewCell

Page 38: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Xamarin Forms Demo

Page 39: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Real Apps

Page 40: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Extended Product Line (Some Pre-Release)

Page 41: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Xamarin Test Cloud

Page 42: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Xamarin Test Cloud Customers

Page 43: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Xamarin Android Player

Super fast hardware accelerated

simulator

Available on Mac and PC

Free for Xamarin Customers

Page 44: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Page 45: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Exception Reporting

Custom Reporting

Page 46: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Event Tracking

Performance Tracking

Page 47: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Match exceptions

to users

Page 48: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Sketches

Live Coding Environment

Page 49: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Xamarin Profiler Preview

Analyse performance of your apps

Page 50: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Profitable Innovative Company

Yes, the platform does cost money but that’s

GREAT!

It gives them money to solve more problems!

It gives them money to build the ecosystem!

Page 51: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Moving from Obj-C to Xamarin

Special Guest David Dancy

Page 52: Introduction to Xamarin

@rid00z www.xamarinhackday.com www.michaelridland.com

Q & A

Michael Ridland

[email protected]

@rid00z

www.michaelridland.com


Recommended