VS002 -Da Windows ad Android e iOS in 60 minuti con Xamarin fileAndroid e iOS in 60 minuti con...

19
presenta www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 1 VS002 -Da Windows ad Android e iOS in 60 minuti con Xamarin blog.corradocavalli.com [email protected] @corcav Corrado Cavalli – "Bug innovator" @ Gaia

Transcript of VS002 -Da Windows ad Android e iOS in 60 minuti con Xamarin fileAndroid e iOS in 60 minuti con...

Page 1: VS002 -Da Windows ad Android e iOS in 60 minuti con Xamarin fileAndroid e iOS in 60 minuti con Xamarin ... Android e Windows. • Mac per sviluppo iOS ... MVVM: Model View ViewModel

presenta

www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 1

VS002 -Da Windows ad Android e iOS in 60 minuti con Xamarin

blog.corradocavalli.com

[email protected]

@corcav

Corrado Cavalli – "Bug innovator" @ Gaia

Page 2: VS002 -Da Windows ad Android e iOS in 60 minuti con Xamarin fileAndroid e iOS in 60 minuti con Xamarin ... Android e Windows. • Mac per sviluppo iOS ... MVVM: Model View ViewModel

Reinventare la ruota?

• A quanti di voi piace reinventare la ruota?

• DRY: don’t repeat yourself

• Quando sviluppiamo un app nativa per Android, iOS e Windows facciamo esattamente questo…

• Ok, ma è la tecnologia che ce lo impone…

iOS: XCode / Objective-C o Swift / MAC platform

Android: Java/Android Studio

Windows: Visual Studio / C#

www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 2

Page 3: VS002 -Da Windows ad Android e iOS in 60 minuti con Xamarin fileAndroid e iOS in 60 minuti con Xamarin ... Android e Windows. • Mac per sviluppo iOS ... MVVM: Model View ViewModel

…e se…

• Potessi ottenere lo stesso risultato usando:

• Visual Studio

• C# (o F#)

• Condividendo le "parti comuni" tra iOS, Android e Windows?

• Totale accessibilità delle API di ogni singola piattaforma

• Ottenendo un app 100% nativa

• Nessun compromesso

• Risparmiando sullo sviluppo e relativa manutenzione?

www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 3

Page 4: VS002 -Da Windows ad Android e iOS in 60 minuti con Xamarin fileAndroid e iOS in 60 minuti con Xamarin ... Android e Windows. • Mac per sviluppo iOS ... MVVM: Model View ViewModel

www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 4

• Xamarin è una società indipendente partner di Microsoft e non solo

• Fondata nel 2009 ma vecchia conoscenza dal 2001… Mono vi ricorda qualcosa?

250+ dipendenti, 15K clienti, 1.200.000 sviluppatori

La versione ‘starter ’ è inclusa nell’installazione di Visual Studio 2015

Tutte le versioni di Visual Studio sono supportate (incluse 2012 e 2013)

Benvenuti nel magico mondo di Xamarin

Supporto di Xamarin

alle nuove API di

Google e Apple

Oltre 20K pacchetti

NuGet e component

Xamarin

Xamarin Studio

Visual Studio

Designer iOS e Android

integrati

Page 5: VS002 -Da Windows ad Android e iOS in 60 minuti con Xamarin fileAndroid e iOS in 60 minuti con Xamarin ... Android e Windows. • Mac per sviluppo iOS ... MVVM: Model View ViewModel

www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 5

• "Anything you can do in Objective-C and Java can be done in C# with Xamarin.”

• Le API di Android e iOS vengono ‘mappate’ (bindings) verso il mondo .NET

• Tutto il mondo .NET (C# 6.0, async/await, etc…) sono disponibili

• https://xamarin.com/faq

Come funziona?

Page 6: VS002 -Da Windows ad Android e iOS in 60 minuti con Xamarin fileAndroid e iOS in 60 minuti con Xamarin ... Android e Windows. • Mac per sviluppo iOS ... MVVM: Model View ViewModel

www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 6

• Windows per Visual Studio, Android e Windows.

• Mac per sviluppo iOS

• I tool di compilazione sono quelli di Xcode In alcuni casi bisogna usare Interface Builder

• Sviluppare app iOS con Visual Studio su Windows?

Cosa mi serve?

http://www.cazzulino.com/how-vs-builds-on-mac-with-xamarin.html

Page 7: VS002 -Da Windows ad Android e iOS in 60 minuti con Xamarin fileAndroid e iOS in 60 minuti con Xamarin ... Android e Windows. • Mac per sviluppo iOS ... MVVM: Model View ViewModel

www.wpc2015.it – [email protected] - +39 02 365738.11 7

• I progetti platform-specific referenziano librerie cross-platform che contengo il codice che è possibile condividere.

• E’ possibile usare code sharing, compilazione condizionale, partial classes…

• IOC

• E’ possibile condividere anche la UI: Xamarin Forms

Ok, ma come condivido il codice?

"Classic" Xamarin

Page 8: VS002 -Da Windows ad Android e iOS in 60 minuti con Xamarin fileAndroid e iOS in 60 minuti con Xamarin ... Android e Windows. • Mac per sviluppo iOS ... MVVM: Model View ViewModel

www.wpc2015.it – [email protected] - +39 02 365738.11 8

To-Do List

Soluzione unica per Windows, iOS e Android

Page 9: VS002 -Da Windows ad Android e iOS in 60 minuti con Xamarin fileAndroid e iOS in 60 minuti con Xamarin ... Android e Windows. • Mac per sviluppo iOS ... MVVM: Model View ViewModel

www.wpc2015.it – [email protected] - +39 02 365738.11 9

Architettura• Azure, Web API, EF e SQL Azure

• MVVM

• Visual Studio e Xamarin

• PCL

Web

APISQLAzure

Data

Service

PCL

MVVM

PCL

Page 10: VS002 -Da Windows ad Android e iOS in 60 minuti con Xamarin fileAndroid e iOS in 60 minuti con Xamarin ... Android e Windows. • Mac per sviluppo iOS ... MVVM: Model View ViewModel

www.wpc2015.it – [email protected] - +39 02 365738.11 10

MVVM: Model View ViewModel

Android iOSWindows

Markup

C#

VIEW

Markup

C#

VIEW

Markup

C#

MODEL

C# (Data, Services…)

VIEWMODEL

C# (Data, Services…)

Databinding Databinding Databinding

Page 11: VS002 -Da Windows ad Android e iOS in 60 minuti con Xamarin fileAndroid e iOS in 60 minuti con Xamarin ... Android e Windows. • Mac per sviluppo iOS ... MVVM: Model View ViewModel

www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 11

Librerie di supporto per MVVM cross-platform

Page 12: VS002 -Da Windows ad Android e iOS in 60 minuti con Xamarin fileAndroid e iOS in 60 minuti con Xamarin ... Android e Windows. • Mac per sviluppo iOS ... MVVM: Model View ViewModel

www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 12

Basta slides! Fammi vedere il codice!!!

Page 13: VS002 -Da Windows ad Android e iOS in 60 minuti con Xamarin fileAndroid e iOS in 60 minuti con Xamarin ... Android e Windows. • Mac per sviluppo iOS ... MVVM: Model View ViewModel

www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 13

Organizzazione MVVM

LoginViewModel HomeViewModel DetailViewModel

ViewModelLocator

Init (INavigationService, IDialogService, ISettings)

Page 14: VS002 -Da Windows ad Android e iOS in 60 minuti con Xamarin fileAndroid e iOS in 60 minuti con Xamarin ... Android e Windows. • Mac per sviluppo iOS ... MVVM: Model View ViewModel

www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 14

iOS/Android Adapters

Adapter LayoutInflater XML

ToDoItem

View

UITableViewSource

ToDoItemCell

GetCell(index)

RowsInSection)

RowSelected

Page 15: VS002 -Da Windows ad Android e iOS in 60 minuti con Xamarin fileAndroid e iOS in 60 minuti con Xamarin ... Android e Windows. • Mac per sviluppo iOS ... MVVM: Model View ViewModel

www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 15

• Verissimo! Ma dipende dal tipo di app che dovete sviluppare.

• Forms = Applicazioni Business

• Più complicati per applicazioni consumer o con UI complesse

• Valutate bene la scelta.

Ok, ma con Xamarin Forms è molto più facile…

Page 16: VS002 -Da Windows ad Android e iOS in 60 minuti con Xamarin fileAndroid e iOS in 60 minuti con Xamarin ... Android e Windows. • Mac per sviluppo iOS ... MVVM: Model View ViewModel

www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 16

Il futuro è cross-platform

Page 17: VS002 -Da Windows ad Android e iOS in 60 minuti con Xamarin fileAndroid e iOS in 60 minuti con Xamarin ... Android e Windows. • Mac per sviluppo iOS ... MVVM: Model View ViewModel

Q & A

Domande e Risposte

www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 17

Page 18: VS002 -Da Windows ad Android e iOS in 60 minuti con Xamarin fileAndroid e iOS in 60 minuti con Xamarin ... Android e Windows. • Mac per sviluppo iOS ... MVVM: Model View ViewModel

Corsi consigliati

MOCxxx - Titolo

MOCxxx - Titolo

www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 18

Page 19: VS002 -Da Windows ad Android e iOS in 60 minuti con Xamarin fileAndroid e iOS in 60 minuti con Xamarin ... Android e Windows. • Mac per sviluppo iOS ... MVVM: Model View ViewModel

Contatti OverNetEducation

OverNet [email protected]

www.overneteducation.it

Tel. 02 365738

@overnete

www.facebook.com/OverNetEducation

www.linkedin.com/company/overnet-solutionswww.wpc2015.it

www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 19