Cenni preliminari sullo sviluppo di pagine Web mobili ASP.NET
Aggiornamento: novembre 2007
Lo sviluppo di pagine ASP.NET per browser di dispositivi mobili non è molto diverso dallo sviluppo di pagine per browser per desktop. Per facilitare lo sviluppo di applicazioni per dispositivi mobili, ASP.NET fornisce uno spazio dei nomi System.Web.Mobile dedicato specificatamente allo sviluppo di applicazioni Web mobili.
È possibile creare una pagina Web dalla classe base MobilePage e aggiungere controlli dallo spazio dei nomi System.Web.Mobile. Lo spazio dei nomi definisce una suite di controlli server Web e adattatori particolarmente utili soprattutto se si sviluppano applicazioni che devono essere disponibili per numerosi dispositivi mobili diversi tra loro come, ad esempio, telefoni cellulari.
ASP.NET 2.0 offre inoltre un'architettura adattiva di controllo che consente di generare adattatori per dispositivi personalizzati per controlli server Web ASP.NET 2.0. Gli adattatori possono creare un rendering personalizzato per un controllo in base al browser che invia la richiesta. Grazie all'architettura adattiva, è possibile creare adattatori personalizzati per controlli server Web ASP.NET per eseguire il rendering dell'output specifico per i dispositivi che accedono all'applicazione tramite browser desktop.
Sia che si sviluppi per browser desktop o che si sviluppi per dispositivi mobili, lo sviluppo segue il modello standard .NET basato su eventi in cui l'applicazione risponde a richieste dell'utente, clic su pulsanti e così via.
Architettura delle applicazioni mobili
Sebbene ASP.NET integri la tecnologia per assicurare che lo sviluppo di applicazioni Web per dispositivi mobili ASP.NET segua lo stesso paradigma dello sviluppo di applicazioni Web tradizionali, lo scopo principale dell'architettura non è permettere la generazione di singole pagine per browser per desktop e per dispositivi mobili. Le limitazioni dei browser per i dispositivi mobili spesso comportano che le pagine progettate per i browser desktop non effettuino correttamente la conversione ai browser per dispositivi mobili.
Ad esempio se si crea una pagina Web ASP.NET che include l'intestazione di un sito, una barra di spostamento nella parte superiore della pagina, una struttura di spostamento secondaria lungo il bordo della pagina e il contenuto nel resto della pagina, la pagina effettuerà il rendering come previsto in un browser per desktop. In tal caso c'è in genere molto spazio per eseguire il rendering di tutti i controlli e fornire un'area con un contenuto che è possibile scorrere. Tuttavia, in molti browser per dispositivi mobili questo layout è impossibile. Molti dispositivi mobili presentano un'area dello schermo limitata rispetto a quella dei desktop, quindi lo spostamento diventa un processo in più passaggi in cui l'utente deve fare clic su diversi controlli per visualizzare il contenuto della pagina.
La logica di presentazione segue un modello simile. Ad esempio, quando l'utente compila un form Web utilizzando un browser per desktop può visualizzare contemporaneamente molti controlli sullo schermo. Dopo la convalida del form sul server è possibile visualizzare gli errori di convalida accanto ai controlli. Con un dispositivo mobile può essere più difficile visualizzare l'input e la convalida del form in un formato utilizzabile. Inoltre, per i dispositivi mobili è possibile prevedere tasti di scelta rapida che consentano all'utente di inserire le informazioni digitando meno testo perché la digitazione potrebbe essere scomoda.
Per questi motivi è necessario creare pagine separate nell'applicazione Web ASP.NET per l'utilizzo con browser per desktop e dispositivi mobili. Una pagina sviluppata specificatamente per i browser per dispositivi mobili consente di suddividere la logica di presentazione in parti di dimensioni inferiori che si adattano meglio all'area dello schermo e all'hardware di input del dispositivo.
Controlli server Web mobili
Lo spazio dei nomi ASP.NET 2.0 System.Web.Mobile è dedicato specificatamente allo sviluppo di applicazioni Web mobili. È possibile creare una pagina Web per dispositivi mobili dalla classe base MobilePage e aggiungere i controlli server Web mobili dallo spazio dei nomi System.Web.Mobile. I controlli server Web mobili sono dotati di un certo numero di adattatori specializzati in .NET Framework e sono pertanto dedicati specificatamente allo sviluppo di applicazioni Web per un'ampia gamma di dispositivi mobili.
Controlli server Web ASP.NET e architettura ad adattatore
La maggior parte dei controlli server Web ASP.NET 2.0 seguono l'architettura ad adattatore unificato. Ciò significa che è possibile ottenere un comportamento diverso in base al dispositivo che invia la richiesta chiamando un adattatore personalizzato che fornisce i comportamenti appropriati per quel dispositivo come, ad esempio, la generazione di linguaggio markup adeguato. Se un adattatore è configurato nel file delle definizioni del browser per il dispositivo o browser che genera la richiesta, ASP.NET chiama l'adattatore in ogni fase del ciclo di vita di un controllo server Web. L'adattatore può quindi regolare l'output dopo rendering e gestire la logica dello stato di visualizzazione specifica per ogni dispositivo o idiosincrasie del dispositivo. I file di definizione del browser si trovano nella cartella Browsers della directory Config .NET Framework o nella cartella App_Browsers di un'applicazione Web.
Non sono attualmente disponibili adattatori per i controlli ASP.NET. Esiste tuttavia un'ampia gamma di adattatori per controlli mobili ASP.NET per soddisfare le esigenze di numerosi dispositivi e browser.
È possibile creare adattatori personalizzati per ogni dispositivo e fare in modo che il framework della pagina ASP.NET li utilizzi quando un dispositivo specifico accede alla pagina. Per ulteriori informazioni, vedere Cenni preliminari sull'architettura del comportamento adattivo di un controllo.
Scelta di adattatori personalizzati o controlli mobili
Per le pagine destinate a dispositivi mobili è necessario utilizzare i controlli server Web mobili e creare pagine che ereditano da MobilePage. Questi controlli supportano un'ampia gamma di dispositivi mobili, ad esempio i telefoni cellulari. ASP.NET include i controlli server Web mobili per un'ampia gamma di sviluppi Web generali e specifici per dispositivi mobili. Inoltre, gli adattatori per i dispositivi con controlli mobili sono già disponibili per i principali dispositivi e i relativi linguaggi markup.
Microsoft continuerà a fornire gli aggiornamenti degli adattatori per i controlli server Web mobili nel caso di aggiornamento dei principali linguaggi markup. Questo consente di supportare nuovi linguaggi markup utilizzando gli stessi controlli in uso. Ad esempio, se si crea un sito di commercio elettronico che supporta browser desktop e un'ampia gamma di dispositivi mobili, si consiglia di creare un gruppo di pagine ASP.NET che ereditano dalla classe Page e un gruppo separato di pagine che ereditano dalla classe base MobilePage e utilizzano i controlli mobili.
Se necessario, è possibile creare adattatori personalizzati o modificare quelli già presenti quando i nuovi dispositivi richiedono nuovi comportamenti nei controlli server Web mobili.
In alcune situazioni è meglio utilizzare i controlli server Web ASP.NET e sviluppare adattatori personalizzati. Si tratta tipicamente di applicazioni per browser desktop avanzati, dove sono richieste modifiche al comportamento del browser, o per applicazioni destinate a una classe di dispositivi limitati per cui i controlli mobili e i rispettivi insiemi di funzionalità non sono garantiti. Un esempio potrebbe essere lo sviluppo di un'applicazione di risarcimento danni per una società assicurativa con un'interfaccia basata su browser per l'utilizzo in ufficio e un'interfaccia a dispositivi avanzati per l'utilizzo sul campo. L'applicazione potrebbe quindi utilizzare le stesse classi base della pagina per pagine standard e pagine per dispositivi avanzati. Sarebbe quindi necessario creare adattatori personalizzati solo per il dispositivo utilizzato sul campo.