Costruire applicazioni cross- platform con Xamarin e Visual Studio 2013
description
Transcript of Costruire applicazioni cross- platform con Xamarin e Visual Studio 2013
![Page 1: Costruire applicazioni cross- platform con Xamarin e Visual Studio 2013](https://reader035.fdocuments.in/reader035/viewer/2022062811/56816230550346895dd261be/html5/thumbnails/1.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062811/56816230550346895dd261be/html5/thumbnails/2.jpg)
#bem14
![Page 3: Costruire applicazioni cross- platform con Xamarin e Visual Studio 2013](https://reader035.fdocuments.in/reader035/viewer/2022062811/56816230550346895dd261be/html5/thumbnails/3.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062811/56816230550346895dd261be/html5/thumbnails/4.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062811/56816230550346895dd261be/html5/thumbnails/5.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062811/56816230550346895dd261be/html5/thumbnails/6.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062811/56816230550346895dd261be/html5/thumbnails/7.jpg)
Approccio con sviluppo nativo
![Page 8: Costruire applicazioni cross- platform con Xamarin e Visual Studio 2013](https://reader035.fdocuments.in/reader035/viewer/2022062811/56816230550346895dd261be/html5/thumbnails/8.jpg)
Comparazioni sulle piattaforme
![Page 9: Costruire applicazioni cross- platform con Xamarin e Visual Studio 2013](https://reader035.fdocuments.in/reader035/viewer/2022062811/56816230550346895dd261be/html5/thumbnails/9.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062811/56816230550346895dd261be/html5/thumbnails/10.jpg)
Xamarin – approccio tradizionale
![Page 11: Costruire applicazioni cross- platform con Xamarin e Visual Studio 2013](https://reader035.fdocuments.in/reader035/viewer/2022062811/56816230550346895dd261be/html5/thumbnails/11.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062811/56816230550346895dd261be/html5/thumbnails/12.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062811/56816230550346895dd261be/html5/thumbnails/13.jpg)
Xamarin – Win StatusWindows APIs100% coverage
![Page 14: Costruire applicazioni cross- platform con Xamarin e Visual Studio 2013](https://reader035.fdocuments.in/reader035/viewer/2022062811/56816230550346895dd261be/html5/thumbnails/14.jpg)
Xamarin – Android StatusAndroid APIs100% coverage
![Page 15: Costruire applicazioni cross- platform con Xamarin e Visual Studio 2013](https://reader035.fdocuments.in/reader035/viewer/2022062811/56816230550346895dd261be/html5/thumbnails/15.jpg)
Xamarin – iOS StatusiOS APIs100% coverage
![Page 16: Costruire applicazioni cross- platform con Xamarin e Visual Studio 2013](https://reader035.fdocuments.in/reader035/viewer/2022062811/56816230550346895dd261be/html5/thumbnails/16.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062811/56816230550346895dd261be/html5/thumbnails/17.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062811/56816230550346895dd261be/html5/thumbnails/18.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062811/56816230550346895dd261be/html5/thumbnails/19.jpg)
Ambienti di Sviluppo - Visual Studio ma non solo -
![Page 20: Costruire applicazioni cross- platform con Xamarin e Visual Studio 2013](https://reader035.fdocuments.in/reader035/viewer/2022062811/56816230550346895dd261be/html5/thumbnails/20.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062811/56816230550346895dd261be/html5/thumbnails/21.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062811/56816230550346895dd261be/html5/thumbnails/22.jpg)
Condivisione del codice tra le diverse piattaforme
![Page 23: Costruire applicazioni cross- platform con Xamarin e Visual Studio 2013](https://reader035.fdocuments.in/reader035/viewer/2022062811/56816230550346895dd261be/html5/thumbnails/23.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062811/56816230550346895dd261be/html5/thumbnails/24.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062811/56816230550346895dd261be/html5/thumbnails/25.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062811/56816230550346895dd261be/html5/thumbnails/26.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062811/56816230550346895dd261be/html5/thumbnails/27.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062811/56816230550346895dd261be/html5/thumbnails/28.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062811/56816230550346895dd261be/html5/thumbnails/29.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062811/56816230550346895dd261be/html5/thumbnails/30.jpg)
…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](https://reader035.fdocuments.in/reader035/viewer/2022062811/56816230550346895dd261be/html5/thumbnails/31.jpg)
…oppure…• Component Store• NuGet
![Page 32: Costruire applicazioni cross- platform con Xamarin e Visual Studio 2013](https://reader035.fdocuments.in/reader035/viewer/2022062811/56816230550346895dd261be/html5/thumbnails/32.jpg)
demoDEMO
![Page 33: Costruire applicazioni cross- platform con Xamarin e Visual Studio 2013](https://reader035.fdocuments.in/reader035/viewer/2022062811/56816230550346895dd261be/html5/thumbnails/33.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062811/56816230550346895dd261be/html5/thumbnails/34.jpg)
GET YOUR C# SHIRT TODAY!
![Page 35: Costruire applicazioni cross- platform con Xamarin e Visual Studio 2013](https://reader035.fdocuments.in/reader035/viewer/2022062811/56816230550346895dd261be/html5/thumbnails/35.jpg)
![Page 36: Costruire applicazioni cross- platform con Xamarin e Visual Studio 2013](https://reader035.fdocuments.in/reader035/viewer/2022062811/56816230550346895dd261be/html5/thumbnails/36.jpg)
Grazie