Differenze tra applicazioni WinForm/LAN e WebForm/Internet


ASP.NET


Mentre è in corso un lungo download da Internet... colgo l'occasione di una domanda sul forum per stendere alcune considerazioni che ho raccolto durante la transizione da Client/Server ad Internet, la stessa che molte aziende hanno affrontato grazie a .NET (e che quindi ho vissuto da vicino).

-  -  -


Ci sono molte differenze architetturali tra WinForm e WebForm:


1) - L'interazione GUI di una applicazione WinForm è tipicamente sincrona mentre quella di una applicazione WebForm è potenzialmente asincrona (es. quando l'utente invia una richiesta al server, nel tempo che intercorre per ricevere la risposta può annullare la richiesta, fare una richiesta alternativa o aggiungere una nuova richiesta duplicando la finestra corrente) come previsto da HTTP/HTML


2) - L'interazione GUI di una applicazione WinForm è tipicamente  state-full (esiste uno stato complessivo della applicazione) mentre una applicazione WebForm è tipicamente stateless (la pagina corrente  potenzialmente contiene l'intero stato del dialogo di interazione); anche se l'infrastruttura di ASP.NET semplifica l'implementazione state-full di una applicazione WebForm ci sono alcuni aspetti di cui il programmatore deve essere consapevole  e gestire consapevolmente (a volte caso per caso) ad esempio guarda questo ottimo tip [1]


3) - L'interazione GUI di una applicazione WinForm  tipicamente segue le Guidelines dell'interfaccia fornite da MS per Windows (il sistema operativo è Windows) mentre una applicazione WebForm dovrebbe seguire linee guida dell'interfaccia utente determinate dallo standard HTML (il sistema operativo è "la rete")


4) -  Una applicazione WinForm  può essere Fat-Client, Thin-Client, Multi-Tiers, Client/Server o  Distribuita mentre una applicazione WebForm è tipicamente Thin-Client, almeno 2-Tiers e molto spesso distribuita (per ragioni di scalabilità e robustezza)

 

Infine ci sono aspetti legati alla differenza tra una LAN/MAN e Internet:


1) - In una applicazione WinForm/LAN tipicamente gli utenti che la utilizzano sono noti a priori nel numero (medio) e nella loro identità mentre in una applicazione WebForm/Internet il numero di utenti è molto variabile e l'identità degli utento non è nota a priori


2) - In una applicazione WinForm/LAN tipicamente i tempi massimi di disposta (della LAN) sono noti e molto bassi mentre in una applicazione WebForm/Internet i tempi massimi di risposta (di Internet)  non sono noti o controllabili e comunque sono lunghi (rispetto ad una LAN di pari livello)


3) - In una applicazione WinForm/LAN tipicamente puoi usare tecnologie proprietarie mentre in una applicazione WebForm/Internet solitamente conviene usare tecnologie/formati/protocolli standard.


Queste differenze restringono di molto (anche se non annullano del tutto) l'utilità di un ipotetico Tool di conversione da WinForm a WebForm... almeno per ora e per il futuro che è sul radar ;-)

Ti segnalo inoltre queste due valide letture sull'argomento [2], [3].

bye (luKa)

[1] ASP.NET: intercettare l'utilizzo dei tasti BACK/FORWARD del browser
http://www.ugidotnet.org/tips/tips_read.aspx?ID=126

[2] Windows Forms and Web Forms Recommendations
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon/html/vbtskchoosingbetweenwinformswebforms.asp

[3] Visual Studio .NET la sfida più difficile (mi cito addosso :D :D :D)
Computer Programming, Ottobre 2002 - http://online.infomedia.it/riviste/cp/117/numerocp.htm
 

 

Tags :   |

Print | posted @ Thursday, November 6, 2003 5:04 PM

Comments have been closed on this topic.