Qt FrameworkPagina 5di 6
Per sistemi UNIX, Qt
rappresenta un’ottima
possibilità, è portabile, è
veloce, facile da imparare
ed usare, inoltre, se si
scrive software open
source per Linux, BSD,
Solaris o molte altre
varianti UNIX,Qt è
gratuito. In altre parole,
non si deve pagare alcuna
licenza.
In caso contrario, se si
sviluppa codice
commerciale, occorre
acquistare una licenza per
losviluppo (ma non si
dovrà pagare alcuna
Perché usare Qt?
Un toolkit che permetta lo
sviluppo di GUI multi-
piattaforma, deve
implementare una
strategia per nascondere
al programmatore i dettagli
dovuti alle API native del
sistema operativo
sottostante.
Esistono
fondamentalmente tre
strategie differenti adatte
alloscopo e prendono il
nome di “API layering”,
“API emulation” e “GUI
emulation”.
La strategia di API layering
(letteralmente
stratificazione delle API),
prevede la costruzione di
una nuova API fornita da
uno strato software che
viene localizzato al di
sopra della API nativa. I
vantaggi offerti da questa
soluzione sono una
relativa semplicità di
programmazione ed una
totale conformità con il
Cross-Platform: cosavuol dire?
Un toolkit che permetta
lo sviluppo di GUI multi-
piattaforma, deve
implementare una
strategiaper
nascondere al
programmatore i
dettagli dovuti alle API
native del sistema
operativo sottostante.
royalty per ogni
applicazione venduta).
Supponiamo che si voglia
scrivere software
commerciale closed
source per la piattaforma
Windows, per quale
motivo si dovrebbe usare
Qt, per il mondo Windows
esistono già diversi
ambienti di sviluppo
commerciali e diversi
toolkit GUI? La risposta a
questa domanda può
arrivare se si pensa alla
portabilità.
Scrivere applicazioni con
Qt permette infatti di
portare il codice sorgente
scritto anche su altre
piattaforme, sarà
sufficiente la
ricompilazione e la nostra
applicazione potrà essere
eseguita in modo nativo
sulla nuova piattaforma.
I principali linguaggi di
porgrammazione
supportati sono:
C++
Java
Python (PyQt)
look&feel (aspetto
estetico) nativo. Per contro
losvantaggio principale è
dovuto alla lentezza dei
programmi scritti,
basandosi sulle nuove
API; infatti lo strato
software aggiuntivo va ad
appesantire l’esecuzione
con inevitabili
rallentamenti.
La strategia di API
emulation (letteralmente
emulazione della API),
consiste nell’emulare le
API di un unico sistema su
tutte le altrepiattaforme. In
questo caso, non occorre
innestare uno strato
software al di sopra delle
API native per la
piattaforma emulata,
occorre bensì inserirla per
lealtre piattaforme,
diverse da quella usata
come riferimento. Benché
questa soluzione sembri
risolvere i problemi di
portabilità, in realtà è
difficile da ottenere, in
quanto se le piattaforme
sono tra loro troppo
differenti, l’uso di una API
di riferimento è molto
complicato da realizzare.
La terza strategia è quella
adottata da Qt e consiste
nell’emulare il vero
comportamento di una
GUI; per fare ciò, vengono
usate solamente le
primitive grafiche di base,
offerte da ciascuna
piattaforma, qu ali ad
esempio le funzioni per
tracciare un punto, una
linea, un cerchio. Il
vantaggio di questa
soluzione è evidente, non
si appesantisce
l’applicazione con uno
strato software aggiuntivo
e neppure si devono
uniformare tutte le API dei
sistemi su cui garantire la
portabilità.
Qt si integra
perfettamente con gli
strumenti di sviluppo
open source di Linux.