Condividi tramite


Scelta tra Windows Form e Web Form

Aggiornamento: novembre 2007

Prima di iniziare a sviluppare applicazioni con un'interfaccia utente, è possibile decidere se utilizzare Windows Form o Web Form. Entrambe le tecnologie dispongono di supporto completo in fase di progettazione nell'ambiente di sviluppo e possono fornire una ricca interfaccia utente e funzionalità avanzate per le applicazioni in grado di risolvere i problemi aziendali. A causa di tale analogia funzionale, è difficile decidere qual è la tecnologia appropriata per una determinata applicazione.

Alcune considerazioni relative alle applicazioni possono rendere ovvia la scelta. Ad esempio, se si crea un sito Web di e-commerce accessibile al pubblico via Internet, è necessario sviluppare l'applicazione mediante Web Form. Se si costruisce un'applicazione molto reattiva e con un'elevata capacità di elaborazione che richiede la completa funzionalità del computer client, ad esempio un'applicazione per la produttività di un ufficio, è consigliabile utilizzare Windows Form. In altri casi, tuttavia, la scelta potrebbe essere meno evidente.

Nelle sezioni seguenti vengono descritte le funzionalità e le caratteristiche di ogni tipo di tecnologia allo scopo di consentire all'utente di scegliere quella adatta alla propria applicazione.

Quando utilizzare Windows Form

Windows Form è utilizzato per sviluppare applicazioni quando è necessario che l'applicazione client sostenga gran parte dell'elaborazione dell'applicazione. Tali applicazioni client comprendono applicazioni desktop Win32, tradizionalmente sviluppate nelle versioni precedenti di Visual Basic e di Visual C++. Alcuni esempi sono dati dalle applicazioni di disegno e grafica, dai sistemi di immissione dati, dai sistemi POS e dai giochi.

Tali applicazioni dipendono dalla potenza del computer desktop per l'elaborazione e la visualizzazione del contenuto a prestazioni elevate. Alcune applicazioni di Windows Form sono completamente indipendenti ed eseguono tutta l'elaborazione sul computer dell'utente. I giochi sono spesso compilati in questo modo. Altre applicazioni fanno parte di un sistema più ampio e utilizzano il desktop soprattutto per l'elaborazione dell'input dell'utente. Ad esempio, un sistema POS richiede spesso un'interfaccia utente reattiva e sofisticata, creata sul computer desktop, ma collegata ad altri componenti che eseguono l'elaborazione back-end.

Poiché è costruita su un framework Windows, un'applicazione Windows che utilizza Windows Form ha accesso alle risorse di sistema del computer client, compresi i file locali, il Registro di sistema di Windows, la stampante e così via. Questo livello di accesso può essere limitato per eliminare i rischi relativi alla protezione o potenziali problemi dovuti ad accessi indesiderati. Windows Form può inoltre utilizzare le classi di grafica .NET FrameworkGDI+ per la creazione di una ricca interfaccia grafica, spesso necessaria per le applicazioni di analisi approfondita dei dati o di giochi.

Quando utilizzare Web Form

Si utilizzano Web Form ASP.NET per creare applicazioni in cui l'interfaccia utente principale è costituita da un browser, incluse ovviamente le applicazioni destinate a essere consultabili sul Web, come quelle di e-commerce. I Web Form non vengono utilizzati solo per la creazione di siti Web: sono infatti molte le applicazioni che richiedono l'elaborazione front-end, come le applicazioni per il supporto dei dipendenti o relative alla previdenza basate su Internet. Un vantaggio rilevante di tutte le applicazioni basate su Web Form è dato dall'assenza di costi di distribuzione poiché gli utenti dispongono già della sola parte dell'applicazione necessaria, il browser.

Le applicazioni basate su Web Form sono per definizione indipendenti dal tipo di piattaforma. Gli utenti possono interagire con l'applicazione indipendentemente dal tipo di browser e dal tipo di computer in uso. Queste applicazioni possono inoltre essere ottimizzate per beneficiare delle caratteristiche incorporate nei browser più recenti, come Microsoft Internet Explorer 6.0, per ottenere prestazioni e tempi di risposta ottimali.

Nota:

In molti casi, questa ottimizzazione è incorporata nei componenti di Web Form utilizzati, che sono in grado di rilevare automaticamente il livello dei browser ed eseguire di conseguenza il rendering delle pagine.

Le applicazioni basate su Web Form offrono alcune caratteristiche utili anche in contesti non Web. Poiché si basano sul linguaggio HTML, i Web Form sono adatti alle applicazioni con molto testo di ogni tipo, in particolare quelle in cui è importante la formattazione del testo. Poiché le applicazioni basate sul browser sono solitamente limitate relativamente all'accesso alle risorse di sistema degli utenti, tale limite rende le applicazioni basate su Web Form utili nelle situazioni in cui si desidera evitare che gli utenti accedano a parti dell'applicazione.

Confronto tra Windows Form e Web Form

Nella tabella riportata di seguito viene fornito un confronto dei diversi criteri delle applicazioni e del modo in cui le tecnologie Windows Form e Web Form rispondono a tali criteri.

Caratteristica/Criterio

Windows Form

Web Form

Distribuzione

Windows Form consente una distribuzione "no-touch" con ClickOnce, tecnologia con la quale le applicazioni possono essere scaricate, installate ed eseguite direttamente nei computer degli utenti senza modifiche del Registro di sistema. Per ulteriori informazioni su ClickOnce, vedere Cenni preliminari sulla distribuzione ClickOnce.

Le applicazioni basate su Web Form non vengono distribuite ai client, i quali necessitano solo di un browser. È necessario che nel server sia eseguito Microsoft .NET Framework. Gli aggiornamenti all'applicazione sono eseguiti aggiornando il codice sul server.

Grafica

La tecnologia Windows Form include GDI+, che consente di utilizzare una grafica sofisticata per giochi e altri ambienti grafici complessi.

La grafica interattiva o dinamica richiede round trip sul server per gli aggiornamenti. È possibile utilizzare GDI+ sul server per creare grafica personalizzata.

Reattività

È possibile eseguire Windows Form interamente nel computer client. Garantisce la massima velocità di risposta per le applicazioni che richiedono un elevato grado di interattività.

Se gli utenti utilizzano Internet Explorer 5 o versioni successive, un'applicazione basata su Web Form può avvalersi delle potenzialità DHTML (HTML dinamico) del browser per creare un'interfaccia utente (UI) ricca e reattiva. Se gli utenti utilizzano altri browser, la maggior parte dell'elaborazione, comprese le attività collegate all'interfaccia utente come la convalida, richiede un percorso andata/ritorno sul server Web, che può ridurre la velocità di risposta.

Controllo di form e flusso di testo

Il posizionamento su griglia di Windows Form rappresenta uno strumento di verifica bidimensionale (coordinate x e y) preciso del posizionamento di controlli.

Per inserire testo in Windows Form, si inserisce il testo nei controlli, ad esempio il controllo Label, il controllo TextBox o il controllo RichTextBox). La formattazione è limitata.

La tecnologia Web Form è basata su un layout del flusso di tipo HTML e supporta tutte le caratteristiche del layout delle pagine Web. Il supporto della formattazione del testo è particolarmente elevato.

Il layout del controllo può essere gestito in modo adeguato con alcuni limiti, come la mancanza di controlli di sovrapposizione. Se gli utenti dispongono di browser abilitati per DHTML, è possibile specificare un layout molto più preciso con il layout bidimensionale (coordinate x e y).

Piattaforma

Per Windows Form è necessario che .NET Framework sia in esecuzione nel computer client.

Web Form richiede solo un browser. I browser abilitati a DHTML sono in grado di utilizzare ulteriori caratteristiche, ma è possibile progettare i Web Form per il funzionamento con tutti i browser. È necessario che nel server Web sia in esecuzione .NET Framework.

Accesso alle risorse locali (file system, Registro di sistema di Windows e così via)

Quando è consentito, le applicazioni possono avere completo accesso alle risorse del computer locale. Se necessario, è possibile limitare con precisione l'utilizzo di risorse specifiche da parte dell'applicazione.

La protezione del browser impedisce l'accesso dell'applicazione a risorse del computer locale.

Modello di programmazione

Windows Form si basa su una modalità di tipo distributore pompa (message-pump) Win32 sul lato client, dove le istanze dei componenti vengono create, utilizzate e rifiutate dallo sviluppatore.

Web Form si basa su un modello ampiamente asincrono e disconnesso, dove i componenti sono accoppiati in modo ridotto con il front-end dell'applicazione. In genere, i componenti dell'applicazione sono richiamati mediante il protocollo HTTP. Questo modello può non essere adeguato per le applicazioni che richiedono una grande velocità effettiva dal lato utente o per quelle con transazioni di grande volume. Allo stesso modo, le applicazioni di Web Form potrebbero non essere adatte per le applicazioni di database che richiedono livelli elevati di controllo della concorrenza, come un blocco pessimistico.

Protezione

Windows Form utilizza le autorizzazioni nell'implementazione della protezione dall'accesso di codice per proteggere le risorse del computer e le informazioni riservate. Ciò assicura l'estrema funzionalità, pur mantenendo la protezione. Ad esempio, mentre l'autorizzazione di stampa consente, a un livello, di stampare solo dalla stampante predefinita, a un altro livello consente la stampa da qualsiasi stampante. Grazie a ClickOnce gli sviluppatori sono in grado di configurare facilmente le autorizzazioni che devono o non devono essere richieste al client dall'applicazione. Per ulteriori informazioni, vedere Distribuzione e sicurezza ClickOnce.

L'autorizzazione dell'accesso alle risorse di un'applicazione Web è in genere controllata in base all'URL, mediante l'autenticazione delle credenziali del richiedente, ad esempio una coppia nome/password. Web Form consente agli sviluppatori di controllare l'identità di esecuzione del codice dell'applicazione server. Le applicazioni possono eseguire il codice con l'identità dell'entità richiedente, nota come rappresentazione. Possono anche adeguarsi dinamicamente al contenuto in base all'identità o al ruolo del richiedente. Ad esempio, un manager può ottenere l'accesso a un sito o a un livello superiore del contenuto rispetto a un utente con autorizzazioni minori.

Vedere anche

Concetti

Cenni preliminari sulla distribuzione ClickOnce

Riferimenti

Panoramica sui Windows Form