Visual Studio è l'ambiente privilegiato per sviluppare applicazioni client che sfruttano Windows Form, WPF (Windows presentation foundation) come framework per il presetation-layer e WCF (Windows Comunication Foundation) per i servizi di comunicazione. Come per lo sviluppo web e la gestione dei dati, abbiamo a disposizione designer specifici, wizard e finestre di strumenti.
I designer Windows Form e il nuovo designer WPF forniscono il visuale necessario alla costruzione delle interfacce in ambiente Windows. Si possono trascinare gli elementi dalla toolbox (aggiornata secondo il tipo di progetto scelto) e sistemarli a piacimento, aiutati da un sistema di posizionamento automatico e di "docking" degli elementi.
Possono venirci in aiuto funzionalità di alcune delle finestre già descritte in una lezione precedente, che aggiornano aspetto e funzioni in base alle tipologie degli oggetti selezionati nell'area dei contenuti. Nella toolbox troviamo componenti utili allo sviluppo di applicazioni WCF e WPF, che vengono visualizzati quando sviluppiamo applicazioni basate sulle versioni 3.0 e 3.5 del .NET Framework.
Entrambe le tecnologie, WPF e WCF, nella versione 3.5 sono migliorate in termini di prestazioni e di funzionalità.
In WPF le migliorie si avvertono nelle performance di animazioni, binding dei dati e finestre a livelli. Sono state riviste anche le funzionalità delle applicazioni Web (XBAPs, XAML Browser Applications). È stato aggiunto infatti il supporto per Firefox e per l'utilizzo e la gestione dei cookie.
Altra novità interessante, è quella per lo sviluppo di add-in visuali e non visuali per applicazioni WPF. La maggior parte delle applicazioni Microsoft offre add-in per consentire ad altre applicazioni di sfruttarne le funzionalità: esempi ideali sono il pacchetto Office, i Windows Media Services, Internet Explorer e Visual Studio stesso.
Il .NET Framework 3.5 offre un insieme di classi, posti sotto il namespace System.AddIn
, in grado di offrire funzionalità per i comportamenti standard degli add-in. Questi comportamenti vanno dall'attivazione, all'isolamento dell'add-in, alle funzionalità di configurazione, comunicazione con l'esterno ed aggiornamento. Per ulteriori informazioni su modello per add-in, rimandiamo a questa pagina della documentazione.
WPF Designer
Il designer per applicazioni WPF esisteva già nella nella versione 2005 di Visual Studio ma era solo una parte di un'add-in addirittura in versione CTP. Ora questo strumento ci presenta diverse caratteristiche interessanti per operare sulle interfacce:
- doppia visualizzazione di markup XAML e rich editor visuale, in cui le modifiche vengono sincronizzate da una parte all'altra della finestra;
- Supporto per la visualizzazione grafica di controlli custom;
- Aggiunta di uno slider per effettuare zoom-in e zoom-out sull'interfaccia grafica della propria applicazione;
- Possibilità di fermare il caricamento della visualizzazione grafica di file .xaml corposi;
- Supporto allo sviluppo di codice XAML attraverso l'intellisense;
- Supporto alla personalizzazione tramite la toolbox dei controlli e la finestra delle proprietà;
- Presenza di linee di supporto per il posizionamento dei controlli all'interno della finestra;
- Tag navigator, strumento che visualizza la posizione del relativo tag XAML all'interno dell'albero di markup a fronte della selezione di un particolare controllo effettuata in design view.
Inoltre, il designer WPF offre supporto per la collaborazione con Expression Blend: grazie ad un formato di lavoro condiviso (XAML) e della condivisione della relativa soluzione, è possibile separare il lavoro di programmatori e designer.
Le novità del framework di comunicazione
- il supporto ad AJAX per consumare servizi WCF;
- il supporto per il formato JSON (JavaScript Object Notation);
- la possibilità di creazione di servizi durevoli nel tempo;
- il supporto per lo sviluppo di servizi WCF stile web, attraverso un modello di programmazione;
- un miglioramento delle comunicazioni tra WCF e Workflow Foundation, attraverso i Workflow Services;
- la possibilità di utilizzo di meccanismi di comunicazione WCF in applicazioni "partially trusted";
- linteroperabilità tra web service WCF;
- l'integrazione con i formati RSS e ATOM (WCF Syndacation);