114
Programmiamo iPhone e iPad (e non solo!) con Stefano Ottaviani [email protected] @ste8

Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Embed Size (px)

DESCRIPTION

MonoTouch ha delle caratteristiche che lo differenziano rispetto agli altri framework per lo sviluppo su iPhone / iPad: vediamo quali sono, che vantaggi ci possono dare e in che modo possono rivelarsi più divertenti :), in particolar modo nell'ambito delle applicazioni LOB (Line of Business). Anche se MonoTouch non è direttamente cross-platform, cercheremo inoltre di dare uno sguardo a come organizzare i nostri progetti in modo tale da farli girare anche su altri device, in particolare Android, Windows Phone 7, e perché no, desktop e netbook, col minor sforzo possibile.

Citation preview

Page 1: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Programmiamo iPhone e iPad (e non solo!) con

• Stefano Ottaviani‣ [email protected]‣ @ste8

Page 2: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Quale sarà il futuro di MT?

2

Page 3: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Quale sarà il futuro di MT?

2

Page 4: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Quale sarà il futuro di MT?

2

Page 5: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Quale sarà il futuro di MT?

2

All  technology  roadmaps  remain  

intact

Page 6: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Quale sarà il futuro di MT?

2

All  technology  roadmaps  remain  

intact

Page 7: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Quale sarà il futuro di MT?

2

All  technology  roadmaps  remain  

intactYou  should,  yes.  It  will  

be  compa;ble.

Can  we  con;nue  working  with  MonoTouch?

Page 8: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Quale sarà il futuro di MT?

2

All  technology  roadmaps  remain  

intactYou  should,  yes.  It  will  

be  compa;ble.

Can  we  con;nue  working  with  MonoTouch?

No Panic

Page 9: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Conosciamoci un po’

3

Page 10: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Conosciamoci un po’

• Chi utilizza già MonoTouch?

3

Page 11: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Conosciamoci un po’

• Chi utilizza già MonoTouch?

• Chi ha idea di cosa si tratta?

3

Page 12: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Conosciamoci un po’

• Chi utilizza già MonoTouch?

• Chi ha idea di cosa si tratta?

• Chi conosce già Objective-C?

3

Page 13: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Conosciamoci un po’

• Chi utilizza già MonoTouch?

• Chi ha idea di cosa si tratta?

• Chi conosce già Objective-C?

• Chi conosce già .NET Framework?3

Page 14: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Chi sono?

4

Page 15: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Chi sono?

• Dev / SEng @ KILOG Srl‣ Da Palm OS a iPad, passando per Windows CE / Mobile

(C++, .NET CF)

4

Page 16: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Chi sono?

• Dev / SEng @ KILOG Srl‣ Da Palm OS a iPad, passando per Windows CE / Mobile

(C++, .NET CF)

• Communities‣ DotNetMarche, XPUG Marche

4

Page 17: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Chi sono?

• Dev / SEng @ KILOG Srl‣ Da Palm OS a iPad, passando per Windows CE / Mobile

(C++, .NET CF)

• Communities‣ DotNetMarche, XPUG Marche

• Contatti‣ [email protected]‣ @ste8 ‣ blogs.ugidotnet.org/ste84

Page 18: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Cosa devo sviluppare? (1/2)

5

Page 19: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Cosa devo sviluppare? (1/2)

• App LOB (Line of Business)‣ Online e soprattutto OFFLINE

✴Non si vive di soli servizi!

5

Page 20: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Cosa devo sviluppare? (1/2)

• App LOB (Line of Business)‣ Online e soprattutto OFFLINE

✴Non si vive di soli servizi!

• Device:iPhone e iPad come riferimenti‣ ma ci sono anche Android, WP7, netbook

5

Page 21: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Cosa devo sviluppare? (1/2)

• App LOB (Line of Business)‣ Online e soprattutto OFFLINE

✴Non si vive di soli servizi!

• Device:iPhone e iPad come riferimenti‣ ma ci sono anche Android, WP7, netbook

• UX usabile e attraente!5

Page 22: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Cosa devo sviluppare? (2/2)

6

Page 23: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Cosa devo sviluppare? (2/2)

• Performante‣ L’exe non deve essere per forza piccolo

6

Page 24: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Cosa devo sviluppare? (2/2)

• Performante‣ L’exe non deve essere per forza piccolo

• Controllo sul deploy dell’app

6

Page 25: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Cosa devo sviluppare? (2/2)

• Performante‣ L’exe non deve essere per forza piccolo

• Controllo sul deploy dell’app

• Ridurre potenziali problemi x sviluppo‣ No puntatori & rilascio memoria

6

Page 26: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Il layer UI va cmq rifatto (1/5)

Esempio MIX11 App http://tinyurl.com/442vt3t

iPhone

7

Page 27: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Il layer UI va cmq rifatto (2/5)

Esempio MIX11 App http://tinyurl.com/442vt3t

WP7

8

Page 28: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Il layer UI va cmq rifatto (3/5)

Esempio MIX11 App http://tinyurl.com/442vt3t

Android

9

Page 29: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Il layer UI va cmq rifatto (4/5)

Ipse dixit: Martin Fowlerhttp://martinfowler.com/bliki/CrossPlatformMobile.html

To summarize:

• Don't use cross-platform toolkits• For maximum reach: built a web app that looks

like web app• To appeal to a particular platform: build a native

app for that platform, with a experience design based on that platforms interaction style

10

Page 30: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Il layer UI va cmq rifatto (5/5)

Ste dixit: ma almeno riutilizziamo la logica di business e di accesso dati...

... soprattutto in app offline!

Riscrivere il codice in linguaggi diversi per ogni piattaforma è

molto costoso!11

Page 31: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Che strumenti abbiamo?

12

Page 32: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Che strumenti abbiamo?

• Objective-C‣ learning curve ulteriore x il linguaggio‣ target: “solo” iPhone, iPad, Mac OS X

12

Page 33: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Che strumenti abbiamo?

• Objective-C‣ learning curve ulteriore x il linguaggio‣ target: “solo” iPhone, iPad, Mac OS X

• HTML + JavaScript‣ attenti alle diverse modalità!‣ indicata se già li conosciamo

12

Page 34: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Che strumenti abbiamo?

• Objective-C‣ learning curve ulteriore x il linguaggio‣ target: “solo” iPhone, iPad, Mac OS X

• HTML + JavaScript‣ attenti alle diverse modalità!‣ indicata se già li conosciamo

• MonoTouch & Co.12

Page 35: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Cos’è MonoTouch? (1/3)

13

Page 36: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Cos’è MonoTouch? (1/3)

• Come Mono... ma diverso!‣ Suite per portare C# e .NET su iPhone!

13

Page 37: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Cos’è MonoTouch? (1/3)

• Come Mono... ma diverso!‣ Suite per portare C# e .NET su iPhone!

• Alcune limitazioni da ambiente Apple‣ Usa compilazione statica (AOT, Ahead of

Time) invece che a runtime (JIT)• http://www.mono-project.com/AOT

‣ No generazione codice• Reflection.Emit, DLR, Generic Virtual

Methods13

Page 38: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Cos’è MonoTouch? (2/3)

14

Page 39: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Cos’è MonoTouch? (2/3)

• MonoDevelop + Interface Builder‣ Lavori in corso per IB 4

14

Page 40: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Cos’è MonoTouch? (2/3)

• MonoDevelop + Interface Builder‣ Lavori in corso per IB 4

• Cosa c’è‣ C# 4‣ Garbage Collection‣ LINQ / Lamba‣ Generics‣ Reflection / Static Reflection‣ WCF ‣ Parallel Framework

14

Page 41: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Cos’è MonoTouch? (3/3)

15

Page 42: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Cos’è MonoTouch? (3/3)

• Thin layer sopra le API native‣ rapidità di aggiornamento all’iOS SDK‣ binding x utilizzo librerie Objective-C

15

Page 43: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Cos’è MonoTouch? (3/3)

• Thin layer sopra le API native‣ rapidità di aggiornamento all’iOS SDK‣ binding x utilizzo librerie Objective-C

‣ learning curve: conoscere le basi dell’ambiente nativo– Oltre alle HIG (Human Interface Guidelines)– Infrastruttura (view controllers, ...)– saper almeno leggere Objective-C

15

Page 44: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Cos’è MonoTouch? (3/3)

• Thin layer sopra le API native‣ rapidità di aggiornamento all’iOS SDK‣ binding x utilizzo librerie Objective-C

‣ learning curve: conoscere le basi dell’ambiente nativo– Oltre alle HIG (Human Interface Guidelines)– Infrastruttura (view controllers, ...)– saper almeno leggere Objective-C

• Prezzo:pro o contro?15

Page 45: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Soddisfa i miei bisogni? (1/3)

16

Page 46: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Soddisfa i miei bisogni? (1/3)

• App LOB (Line of Business)‣ Online e soprattutto OFFLINE

- Non si vive di soli servizi!✴Si... e fa molto altro!

16

Page 47: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Soddisfa i miei bisogni? (1/3)

• App LOB (Line of Business)‣ Online e soprattutto OFFLINE

- Non si vive di soli servizi!✴Si... e fa molto altro!

• Device:iPhone e iPad come riferimenti‣ ma ci sono anche Android, WP7, netbook✴Posso condividere BIZ e DAL!

16

Page 48: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Soddisfa i miei bisogni? (2/3)

17

Page 49: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Soddisfa i miei bisogni? (2/3)

• UX usabile e attraente!✴Stesse possibilità di Objective-C (IB)

17

Page 50: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Soddisfa i miei bisogni? (2/3)

• UX usabile e attraente!✴Stesse possibilità di Objective-C (IB)

• Performante‣ L’exe non deve essere per forza piccolo✴Compilazione “nativa”, LLVM compiler✴iCircuit test: http://news.ycombinator.com/item?id=2557047

17

Page 51: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Soddisfa i miei bisogni? (2/3)

• UX usabile e attraente!✴Stesse possibilità di Objective-C (IB)

• Performante‣ L’exe non deve essere per forza piccolo✴Compilazione “nativa”, LLVM compiler✴iCircuit test: http://news.ycombinator.com/item?id=2557047

• Controllo sul deploy dell’app✴Stesse possibilità di Objective-C!

17

Page 52: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Soddisfa i miei bisogni? (3/3)

18

Page 53: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Soddisfa i miei bisogni? (3/3)

• Ridurre potenziali problemi x sviluppo‣ No puntatori & rilascio memoria✴C# e Garbage Collector => No puntatori!✴Non è tutto oro...attenti ai memory leak!

✴Profiler in arrivo??

18

Page 54: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Risorse per iniziare

19

Page 55: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Risorse per iniziare

• 2 Video da NDC 2010‣ http://tekpub.com/conferences/ndc2010

19

Page 56: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Risorse per iniziare

• 2 Video da NDC 2010‣ http://tekpub.com/conferences/ndc2010

• Stack Overflow / Mailing List

19

Page 57: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Risorse per iniziare

• 2 Video da NDC 2010‣ http://tekpub.com/conferences/ndc2010

• Stack Overflow / Mailing List

• Esempi: TweetStation

19

Page 58: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Risorse per iniziare

• 2 Video da NDC 2010‣ http://tekpub.com/conferences/ndc2010

• Stack Overflow / Mailing List

• Esempi: TweetStation

• Libri 19

Page 59: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Ingredienti per iniziare

20

Page 60: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Ingredienti per iniziare

• Un computer Mac con Mac OS X

20

Page 61: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Ingredienti per iniziare

• Un computer Mac con Mac OS X

• iPhone SDK

20

Page 62: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Ingredienti per iniziare

• Un computer Mac con Mac OS X

• iPhone SDK

• MonoTouch (+ Mono)

20

Page 63: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Ingredienti per iniziare

• Un computer Mac con Mac OS X

• iPhone SDK

• MonoTouch (+ Mono)

• MonoDevelop20

Page 64: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Configurazione ambiente

21

Page 65: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Configurazione ambiente

• Boot Camp + Parallels = stessa (ma unica) partizione Windows

21

Page 66: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Configurazione ambiente

• Boot Camp + Parallels = stessa (ma unica) partizione Windows

• Shortcuts per ‣ Mac OS X‣ Windows da Parallels‣ MonoDevelop‣ Info a breve nel blog

21

Page 67: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Visual Studio come IDE (1/2)

22

Page 68: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Visual Studio come IDE (1/2)

• Perchè vorrei farlo?‣ IDE migliore / Resharper, ...

22

Page 69: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Visual Studio come IDE (1/2)

• Perchè vorrei farlo?‣ IDE migliore / Resharper, ...

• Si può fare! (cit)‣ o quasi.... solo build, NO RUN

22

Page 70: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Visual Studio come IDE (1/2)

• Perchè vorrei farlo?‣ IDE migliore / Resharper, ...

• Si può fare! (cit)‣ o quasi.... solo build, NO RUN

• Non solo per progetti BIZ e DAL, anche per UI

22

Page 72: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Poniamo le basi...

...per costruire la prima App!

24

Page 73: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Cocoa Touch: il Framework

25

Page 74: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Cocoa Touch: il Framework

• Cocoa : .NET FX = Objective-C : C#

25

Page 75: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Cocoa Touch: il Framework

• Cocoa : .NET FX = Objective-C : C#

• Foundation‣ objects, memory, ...

25

Page 76: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Cocoa Touch: il Framework

• Cocoa : .NET FX = Objective-C : C#

• Foundation‣ objects, memory, ...

• UIKit, GameKit, MapKit, ...

25

Page 77: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Cocoa Touch: il Framework

• Cocoa : .NET FX = Objective-C : C#

• Foundation‣ objects, memory, ...

• UIKit, GameKit, MapKit, ...

• Intro per .Net Dev:‣ http://www.kevfoo.com/2011/05/quick-primer-cocoa-and-cocoa-touch/

25

Page 78: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Window e Views

26

Page 79: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Window e Views

• Application / AppDelegate‣ main, ...‣ 10 secondi per caricare!

26

Page 80: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Window e Views

• Application / AppDelegate‣ main, ...‣ 10 secondi per caricare!

• Window‣ 1 sola per App!!! Poi coi ViewControllers...

26

Page 81: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Window e Views

• Application / AppDelegate‣ main, ...‣ 10 secondi per caricare!

• Window‣ 1 sola per App!!! Poi coi ViewControllers...

• View (UIView)‣ Base per UI Controls (Button, Textbox, ...)‣ Base per User Control! No ViewController

26

Page 82: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

1° Demo!• Usare MonoDevelop (anche più istanze)• Creare UI con / senza Interface Builder• Utilizzo di immagini / risorse• Creazione di custom control con UIView• Utilizziamo le tabelle

27

Page 83: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

ViewControllers

28

Page 84: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

ViewControllers

• Basato su MVC (o una specie...)

28

Page 85: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

ViewControllers

• Basato su MVC (o una specie...)

• Creazione di app con più screen‣ Navigation‣ Resize, orientamento

28

Page 86: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

ViewControllers

• Basato su MVC (o una specie...)

• Creazione di app con più screen‣ Navigation‣ Resize, orientamento

• “Infrastruttura” per UI Controls‣ es. TableViewController

28

Page 87: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Esempi di ViewController (1/4)

TabBarController

29

Page 88: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Esempi di ViewController (2/4)

NavigationController

30

Page 89: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Esempi di ViewController (3/4)

SplitViewController / PopoverController

31

Page 90: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Esempi di ViewController (4/4)

TableViewController

32

Page 91: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

2° Demo!• Creare una form con UIViewController• Resize e rotazione form• Anchor e docking• App con più form grazie ai ViewController.

33

Page 92: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Altri approcci per UI

34

Page 93: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Altri approcci per UI

• Tentativi di MVVM

34

Page 94: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Altri approcci per UI

• Tentativi di MVVM

• DSL? (Domain-specific language)

34

Page 96: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Altri approcci per UI

• Tentativi di MVVM

• DSL? (Domain-specific language)

‣ iCircuit:http://praeclarum.org/post/1520024382/interfaces-caches-cross-platform

‣ Post Antonio Ganci:http://blogs.ugidotnet.org/AntonioGanci/archive/2010/04/19/un-approccio-per-ottenere-una-architettura-malleabile.aspx34

Page 97: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Accesso ai dati locali (1/2)

35

Page 98: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Accesso ai dati locali (1/2)

• SQLite‣ portabilità in altre piattaforme??‣ Repository / DAO pattern? ORM?

35

Page 99: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Accesso ai dati locali (1/2)

• SQLite‣ portabilità in altre piattaforme??‣ Repository / DAO pattern? ORM?

• Tipi di accesso‣ ADO.NET‣ API di SQLite dirette‣ ORM (es. Vici CoolStorage)

35

Page 100: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Accesso ai dati locali (2/2)

• Performance Tips‣ DataReader via GetString, GetInt, ..

http://www.bayshield.com/2010/6/29/monotouch-sqlite-performance-tip

‣ Uso di transazioni e connection pooling

‣ Quantificazione costi reflection (se usata)http://praeclarum.org/post/1572668275/quantifying-reflections-slowdown-in-sqlite-net

36

Page 101: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Accesso ai dati remoti

37

Page 102: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Accesso ai dati remoti

• ASMX Web Service e WCFcome in Silverlight

37

Page 103: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Accesso ai dati remoti

• ASMX Web Service e WCFcome in Silverlight

• REST via HttpRequest / Response

37

Page 104: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Accesso ai dati remoti

• ASMX Web Service e WCFcome in Silverlight

• REST via HttpRequest / Response

• JSON‣ https://github.com/chrisntr/Newtonsoft.Json

37

Page 105: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

IoC / DI

• Diverse librerie‣ OpenNETCF.IoC

‣ Funq, PicoContainer, TinyIoC

‣ http://monotouch.info/Tags/IoC

38

Page 107: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Alcuni framework di supporto

40

Page 108: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Alcuni framework di supporto

• MonoTouch.Dialog‣ https://github.com/migueldeicaza/MonoTouch.Dialog

40

Page 109: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Alcuni framework di supporto

• MonoTouch.Dialog‣ https://github.com/migueldeicaza/MonoTouch.Dialog

• MonoCross‣ Stile MVC di ASP.NET MVC‣ http://vagabondrev.org/2011/04/20/monocross-the-technology/

‣ http://code.google.com/p/monocross/

40

Page 110: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Alcuni framework di supporto

• MonoTouch.Dialog‣ https://github.com/migueldeicaza/MonoTouch.Dialog

• MonoCross‣ Stile MVC di ASP.NET MVC‣ http://vagabondrev.org/2011/04/20/monocross-the-technology/

‣ http://code.google.com/p/monocross/

• ReactiveUX per MonoTouch‣ http://code.google.com/p/proactive-framework/40

Page 111: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

What else?

41

Page 112: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

What else?

• UIAlertView non “asincrona”‣ magari qualcosa con le coroutine, a la

Caliburn?

41

Page 113: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Domande?

42

Page 114: Programmiamo iPhone e iPad (e non solo!) con MonoTouch

Grazie!

43