Introduzione a Xamarin

23
DotNetAbruz zo .NET Day 05 Febbraio 2015 Nicolò Carandini [email protected] @tpcware blog.tpcware.com Sviluppo multipiattaforma nativo con Xamarin

Transcript of Introduzione a Xamarin

DotNetAbruzzo

.NET Day05 Febbraio 2015

Nicolò Carandini

[email protected]@tpcwareblog.tpcware.com

Sviluppo multipiattaforma nativo con Xamarin

.NET Day

• Sviluppo multipiattaforma• C# e .NET su Android e iOS• Condivisione del codice• Ambienti di sviluppo

Agenda

.NET Day

Sviluppo multipiattaforma

.NET Day

Sviluppo ibrido

Black Box

CSS | HTMLJavaScript | TypeScript

.NET Day

• Se il team ha competenze Web oriented (HTML / CSS)

• Se non si vuol gestire UI e UX native• Le app rischiano di essere "una uguale all’altra"• Le performance non sempre sono ottimali• L’app viene percepita come estranea al device

perché l’utente si aspetta di usare i controlli specifici della piattaforma.

Pro e contro dello sviluppo ibrido

.NET Day

Sviluppo nativo

.NET Day

• L’app ha il look and feel nativo(che l’utente percepisce come indicatore di qualità).

• Le performance sono quelle delle app native.• Riutilizzo di ampia parte del codice su tutte le tre

piattaforme• Il team deve avere il know how di sviluppo nativo

sulle tre piattaforme.

Pro e contro dello sviluppo nativo

.NET Day

.NET su Android e iOS ?

Linux

Mono

iOS

MonoTouch

iOS

Xamarin.iOS

Android

Mono for Android

iOS

Xamarin.Android

Free Software / Open Source License Commercial License

.NET Day

.NET su Android

App

.NET APIs

Mono Runtime

Android Kernel

Dalvik Runtime

Android Bindings Android.* Java.*MCW

ACW

JIT C

ompi

ler

.NET Day

.NET su iOS

App

iOS

.NET APIs iOSBindings

Application code

Ahea

d of

tim

e Co

mpi

ler

.NET Day

Windows API

.NET Day

Android API (100% coverage)

.NET Day

iOS API (100% coverage)

.NET Day

Condivisione del codice

.NET Day

Riutilizzo del codice

Android

iOS

Mac

WinPhone

.NET Day

• Pages• Layouts• Views• Cells

Xamarin Forms

.NET Day

Tabbedpage

Look & Feel nativo

.NET Day

• Xamarin XAML non è uguale a Microsoft XAML.• La versione 1.3.x risolve molti problemi di

gioventù.• Modello nettamente più semplice (e limitato).• Non raggiunge la capacità compositiva di

Microsoft XAML(un esempio su tutti il button).

• Ma ha delle comodità aggiuntive (i.e.: OnPlatform)

• Link: http://blog.tpcware.com/2014/09/xamarin-xaml-vs- microsoft-xaml-the-devil-is-in-the-details/

Xamarin Forms XAML

.NET Day

Ambiente di sviluppo

.NET Day

• Scaricare i diversi SDK per le varie versioni delle API• Impostare l’emulatore (Google SDK / Genymotion / …)

Sviluppare per Android con Visual Studio

.NET Day

Sviluppare per iOS con Visual Studio

.NET Day

Per iniziare: developer.xamarin.com

.NET Day

Sviluppatori Xamarin Italia