La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Universal App – Sviluppo di App per Windows Store Gianluca Bertelli

Presentazioni simili


Presentazione sul tema: "Universal App – Sviluppo di App per Windows Store Gianluca Bertelli"— Transcript della presentazione:

1 Universal App – Sviluppo di App per Windows Store Gianluca Bertelli gianlucb@microsoft.com

2 Agenda Piattaforme Struttura di un App Grafica Componibile DataBinding Model View ViewModel (MVVM) Alcuni Suggerimenti Q&A

3 Piattaforme

4 Piattaforme (Chi ben comincia...) Windows Phone 7.8 Windows Phone 8 Windows Phone 8.1 Windows Store Universal

5 Piattaforme (è...) Windows Store App 8.1 Windows Store Universal

6 Piattaforme (..a metà dell’opera!) Windows Store Universal Windows App (Windows 10)

7 Struttura di un App (Universal) Phone Windows Shared

8 Struttura di un App (Universal) UI XAML HTML

9 Grafica componibile Griglia Pannello orrizontale Controllo custom Pulsante Barra di stato Data Windows Phone Shared

10 PROJECT DEMO

11 DataBinding Connessione «Automatica» tra UI e business logic Nasconde ed evita l’implementazione di meccanismi di refresh Textbox1 Textbox2 Textbox3 Persona DataContext

12 INotifyPropertyChanged Prima public string Name { get; set; } Dopo private string name; public string Name { get { return name; } set { name = value; NotifyOfPropertyChange(() => Name); } XAML

13 DATABINDING DEMO

14 Model View ViewModel (MVVM) MVC?

15 Model View ViewModel (MVVM)

16 Sfrutta il meccanismo del Binding Pacchetti NuGet gratuiti di diversi autori Permette di «minimizzare» l’utilizzo del «code behind» Massimizza il riutilizzo e la «testabilità» della parte di modello E’ possibile riutilizzare lo stesso ViewModel su grafiche differenti

17 Command – no more OnButtonClick! Gli eventi nell’approccio tradizionale vengono gestiti tramite event handler definiti nel code behind (OnButtonClick...) Abilitare o meno un pulsante richiede di gestirne lo stato in vari punti dell’applicazione, o avere un metodo di «refresh UI» Vorrei gestire il «ButtonClick» nel modello e non nella grafica Vorrei che il pulsante si abiliti/disabiliti in automatico in base allo stato corrente Command

18 Command – no more OnButtonClick! E’ una propietà dei controlli Sfrutta il Binding Code private ICommand _pinToStart; public ICommand PinToStart { get { return _pinToStart ?? (_pinToStart = new RelayCommand( () => taskService.PinToStart(CurrentItem), () => canPin)); } XAML

19 MVVM DEMO

20 Alcuni suggerimenti Scrivete le classi di Modello in Portable Class Library (PCL) Separazione «netta» tra Modello e «Data Access Layer» Un minimo di Unit Testing Implementate il workflow/macchina a stati già nel modello Scrivetevi Componenti custom Massimizzare l’utilizzo del progetto Shared Stili Immagini file Design Data Utilizzate un progetto Universal come base di partenza

21 Q & A Gianluca Bertelli gianlucb@microsoft.com @bertelli


Scaricare ppt "Universal App – Sviluppo di App per Windows Store Gianluca Bertelli"

Presentazioni simili


Annunci Google