Lo sviluppo del software è solitamente un processo in due fasi che implica lo sviluppo dell'interfaccia utente e della logica di business dell'applicazione. Windows Phone non fa eccezione a questo paradigma. Durante lo sviluppo per Windows Phone, XAML viene utilizzato per l'implementazione dell'interfaccia utente delle applicazioni Windows Phone.
XAML o Extensible Application Markup Language è un linguaggio dichiarativo sviluppato da Microsoft e utilizzato in Windows Phone per creare oggetti di interfaccia utente grafica. Se hai familiarità con XML, quindi uno snippet di codice di XAML sarà molto familiare. XAML è a C # sviluppatore cosa HTML è per uno sviluppatore web. È la base del design dell'interfaccia utente per Windows Phone.
La piattaforma Windows Phone dispone di molti elementi costitutivi, come pulsanti, blocchi di testo, caselle di testo, ecc. Anche se è possibile sviluppare un'applicazione Windows Phone 8 utilizzando solo C #, è poco pratica e ingombrante..
XAML rende molto più semplice la creazione di interfacce utente. Dopo aver creato un nuovo progetto o una pagina di Windows Phone 8 in Visual Studio, vengono presentate due visualizzazioni. Una vista mostra il codice XAML mentre l'altra mostra mostra allo sviluppatore la sua rappresentazione visiva.
Per capire meglio questo, rivisitiamo il progetto che abbiamo creato nel precedente tutorial in cui abbiamo creato la nostra prima applicazione per Windows Phone 8.
Si nota immediatamente la stessa struttura gerarchica che si trova in XML e HTML. Ogni elemento nel codice XAML rappresenta un controllo Windows Phone, di cui parleremo più avanti in questa serie. Noterai che ogni elemento ha un tag di apertura e chiusura, proprio come in XML o HTML. Puoi anche vedere che alcuni elementi hanno attributi aggiuntivi, adottando la seguente struttura:
Farò riferimento a ciascun elemento nel file XAML come controllo in quanto rappresentano i controlli di Windows Phone, che sono oggetti che fanno parte del framework. A ciascuno di questi controlli possono essere associate proprietà. Alcuni di questi controlli, come ad esempio Griglia e StackPanel controlli, può contenere anche altri controlli al loro interno. Ad esempio, guarda come StackPanel controllo con il Nome
proprietà di TitlePanel
contiene due TextBlock controlli.
Questa disposizione gerarchica degli elementi consente agli sviluppatori di progettare l'interfaccia utente delle applicazioni Windows Phone con molta più facilità e fornisce anche una struttura tra i controlli che compongono l'interfaccia utente di un'applicazione Windows Phone.
Come detto in precedenza in questo articolo, è possibile creare l'intera interfaccia utente di un'applicazione Windows Phone in C #, senza utilizzare XAML. In realtà, tuttavia, questo non è molto pratico. Questo non è raccomandato, perché rende la progettazione dell'interfaccia utente dell'applicazione disordinata e un po 'dappertutto.
Inoltre, l'uso rigoroso di C # per creare l'interfaccia utente dell'applicazione limiterà significativamente la possibilità di utilizzare il MVVM modello di progettazione che è cotto nello sviluppo di Windows Phone. Questo significa tecniche avanzate, come ad esempio associazione dati, sarà più difficile da attuare.
Diamo uno sguardo da vicino alle due tecniche, XAML e C #, per costruire l'interfaccia utente di un'applicazione. Per questo confronto, prima mostrerò come a TextBlock e a Pulsante il controllo è dichiarato all'interno di a StackPanel controllo usando XAML. Ti mostrerò quindi l'equivalente in C #.
Un semplice TextBlock
Puoi vedere quanto è dichiarativo lo snippet XAML di cui sopra. È facile capire la gerarchia dei controlli. C'è un altro vantaggio quando si utilizza XAML. Possiamo vedere direttamente il risultato delle nostre modifiche in Visual Studio attraverso il pannello di anteprima del disegno, che di solito è posizionato a sinistra in Visual Studio.
Vediamo come possiamo implementare la stessa interfaccia utente usando C # invece di XAML.
// Crea il nostro StackPanel StackPanel stackPanel = new StackPanel (); this.Content = stackPanel; // Crea il nostro TextBlock TextBlock textBlock = new TextBlock (); textBlock.Margin = new Thickness (10); textBlock.Text = "A Simple TextBlock"; stackPanel.Children.Add (textBlock); // Crea il nostro pulsante Pulsante button = new Button (); button.Margin = new Thickness (20); button.Content = "Pulsante semplice"; stackPanel.Children.Add (pulsante);
Come puoi vedere, è un po 'clunkier rispetto a XAML e non siamo in grado di vedere il risultato dei nostri cambiamenti al volo. Potresti anche aver notato che il blocco di codice in C # è quasi il doppio delle linee di codice e non è leggibile come lo snippet XAML che abbiamo visto in precedenza.
Per lo sviluppo di Windows Phone, XAML è il modo consigliato per creare interfacce utente. Tuttavia, a volte è necessario implementare controlli più complicati che sono difficili da creare utilizzando XAML, ad esempio quando il controllo deve essere dinamico in una certa misura. Anche se queste situazioni sono meno comuni, è bene sapere che possiamo ripiegare su C #.
XAML è parte integrante dello sviluppo di Windows Phone e pertanto è essenziale una solida comprensione. Vi incoraggio a dare un'occhiata alla documentazione ufficiale XAML di Microsoft su Windows Phone Dev Center. Contiene informazioni approfondite sull'uso di XAML per lo sviluppo di Windows Phone.
In questo tutorial, abbiamo esaminato il ruolo di XAML nello sviluppo di Windows Phone e il suo confronto con C # per creare interfacce utente. Nel prossimo tutorial, continueremo a lavorare con XAML e faremo i conti con alcuni dei più comuni controlli di Windows Phone, il loro uso e come implementarli in un'applicazione Windows Phone 8.