Menù
Introduzione allo sviluppo
desktop
Linguaggi e toolkit per lo
sviluppo desktop
Primo esempio pratico: Hello
World con Lazarus/FreePascal
Creare una calcolatrice desktop
con Lazarus/FreePascal
Salvataggio della cronologia dei
calcoli
Articolo 1 – Introduzione allo sviluppo desktop 🖥️💻
Lo sviluppo di applicazioni desktop rimane fondamentale nell’informatica. Programmi gestionali, strumenti di produttività, software scientifici e applicazioni multimediali trovano la loro naturale collocazione come app desktop.
Ma quale ambiente scegliere? Windows e Linux hanno approcci diversi, con vantaggi e svantaggi. 🔹
1. Architettura dei due sistemi ⚙️
-
Windows: usa principalmente le API Win32 e .NET. La retrocompatibilità è uno dei punti di forza: un’app scritta vent’anni fa può funzionare ancora oggi.
-
Linux: non ha un’API unica, ma diverse librerie e toolkit (GTK, Qt, ecc.). La varietà offre flessibilità, ma richiede attenzione alla compatibilità tra distribuzioni.
2. Strumenti di sviluppo 🔧
-
Windows: Visual Studio, con editor, debugger e designer GUI integrati.
-
Linux: ampia scelta: Eclipse, NetBeans, Lazarus, KDevelop, Geany. L’open source domina e ogni sviluppatore può personalizzare l’ambiente.
3. Linguaggi di programmazione 💻
-
Windows: C#, VB.NET, C++.
-
Linux: C, C++, Python, Lazarus/FreePascal, Java.
-
Filosofia: Windows → linguaggi integrati nell’ecosistema, Linux → libertà di scelta.
4. Interfacce grafiche (GUI) 🎨
-
Windows: WinForms, WPF, MAUI (moderno e multipiattaforma).
-
Linux: GTK, Qt, FLTK.
-
Differenza pratica: Qt o GTK permettono app multipiattaforma, WinForms funziona solo su Windows.
5. Distribuzione delle applicazioni 📦
-
Windows: installer
.exe
o.msi
. -
Linux: pacchetti specifici (
.deb
,.rpm
) o universali (AppImage, Flatpak, Snap
).
6. Cross-platform 🌍
Framework come Java, Python (PyQt, Tkinter), Lazarus, .NET MAUI, Avalonia permettono di scrivere una sola volta il codice e distribuirlo su più sistemi.
Conclusione ✅
Windows → standardizzazione,
retrocompatibilità, strumenti
integrati.
Linux → libertà, flessibilità,
open source.
Conoscere le differenze aiuta a scegliere l’ambiente più adatto o a sviluppare software multipiattaforma.
Articolo 2 – Linguaggi e toolkit per lo sviluppo desktop 🖥️💻
Dopo aver visto le differenze tra Windows e Linux nello sviluppo desktop, è importante capire quali linguaggi e strumenti possiamo usare per creare applicazioni.
La scelta dipende dal sistema operativo, dalla complessità dell’applicazione e dal tipo di interfaccia grafica desiderata. 🔹
1. Linguaggi più diffusi su Windows 💻
-
C#: principale del framework .NET, integrato in Visual Studio.
-
Visual Basic .NET: semplice e rapido per piccoli tool e software gestionali.
-
C++: per applicazioni ad alte prestazioni; può usare Win32 o Qt.
-
Python: con librerie GUI come Tkinter, PyQt o wxPython.
2. Linguaggi più diffusi su Linux 🐧
-
C e C++: usati per applicazioni native ad alte prestazioni.
-
Python: molto popolare, semplice e multipiattaforma.
-
Pascal (Lazarus/FreePascal): sviluppo RAD multipiattaforma.
-
Java: Swing o JavaFX permettono app che funzionano su Linux, Windows e macOS.
3. Toolkit grafici (GUI) 🎨
Windows:
-
WinForms → semplice e tradizionale.
-
WPF → moderno, interfacce complesse.
-
MAUI / Avalonia → multipiattaforma .NET.
Linux:
-
GTK → GNOME.
-
Qt → KDE, multipiattaforma.
-
FLTK → leggero e semplice.
-
Tkinter (Python) → rapido e immediato.
4. Linguaggi e toolkit multipiattaforma 🌍
-
Qt (C++ o Python) → Linux, Windows, macOS.
-
Lazarus/FreePascal → sviluppo RAD per tutte le piattaforme.
-
Java (Swing, JavaFX) → scrivi una volta, esegui ovunque.
-
Electron (JavaScript/Node.js) → applicazioni desktop basate su web.
5. Conclusioni ✅
-
Windows → linguaggi integrati e GUI consolidate.
-
Linux → libertà di scelta e toolkit diversi.
-
Multipiattaforma → Qt, Lazarus e Java permettono di scrivere una sola volta e distribuire ovunque.
Articolo 3 – Primo esempio pratico: Hello World con Lazarus/FreePascal 🖥️💻
Lazarus è un ambiente RAD (Rapid Application Development) basato su FreePascal, che permette di creare applicazioni desktop con GUI sia su Windows che su Linux.
In questo articolo vedremo come creare una finestra con un bottone che mostra un messaggio “Hello World”. 🌍
1. Creazione del progetto ⚡
-
Apri Lazarus.
-
Dal menu scegli:
File → New → Project → Application
. -
Lazarus creerà automaticamente una finestra vuota (Form1) e il file principale
project1.lpr
.
2. Aggiungere un bottone 🔘
-
Dal pannello “Component Palette”, trascina un Button sulla Form1.
-
Nel pannello “Object Inspector”, cambia il testo del bottone in:
Cliccami
3. Scrivere il codice 💻
-
Fai doppio clic sul bottone per aprire l’editor eventi.
-
Inserisci il seguente codice nella procedura generata:
-
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage('Hello World! 🌍');
end;
-
TForm1
è il nome della finestra. -
Button1Click
è l’evento che si attiva quando clicchi sul bottone. -
ShowMessage
mostra una finestra con il testo desiderato.
4. Eseguire l’applicazione 🖥️
-
Premi F9 o clicca su
Run → Run
. -
Comparirà la finestra con il bottone “Cliccami”.
-
Cliccando il bottone, vedrai il messaggio Hello World! 🎉
5. Conclusione ✅
-
Hai creato la tua prima applicazione desktop multipiattaforma.
-
Funziona su Windows e Linux senza modifiche.
-
Lazarus semplifica lo sviluppo grazie al drag & drop dei componenti e al supporto RAD.
Suggerimento 💡
Prova a cambiare il messaggio del bottone o a inserire un secondo bottone con una funzione diversa, così inizi a capire come gestire più eventi nella stessa finestra.
Articolo 4 – Creare una calcolatrice desktop con Lazarus/FreePascal 🖥️💻
In questo articolo realizzeremo una calcolatrice semplice con le operazioni di base: somma, sottrazione, moltiplicazione e divisione.
1. Creazione del progetto ⚡
-
Apri Lazarus.
-
File → New → Project → Application
. -
Lazarus genera automaticamente una finestra vuota (
Form1
).
2. Aggiungere componenti GUI 🔘
Dal Component Palette, trascina sulla finestra:
-
TEdit → per mostrare il risultato (parte superiore).
-
TButton → per ogni numero (0–9) e per le operazioni
+
,-
,*
,/
,=
.
Proprietà consigliate:
-
TEdit:
Name = Display
,ReadOnly = True
,Alignment = taRightJustify
-
Bottoni numerici:
Name = Btn0, Btn1…
,Caption = "0", "1", …
-
Bottoni operazioni:
Name = BtnAdd, BtnSub…
,Caption = "+", "-", "*", "/"
-
Bottone uguale:
Name = BtnEqual
,Caption = "="
3. Dichiarare variabili globali 💻
Nel file principale (unit1.pas
),
aggiungi sotto
TForm1 = class(TForm)
:
private
CurrentValue: Double;
|
-
CurrentValue
memorizza il numero inserito. -
Operator
memorizza l’operazione selezionata.
4. Gestire i numeri 🔢
Crea una procedura per inserire i numeri nel display:
procedure
TForm1.NumberClick(Sender:
TObject);
|
-
Collega tutti i bottoni numerici all’evento
NumberClick
.
5. Gestire le operazioni ➕➖✖️➗
Procedura per memorizzare l’operatore e salvare il valore corrente:
procedure
TForm1.OperatorClick(Sender:
TObject); |
-
Collega tutti i bottoni
+
,-
,*
,/
aOperatorClick
.
6. Gestire il bottone “uguale” ✅
procedure
TForm1.BtnEqualClick(Sender:
TObject);
|
7. Testare l’applicazione 🖥️
-
Premi F9 o
Run → Run
. -
Comparirà la finestra con i numeri e le operazioni.
-
Prova a fare calcoli come
7 + 3 =
→ risultato corretto:10
.
8. Conclusione ✅
-
Hai creato una calcolatrice desktop multipiattaforma.
-
Funziona su Windows e Linux senza modifiche.
-
Puoi ampliare il progetto aggiungendo:
-
tasto
C
per cancellare -
tasto
.
per decimali -
gestione dei numeri negativi
-
memoria dei calcoli
-