costruire applicazioni-cross-platform-con-xamarin-visual-studio-2013
DESCRIPTION
Costruire applicazioni cross platform con xamarin e visual studio 2013TRANSCRIPT
Costruire applicazioni cross-platform con Xamarin e Visual Studio
2013Emanuele BartolesiBlog: http://www.emanuelebartolesi.comTwitter: @kasuken
Luca ZulianBlog: http://queube.comTwitter: @luca_julian
#bem14
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]
Chi Sono
Developer e Architect in Dev4Side S.r.l.
Speaker for various events
MCTS Web Applications
Blog: queube.com
Twitter: @luca_julian
Agenda
Perché sviluppare con Xamarin Ambienti di Sviluppo (non solo VS) Condivisione del codice tra le diverse piattaforme Demo Resources
Perchè sviluppare con Xamarin- write once, run everywhere -
- Anything you can do in Objective-C, Swift or Java, you can do in C# -
Approccio con sviluppo nativo
Comparazioni sulle piattaforme
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
Xamarin – approccio tradizionale
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
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…)
Xamarin – Win StatusWindows APIs100% coverage
Xamarin – Android StatusAndroid APIs100% coverage
Xamarin – iOS StatusiOS APIs100% coverage
Risultato
Il look and feel delle applicazioni Xamarin sembra nativo, perché è NATIVO
Native User Interfaces Native API Access Native Performance
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
Cosa serve?• Xamarin Studio• Visual Studio con plugin Xamarin• Account Apple Developer• Account Google Play Developer• Account Windows Phone Developer• Mac OSX con Xcode
Ambienti di Sviluppo - Visual Studio ma non solo -
Visual Studio 2013
• Migliore integrazione con Xamarin.iOS Mac Build Hosts
• Full support per le PCL
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
Condivisione del codice tra le diverse piattaforme
Condivisione – File linking (old way)
Includere i files comuni che possono essere utilizzati per la spefica piattaforma
Condivisione – Shared Project
Utilizzare 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.
Condivisione – Shared Project
• Migliore del file linking
• Integrato con l’IDE• Accesso alla parent
reference• Possibilità di
includere codice specifico per piattaforma
Condivisione – PCL
Creare una PCL (Portable Class Libraries) specificando le piattaforme che si desidera supportare e utilizzare interfacce per fornire funzionalità specifiche della piattaforma.
Condivisione – PCL
• Full support per Xamarin.iOS e Xamarin.Android
• Non è possibile includere references specifiche per piattaforma
Condivisione – PCL
Potete utilizzare la Dependency Injection per passare delle feature della specifica piattaforma
Cosa Condivido?
• Entities• Data Access• Web Services Client• Navigation• View Models• Business Logic
…e per il resto?
• Gestione Contatti• Geolocation• Media
Xamarin.Mobile
…e per il futuro• Notifiche• Accelerometro• …
…oppure…• Component Store• NuGet
demo
DEMO
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
GET YOUR C# SHIRT TODAY!
Grazie