#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
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 Status
Windows APIs
100% coverage
Xamarin – Android Status
Android APIs
100% coverage
Xamarin – iOS Status
iOS APIs
100% coverage
Risultato
Native User Interfaces
Native API Access
Native Performance
Il look and feel delle applicazioni Xamarin sembra nativo, perché
è NATIVO
Come funziona?
iOS
•
•
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
Android
•
JIT (just-in-time) che compila e ottimizza il
bytecode nel codice macchina di
destinazione
Cosa serve?
Xamarin Studio
• Visual Studio con plugin Xamarin
• Account Apple Developer
• Account Google Play Developer
• Account Windows Phone Developer
• Mac OSX con Xcode
•
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 – 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?
Xamarin.Mobile
Gestione Contatti
• Geolocation
• Media
•
…e per il futuro
•
Notifiche
•
Accelerometro
•
…
…oppure…
•
•
Component Store
NuGet
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 sessione
https://github.com/lucazulian/betterembedded2014xamarin
GET YOUR
C# SHIRT
TODAY!
Scarica

Windows Azure