Probabilmente hai sentito parlare di GTK + e Qt, ma quali sono questi toolkit di sviluppo?  E che impatto hanno sul modo in cui usi Linux?

Qual è la differenza tra GTK + e Qt?

Annuncio pubblicitario I linguaggi di programmazione e i toolkit sono argomenti complicati. Probabilmente sei riuscito a usare i computer per molto tempo senza pensarci troppo. Ma quando sei passato a Linux, improvvisamente il problema è diventato rilevante. Questo perché quanto bene si integra un'app con il resto del desktop spesso si pone una domanda: è stata realizzata in GTK + o Qt? C

Annuncio pubblicitario

I linguaggi di programmazione e i toolkit sono argomenti complicati. Probabilmente sei riuscito a usare i computer per molto tempo senza pensarci troppo.

Ma quando sei passato a Linux, improvvisamente il problema è diventato rilevante. Questo perché quanto bene si integra un'app con il resto del desktop spesso si pone una domanda: è stata realizzata in GTK + o Qt?

Cosa sono GTK + e Qt?

GTK + e Qt sono toolkit che gli sviluppatori usano per strutturare l'aspetto e la sensazione di un'app. Questi toolkit forniscono pulsanti, barre degli strumenti, cursori e menu visualizzati quando si utilizza un'app.

Strumento GNOME Widget Factory che mostra elementi GTK
Credito di immagine: Wikimedia Commons

I toolkit fanno risparmiare tempo agli sviluppatori. Invece di dover codificare o progettare le dimensioni, la forma e l'aspetto di ogni pulsante, possono lasciare che il toolkit si occupi di questo lavoro. Ciò li libera di concentrarsi sulla funzionalità principale fornita da un'app, come la modifica di documenti o la riproduzione di musica.

La storia di GTK + e Qt

Haarvard Nord ed Eirik Chambe-Eng hanno iniziato lo sviluppo di Qt nel 1991. Il nome, che è pronunciato "carino", deriva dal modo in cui la lettera Q appariva nel carattere Emacs di Haavard e dall'uso precedente della lettera t di Xt, la X toolkit già in uso sui desktop Unix.

Nord e Chambe-Eng avrebbero successivamente co-fondato Quasar Technologies, che divenne Throll Tech, poi Throlltech, e ora esiste in una forma diversa come The Qt Company.

Nel 1995, Throll Tech ha rilasciato il codice sorgente per una versione di Qt per Linux. Ma ciò non ha soddisfatto la definizione della Free Software Foundation di Open Source vs. Free Software: qual è la differenza e perché è importante? Open source vs. software libero: qual è la differenza e perché è importante? Molti presumono che "open source" e "software libero" significino la stessa cosa ma non è vero. È nel tuo interesse sapere quali sono le differenze. Maggiori informazioni poiché alle persone non è stato permesso di ridistribuire il codice se hanno apportato modifiche. Fu solo nel 2000 che Throlltech diede agli utenti la libertà di modificare e ridistribuire liberamente il codice.

GTK + è nato come GIMP Toolkit, creato da Peter Mattis in sostituzione dell'interfaccia esistente utilizzata nel programma di manipolazione delle immagini GNU. Dopo una riscrittura, il toolkit è diventato GTK + e ha visto il rilascio nel 1998. A differenza di Qt, le persone hanno avuto la libertà di modificare, modificare e condividere GTK + dall'inizio.

Mentre Qt è in qualche modo un toolkit più versatile e adattabile, una comunità consolidata attorno a GTK + durante questi primi anni. Vale anche la pena notare che la GNOME Foundation senza fini di lucro ora mantiene GTK +, mentre una società quotata in borsa, The Qt Company, guida lo sviluppo di Qt. Tuttavia, a questo punto, nessuno dei due toolkit è "più libero" dell'altro.

Desktop e software basati su GTK

Desktop GNOME con app GNOME Music e Web

Se hai recentemente effettuato il passaggio a Linux, ci sono buone probabilità che tu stia utilizzando un desktop basato su GTK. Questo perché molti dei migliori ambienti desktop Linux utilizzano tutti GTK +.

Prendi GNOME, l'opzione predefinita su sistemi operativi Linux importanti e ben consolidati come Ubuntu, Fedora e Debian. Quindi ci sono alternative come MATE e Xfce, che offrono entrambe interfacce più leggere e tradizionali.

Non dimentichiamo elementaryOS, un nuovo arrivato che si rivolge più ai commutatori recenti che agli utenti Linux di lunga data.

Molte delle app open source più popolari si integrano meglio con i desktop basati su GTK. Ciò include programmi come Firefox, Thunderbird, LibreOffice e GIMP. Le app basate su GTK multipiattaforma meno importanti includono AbiWord, Inkscape e Pidgin.

Vi è un crescente grado di diversità tra le app GTK +. Il software progettato appositamente per GNOME potrebbe apparire fuori posto anche su altri desktop basati su GTK. Questo perché le linee guida di GNOME Human Interface Design scoraggiano l'uso delle barre dei menu e introducono altri cambiamenti meno comuni.

Inoltre, molte app destinate a elementaryOS non sono disponibili per altri desktop.

Nel frattempo, la maggior parte dei summenzionati popolari strumenti multipiattaforma GTK + rimangono relativamente agnostici per desktop (il che significa che sembrano fuori posto su GNOME ed elementaryOS, a causa dell'enfasi posta sul design unico).

Desktop e software basati su Qt

Gestione file desktop KDE Plasma e impostazioni di sistema

Il desktop KDE Plasma è il più antico ambiente desktop completo per Linux. Se nel 1996 Qt fosse completamente aperto, GNOME potrebbe anche non esistere. Oltre due decenni dopo, la comunità di KDE continua a fornire il desktop Linux più ricco di funzionalità.

Con così pochi altri desktop basati su Qt, molte app Qt sono specificamente progettate per il desktop Plasma e possono persino dipendere da vari componenti di KDE. Per questo motivo, l'integrazione del software KDE è tra le migliori di qualsiasi desktop.

Puoi apportare modifiche all'interfaccia che incidono su ogni app o puoi modificare un'app in particolare fino a quando non ti senti a tuo agio. Detto questo, il desktop Plasma non è l'unico che utilizza Qt. LXQt è un'alternativa che si concentra sull'essere più leggero e semplice.

Mentre alcuni software KDE sono multipiattaforma, questi programmi non sono così noti al di fuori della comunità Linux. Le eccezioni più importanti possono essere Krita e digiKam.

Non tutti i software Qt sono progettati specificamente per KDE. Tali programmi includono VLC media player e l'app di desktop publishing Scribus.

Quanto conta la differenza?

Ci sono differenze tecniche tra GTK + e Qt, ma la maggior parte di queste sono più interessanti per gli sviluppatori rispetto al resto di noi. In questi giorni, i limiti sono ancora più difficili da notare di quanto non fossero in passato. Grazie a temi eccellenti, molte app GTK + ora sembrano a casa sul desktop Plasma basato su Qt. Alcune di queste app sembrano più a casa su Plasma che su GNOME.

Nel frattempo, puoi anche installare Scribus o VLC su un desktop basato su GTK senza mai accorgerti che c'è una differenza dietro le quinte.

Ma piccole incompatibilità si presentano di volta in volta. Le app possono aprire una finestra di selezione file diversa quando stai cercando un file da aprire. Le modifiche ai temi di sistema possono essere applicate a determinate app ma non ad altre. Più armeggi con il desktop, più potrebbero apparire stranezze.

In definitiva, questa domanda se preferire GTK + o Qt si riduce davvero alla scelta della tua interfaccia desktop preferita e delle tue app Linux preferite Il miglior software e app Linux Il miglior software e app Linux Sia che tu sia nuovo di Linux o che tu sia esperto utente, ecco i migliori software e app Linux che dovresti utilizzare oggi. Leggi di più .

Scopri di più su: GTK +, Linux, Qt.