Introduzione a Xamarin Forms

Slides:



Advertisements
Presentazioni simili
Windows Development Day 28/01/05 Bologna The Media Center Show Daniele Bochicchio Microsoft ASP.NET MVP Daniele Bochicchio
Advertisements

Crea il tuo sito con Web Matrix e il Web Hosting su ASP.NET
Strumenti di sviluppo Microsoft Campagna incentivi per Software Assurance Opportunità di vendita.
Perché.Net e non più COM/DCOM ? Superamento dei problemi di COM: Richiede una infrastruttura "non semplice" da ogni applicazione (ad esempio Class Factory.
Applicazioni mobile Better Software 2009 Massimiliano Zani Sms Italia.
SVILUPPO MODERNO DI APPLICAZIONI PER WINDOWS
Fare clic per modificare lo stile del titolo Fare clic per modificare stili del testo dello schema – Secondo livello Terzo livello – Quarto livello » Quinto.
Web mobile e Applicazioni
Azure: Mobile Services e Notification Hub ANDREA GIUNTA.
.NET Day 05 Febbraio 2015 #netday15 Windows NET Day.NET Day #netday15.
Costruire applicazioni cross-platform con Xamarin e Visual Studio 2013
Universal App – Sviluppo di App per Windows Store Gianluca Bertelli
Microsoft Confidential Gabriele Castellani Developer & Platform Evangelism Microsoft.
Da GitHub a NuGet con la nuova build di Visual Studio Online Davide Benvegnù Managing Director & CTO – DBTek Ltd Microsoft MVP Visual Studio
Davide Benvegnù Introduzione a Visual Studio Online #VSOIntro.
Davide Benvegnù Gestione del codice sorgente con VSO #VSOSources.
+ Windows Phone : introduzione e configurazione dell’ambiente Nicolò Sordoni.
Mobile Apps e Android Tecniche Audiovisive Ing. Andrea Proietti Dip. DIET, Laboratorio di Multimedialità, I piano, stanza 111, Via Eudossiana 18,
UNIVERSITA’ DEGLI STUDI DI MODENA E REGGIO EMILIA Dipartimento di Scienze Fisiche, Informatiche e Naturali Corso di Laurea in Informatica Progetto e Sviluppo.
Davide Benvegnù Continuous Integration con VSO #VSOCI.
Davide Benvegnù Cloud Load Testing con VSO #VSOLoadTest.
APP MySorgenia Giacomo Prennushi giovedì 30 giugno - TIM Space Milano.
Eclipse il framework definitivo? Relatore: Ruggero Maffei.
JUG – Ancona Italy AJAX Giovanni Baleani Developer IBS srl.
Eclipse un editor per Java ma anche di più di questo Angelo Gargantini.
1 14 marzo 2006 sommaruga andrea Fondazione Ordine Ingegneri di Milano VPN: Reti Private Virtuali VPN: RETI PRIVATE VIRTUALI LE POSSIBILITA' DI ACCESSO.
POLITECNICO DI MILANO FACOLTA’ DI INGEGNERIA SEDE DI CREMONA TESI DI DIPLOMA IN INGEGNERIA INFORMATICA RELATOREAUTORI Prof. Vittorio TrecordiDemicheli.
I moduli 5 Modulo introduttivo: argomentazione del corso e a chi è rivolto Approccio alla programmazione mobile Dispositivi mobile, caratteristiche e funzioni.
PGDay 2009 FSGateway Ing. Torello Querci Resp. Architetture SW - Negens S.r.l. 4 Dicembre 2009, Pisa.
Viki: Smart Home Natural Language Interface Realizzazione di un’interfaccia in linguaggio naturale, senza grammatiche fisse, per l’automazione casalinga.
Facile da usare Un'interfaccia amministrativa completamente rinnovata, iniziare con Drupal è più facile!
Controlla e gioca le tue schedine live
PNSD - Modulo D1A marzo 2017 Piattaforme di e-­learning e cloud:​ installazione e gestione (azione #22) Prof. Rocca Marcello
Corso per Webmaster base
Lato Server - OMNIS Web Web Services.
Conformità agli standard ufficiali
Office WPC049 Strumenti di supporto e analisi per Office 365
Vito Flavio Lorusso – Senior SDE - Microsoft
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laure in Informatica Relatore: Riccardo.
Imparare a Programmare imparareaprogrammare.it
NegoziCS packing list fidelitycard ordini merceinsaldo www ® software
Breve report su corso RedHat Enterprise Virtualization (RH318)
PNSD - Modulo D1A 27 aprile 2017 Piattaforme di e-­learning e cloud:​ installazione e gestione (azione #22) Prof. Rocca Marcello
Sviluppare applicazioni usando la piattaforma di Firefox
WPC034 - Visual Studio Code: sviluppare su Linux, Mac OS e Windows
Microsoft Technology Seminario Base di Dati
Project Mono Paolo Bernardi.
Analysis framework of distributed thread and malware data-sources
Il Binding Nicolò Sordoni.
Paradigma MVC Ing. Buttolo Marco.
A cura dell’Ing. Buttolo Marco
Sviluppo web con stumenti Open
Scenario mail in Ateneo
Risultati del questionario sui servizi middleware aggiuntivi
Asynchronous JavaScript and XML
IL CODING e il Pensiero Computazionale
analizzatore di protocollo
Corso di Ingegneria del Web A A Domenico Rosaci 1
MODULO 1 – Computer essentials
Corso Java Introduzione.
Windows Admin Center La rivoluzione della gestione di Windows Server
Introduzione alle basi di dati
Progetto di Tecnologie Web 2014/2015 THERMOWEB
ADO Per gestire i database con tecnologia ASP si utilizzano strumenti ADO (ActiveX Data Objects): un'architettura che fornisce oggetti.
FULL STACK SENIOR DEVELOPER
© 2007 SEI-Società Editrice Internazionale, Apogeo
Free .NET Hosting - somee.com
Corso Java – Intoduzione
-Comune di Vibo Valentia-
Transcript della presentazione:

Introduzione a Xamarin Forms Matteo Pagani| Support Engineer – AppConsult

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

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

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

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

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

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

Lo sviluppo cross-platform

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

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

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

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.)

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

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

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

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.

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.

I requisiti per lo sviluppo

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

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

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 (https://www.genymotion.com) Xamarin Android Player (https://xamarin.com/android-player) Emulatore Microsoft incluso in Visual Studio 2015 Preview e basato su Hyper-V (basato su OSP senza servizi di Google)

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

Lo sviluppo Xamarin tradizionale

Lo sviluppo Xamarin tradizionale

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.)

Un’applicazione Xamarin

Lo sviluppo con Xamarin Forms

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

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

Xamarin Forms <DatePicker />

Un’applicazione Xamarin Forms