Ho svolto principalmente lo sviluppo di GUI utilizzando Java Swing. Ma ho anche usato JavaScript e jQuery per le applicazioni web.
Le cose che sono state molto più semplici con le applicazioni web JavaScript sono:
Questo rende la distribuzione molto più semplice. L'utente non deve installare nulla e l'applicazione silenziosamente può essere aggiornata alla prossima richiesta (se è disponibile una nuova versione). Ciò rende anche più facile lo sviluppo del server poiché non è più di una versione client utilizzata.
Client di rete integrato
Aiuta molto il fatto che i browser Web gestiscano tutte le connessioni di rete per te. Ad esempio, quando si desidera inviare messaggi al server, non si deve fare quasi nulla per gestire la connessione di rete. Confronta questo con l'utilizzo di Apache HTTP Client , specialmente quando si desidera utilizzare una connessione sicura tramite HTTPS. I nuovi Websocket renderanno questo ancora più potente.
Più facile per rendere il layout
Questo potrebbe essere un vantaggio solo contro Java Swing, ma forse non rispetto a WPF. Ma fare il layout in modo dichiarativo usando HTML + CSS aiuta molto rispetto a come in Java Swing dove tutto il layout è fatto usando il codice Java. Sarebbe come rendere il layout e l'uso dei componenti solo tramite JavaScript.
Più facile per la programmazione asincrona
Considera un modulo di iscrizione, in cui l'utente sceglie un "nome utente" e riempie gli altri campi con le informazioni. In JavaScript è molto facile controllare in modo asincrono (usando Ajax) se il nome utente è già in uso senza bloccare l'interfaccia utente, mentre l'utente può continuare a compilare gli altri campi - e se il nome utente è già in uso, notificarlo all'utente . In molti altri framework GUI nativi, devi attivare un nuovo thread per cose asincrone e rendere il codice meno leggibile come in JavaScript + Ajax.