Java – Panoramica dei framework GUI “desktop”

Una applicazione GUI (Graphical User Interface, cioè “interfaccia utente grafica”) è un tipo di applicazione che permette di interagire con l’utente in maniera “visuale” utilizzando un insieme di componenti “grafici” quali ad esempio pulsanti, etichette, campi di testo, icone, menù, ecc...

Nell’ambito della programmazione Java sui sistemi di tipo “desktop”, è possibile realizzare applicazioni GUI utilizzando appositi framework di classi, che consentono di creare, disporre e gestire i componenti grafici. La piattaforma Java di riferimento in questo contesto è la Standard Edition (Java SE).

Ad oggi esistono per Java ben 4 framework per GUI di tipo “desktop”: AWTSwingJavaFXSWT. Ciascuno di questi framework è nato in tempi diversi, contesti diversi e con obiettivi e potenzialità anche abbastanza differenti.

Per chi ha iniziato da poco o inizierà a breve a studiare i framework per GUI “desktop” in Java, dico subito innanzitutto che il framework generalmente più pratico e più facilmente “abbordabile” è sicuramente Swing.

Con questo post voglio iniziare una breve serie di articoli dedicati a fornire una panoramica generale su questi framework. La mia intenzione quindi non sarà di mostrare codice o di entrare nei dettagli tecnici dei framework ma di raccontare in maniera molto più discorsiva la storia, la evoluzione, le caratteristiche e i vantaggi/svantaggi di questi framework.

Inizierò sicuramente con AWT e poi con Swing, dato che sono i due framework su cui sono maggiormente “ferrato”. In futuro cercherò di descrivere anche JavaFX e possibilmente SWT, sebbene al momento le mie competenze su questi due framework sono più limitate.