La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Introduzione a Xamarin Forms

Presentazioni simili


Presentazione sul tema: "Introduzione a Xamarin Forms"— Transcript della presentazione:

1 Introduzione a Xamarin Forms
Matteo Pagani| Support Engineer – AppConsult

2 Meet Matteo Pagani| ‏@qmatteoq
Support Engineer – App Consult AppConsult è un programma di Microsoft che nasce per supportare gli sviluppatori Windows e Windows Phone Background: Autore di diversi libri, in italiano e in inglese, sullo sviluppo per Windows Phone e Universal Windows app MVP per 5 anni nella categoria Windows Platform Development Speaker, autore di articoli e curatore di due blog

3 Argomenti del corso Introduzione a Xamarin Forms
02 | Panoramica di Xamarin Forms 03 | Gestire le differenze tra le piattaforme 04 | Xamarin Forms e MVVM

4 A chi è rivolto? Sviluppatori con una buona conoscenza di XAML e C#
Sviluppatori Windows e Windows Phone che vogliono portare le loro applicazioni sulle altre piattaforme, senza imparare nuovi linguaggi e tool

5 Entra nella Community MVA!
Microsoft Virtual Academy Corsi di formazione gratuiti per sviluppatori e IT Pro Oltre 1 milione di utenti registrati Corsi aggiornati su tutte le principali tecnologie Microsoft

6 Matteo Pagani | Support Engineer - AppConsult
01 | Introduzione a Xamarin Matteo Pagani | Support Engineer - AppConsult

7 Agenda Lo sviluppo cross platform e Xamarin
I requisiti per lo sviluppo Panoramica di Xamarin Panoramica di Xamarin Forms

8 Lo sviluppo cross-platform

9 Una applicazione, tante piattaforme
Nel mondo ideale, dovrebbe essere possibile sviluppare un’applicazione una volta sola e farla girare su tutte le piattaforme mobile Nel mondo reale, purtroppo, non è così: Windows Phone: C# / VB.NET + XAML o JS + HTML e Visual Studio iOS: Objective-C / Swift e Xcode Android: Java e Eclipse

10 Sviluppo nativo Pro Contro Performance
Possibilità di sfruttare tutte le funzionalità della piattaforma Contro Necessità di conoscere linguaggi di programmazione e tool di sviluppo molto diversi tra loro Tre codebase da mantenere, senza alcun punto in comune e senza la possibilità di condividere codice

11 Sviluppo web Basato su tecnologie web (HTML e Javascript) e strumenti come Apache Cordova, che consentono di interagire con le API native. L’applicazione nativa è, in realtà, composta da una unica WebView, all’interno della quale viene renderizzata l’applicazione web locale

12 Sviluppo web Pro Contro
L’applicazione viene sviluppata una volta sola, sia a livello di UI che a livello di logica Si possono riutilizzare le competenze e i framework tipici dello sviluppo web (jQuery, Angular, ecc.) Contro Performance inferiori rispetto alle applicazioni native L’interfaccia è comune, quindi non è possibile rispettare le linee guida di ogni piattaforma A livello di API, sono supportate solamente le feature comuni tra le piattaforme (storage, sensori di movimento, GPS, ecc.)

13 Welcome to Xamarin! Sviluppo per Android, iOS e Windows con Visual Studio Possibilità di condividere, in media, il 75% del codice tra le piattaforme Riutilizzo delle proprie conoscenze di C# Interfaccia utente nativa Accesso a tutte le funzionalità della piattaforma

14 Xamarin e iOS Il codice viene eseguito al 100% in maniera nativa
Compilazione Ahead of Time (AOT) produce un pacchetto nativo, con le stesse performance di un’applicazione scritta in Objective-C o Swift Tutte le API di iOS sono disponibili in Xamarin per essere utilizzate con la sintassi e le naming convention tipiche di C# e .NET Supporto ad Apple Watch SDK, iPhone, iPod e iPad

15 iOS Runtime Model iOS App Native Code Mono Runtime .NET BCL
Native APIs MapKit UIViewController HealthKit Etc.

16 Xamarin e Android Approccio simile a .NET standard:
Il codice C# viene convertito in IL e incluso nell’APK L’IL viene compilato in codice nativo in modalità Just-In-Time (JIT) sul device Si ottiene un’applicazione che offre le stesse performance di un’applicazione scritta in Java Tutte le API di Android sono disponibili in Xamarin Supporto a molte varianti di Android: Kindle Fire, Android Wear, Android TV, ecc.

17 Android Runtime Model Mono VM Dalvik/ART VM APK Android OS Native APIs
Bridge APK IL Code Resources Native APIs Google Play Support Lib Activity, Fragments Etc.

18 I requisiti per lo sviluppo

19 I tool di sviluppo Xamarin Studio:
Disponibile sia per Windows che per OS X Supporto ad Android e iOS (solo su OS X) Incluso nella licenza di Xamarin Visual Studio: Plugin per l’integrazione in Visual Studio Supporto ad Android, iOS e Windows Phone

20 Lo sviluppo iOS E’ necessario un Mac dato che, per questioni di licenza e di runtime, la compilazione iOS può essere fatta solo su OS X. E’ possibile usare il Mac come macchina di build, tramite il tool Mac Build Host. Sviluppo in Windows con Visual Studio Build e deploy su OS X

21 Lo sviluppo Android Nessun requisito particolare, è supportato sia su Windows che su OS X Per il testing è possibile usare l’emulatore nativo di Google E’ possibile utilizzare emulatori alternativi: Genymotion ( Xamarin Android Player ( Emulatore Microsoft incluso in Visual Studio 2015 Preview e basato su Hyper-V (basato su OSP senza servizi di Google)

22 La licenza Xamarin Diverse tipologia di licenza: Starter, Indie e Business, con prezzi e funzionalità incluse differenti. E’ previsto uno sconto per gli abbonati a MSDN (1 licenza per abbonamenti Professional o Premium, 5 per abbonamenti Ultimate) Xamarin ha annunciato una nuova Starter edition, con meno limitazioni e in grado di integrarsi con Visual Studio Community Edition, che uscirà nel corso del 2015

23 Lo sviluppo Xamarin tradizionale

24 Lo sviluppo Xamarin tradizionale

25 Lo sviluppo Xamarin tradizionale
Permette di sfruttare gli strumenti nativi per il design dell’interfaccia grafica (Storyboard in iOS, XML in Android) Consente di utilizzare tutte le API native della piattaforma Richiede comunque una buona conoscenza della caratteristiche specifiche della piattaforma Tramite le PCL, è possibile condividere la logica di business (accesso ai database, interazione con il cloud, comunicazione con servizi REST, ecc.)

26 Un’applicazione Xamarin

27 Lo sviluppo con Xamarin Forms

28 Xamarin Forms Shared C# Interface Code (Xamarin.Forms)
C# Platform Specific C# Platform Specific C# Platform Specific Portable Class Library or Shared Project Shared C# Interface Code (Xamarin.Forms) Shared C# App Logic (ViewModels, Models etc) iOS 6.1+ Android 4.0+ WP8.0+ (Silverlight) WinRT non supportato

29 Xamarin Forms Consente di condividere non solo la logica, ma anche l’interfaccia utente Linguaggio basato su XAML: i controlli XAML vengono tradotti in controlli nativi a runtime Supporto alle principali caratteristiche di XAML: binding, dependency property, behavior, trigger, ecc. Non è lo stesso XAML di Microsoft: molti punti di contatto, ma alcuni controlli hanno nomi e proprietà differenti

30 Xamarin Forms <DatePicker />

31 Un’applicazione Xamarin Forms

32


Scaricare ppt "Introduzione a Xamarin Forms"

Presentazioni simili


Annunci Google