36
Costruire applicazioni cross- platform con Xamarin e Visual Studio 2013 Emanuele Bartolesi Blog: http://www.emanuelebartolesi.com Twitter: @kasuken Luca Zulian Blog: http://queube.com Twitter: @luca_julian

Costruire applicazioni cross- platform con Xamarin e Visual Studio 2013

  • Upload
    aaron

  • View
    41

  • Download
    2

Embed Size (px)

DESCRIPTION

Costruire applicazioni cross- platform con Xamarin e Visual Studio 2013. Emanuele Bartolesi Blog: http://www.emanuelebartolesi.com Twitter: @ kasuken. Luca Zulian Blog: http:// queube.com Twitter: @ luca_julian. #bem14. Chi Sono. Founder of SmartCore Tech - PowerPoint PPT Presentation

Citation preview

Page 1: Costruire applicazioni cross- platform  con  Xamarin  e  Visual Studio 2013

Costruire applicazioni cross-platform con Xamarin e Visual Studio

2013Emanuele BartolesiBlog: http://www.emanuelebartolesi.comTwitter: @kasuken

Luca ZulianBlog: http://queube.comTwitter: @luca_julian

Page 2: Costruire applicazioni cross- platform  con  Xamarin  e  Visual Studio 2013

#bem14

Page 3: Costruire applicazioni cross- platform  con  Xamarin  e  Visual Studio 2013

Chi Sono• Founder of SmartCore Tech• DotNetToscana Staff Member & Speaker• Speaker for various events• Trainer• SharePoint addicted from 2007• Enthusiast ASP.NET Developer• NopCommerce Contributor• MCPD Web applications, MCTS BING Applications, MCTS

Silverlight, MCTS HTML5 & CSS3

• Italian blog: www.emanuelebartolesi.com• English blog: www.geekswithblogs.net/emanueleb/• Twitter enthusiast: @kasuken• Email: [email protected]

Page 4: Costruire applicazioni cross- platform  con  Xamarin  e  Visual Studio 2013

Chi SonoDeveloper e Architect in Dev4Side S.r.l.Speaker for various eventsMCTS Web ApplicationsBlog: queube.comTwitter: @luca_julian

Page 5: Costruire applicazioni cross- platform  con  Xamarin  e  Visual Studio 2013

Agenda Perché sviluppare con Xamarin Ambienti di Sviluppo (non solo VS) Condivisione del codice tra le diverse piattaforme Demo Resources

Page 6: Costruire applicazioni cross- platform  con  Xamarin  e  Visual Studio 2013

Perchè sviluppare con Xamarin- write once, run everywhere -

- Anything you can do in Objective-C, Swift or Java, you can do in C# -

Page 7: Costruire applicazioni cross- platform  con  Xamarin  e  Visual Studio 2013

Approccio con sviluppo nativo

Page 8: Costruire applicazioni cross- platform  con  Xamarin  e  Visual Studio 2013

Comparazioni sulle piattaforme

Page 9: Costruire applicazioni cross- platform  con  Xamarin  e  Visual Studio 2013

Cosa serve?

• Mac OS X • XCode • Objective-C• Swift• iOS SDK• Apple Tools

• OS indipendent • Eclipse, IntelliJ IDEA

or Android Studio or…

• Java• Android SDK• SDK Tools

• Windows OS• Visual Studio • C#• .NET Framework• Windows Phone

SDK

Page 10: Costruire applicazioni cross- platform  con  Xamarin  e  Visual Studio 2013

Xamarin – approccio tradizionale

Page 11: Costruire applicazioni cross- platform  con  Xamarin  e  Visual Studio 2013

Xamarin.Forms

• Condivisione del codice per la UI• Possibilità di estendere

Xamarin.Forms• Pensato per MVVM e data binding• Creazione delle pagine in XAML

• Possibilità utilizzare un approccio misto

• Più di 40 controlli disponibili• Android 4.0+, iOS6.1+, WP8

Page 12: Costruire applicazioni cross- platform  con  Xamarin  e  Visual Studio 2013

Obiettivi• Massimizzare il codice condiviso tra le piattaforme• Ottimizzare i tempi di sviluppo• Diminuire i tempi di bug fixing• Diminuire i tempi per il testing• Diminuire il tempo per l’implementazione di nuove

features• Utilizzare un solo linguaggio (e magari un solo IDE e

magari un solo OS)• Create applicazioni sempre up to date (aggiornamento

piattaforme, nuovi rilasci, nuove features ecc…)

Page 13: Costruire applicazioni cross- platform  con  Xamarin  e  Visual Studio 2013

Xamarin – Win StatusWindows APIs100% coverage

Page 14: Costruire applicazioni cross- platform  con  Xamarin  e  Visual Studio 2013

Xamarin – Android StatusAndroid APIs100% coverage

Page 15: Costruire applicazioni cross- platform  con  Xamarin  e  Visual Studio 2013

Xamarin – iOS StatusiOS APIs100% coverage

Page 16: Costruire applicazioni cross- platform  con  Xamarin  e  Visual Studio 2013

Risultato

Il look and feel delle applicazioni Xamarin sembra nativo, perché è NATIVO

Native User Interfaces Native API Access Native Performance

Page 17: Costruire applicazioni cross- platform  con  Xamarin  e  Visual Studio 2013

Come funziona?iOS

Android• JIT (just-in-time) che compila e

ottimizza il bytecode nel codice macchina di destinazione

• AOT (ahead-of-time) che traduce il bytecode prodotto nel codice macchina di destinazione

• Questo è il motivo per cui avete bisogno di un Mac OSX con XCode

Page 18: Costruire applicazioni cross- platform  con  Xamarin  e  Visual Studio 2013

Cosa serve?• Xamarin Studio• Visual Studio con plugin Xamarin• Account Apple Developer• Account Google Play Developer• Account Windows Phone Developer• Mac OSX con Xcode

Page 19: Costruire applicazioni cross- platform  con  Xamarin  e  Visual Studio 2013

Ambienti di Sviluppo - Visual Studio ma non solo -

Page 20: Costruire applicazioni cross- platform  con  Xamarin  e  Visual Studio 2013

Visual Studio 2013

• Migliore integrazione con Xamarin.iOS Mac Build Hosts

• Full support per le PCL

Page 21: Costruire applicazioni cross- platform  con  Xamarin  e  Visual Studio 2013

Xamarin Studio

• Creare applicazioni per iOS, Android e Mac

• Code completition e source analysis

• Supporto completo per C# e F#

• Xamarin designer per iOS e Android

• NuGet

Page 22: Costruire applicazioni cross- platform  con  Xamarin  e  Visual Studio 2013

Condivisione del codice tra le diverse piattaforme

Page 23: Costruire applicazioni cross- platform  con  Xamarin  e  Visual Studio 2013

Condivisione – File linking (old way)

Includere i files comuni che possono essere utilizzati per la spefica piattaforma

Page 24: Costruire applicazioni cross- platform  con  Xamarin  e  Visual Studio 2013

Condivisione – Shared ProjectUtilizzare il progetto come risorsa condivisa per organizzare il codice sorgente, e utilizzare le direttive del compilatore quanto è necessaria la gestione di esigenze specifiche della piattaforma.

Page 25: Costruire applicazioni cross- platform  con  Xamarin  e  Visual Studio 2013

Condivisione – Shared Project• Migliore del file

linking• Integrato con l’IDE• Accesso alla parent

reference• Possibilità di

includere codice specifico per piattaforma

Page 26: Costruire applicazioni cross- platform  con  Xamarin  e  Visual Studio 2013

Condivisione – PCLCreare una PCL (Portable Class Libraries) specificando le piattaforme che si desidera supportare e utilizzare interfacce per fornire funzionalità specifiche della piattaforma.

Page 27: Costruire applicazioni cross- platform  con  Xamarin  e  Visual Studio 2013

Condivisione – PCL• Full support per

Xamarin.iOS e Xamarin.Android

• Non è possibile includere references specifiche per piattaforma

Page 28: Costruire applicazioni cross- platform  con  Xamarin  e  Visual Studio 2013

Condivisione – PCLPotete utilizzare la Dependency Injection per passare delle feature della specifica piattaforma

Page 29: Costruire applicazioni cross- platform  con  Xamarin  e  Visual Studio 2013

Cosa Condivido?• Entities• Data Access• Web Services Client• Navigation• View Models• Business Logic

Page 30: Costruire applicazioni cross- platform  con  Xamarin  e  Visual Studio 2013

…e per il resto?• Gestione Contatti• Geolocation• Media

Xamarin.Mobile

…e per il futuro• Notifiche• Accelerometro• …

Page 31: Costruire applicazioni cross- platform  con  Xamarin  e  Visual Studio 2013

…oppure…• Component Store• NuGet

Page 32: Costruire applicazioni cross- platform  con  Xamarin  e  Visual Studio 2013

demoDEMO

Page 33: Costruire applicazioni cross- platform  con  Xamarin  e  Visual Studio 2013

Resources Xamarin - https://xamarin.com/

Xamarin Developer - http://developer.xamarin.com/

Xamarin Blog - http://blog.xamarin.com/

Xamarin University - https://xamarin.com/university

Xamarin on Channel 9 - http://channel9.msdn.com/search?term=xamarin#ch9Search

Xamarin on slideshare - http://www.slideshare.net/Xamarin

Xamarin on github - https://github.com/xamarin

Codice della sessionehttps://github.com/lucazulian/betterembedded2014xamarin

Page 34: Costruire applicazioni cross- platform  con  Xamarin  e  Visual Studio 2013

GET YOUR C# SHIRT TODAY!

Page 35: Costruire applicazioni cross- platform  con  Xamarin  e  Visual Studio 2013
Page 36: Costruire applicazioni cross- platform  con  Xamarin  e  Visual Studio 2013

Grazie