Qual è la differenza tra GTK + e Qt?

gtk-qt

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

Ma quando sei passato a Linux, improvvisamente il problema è diventato rilevante. Questo perché quanto un'app si integra bene con il resto del desktop spesso si riduce a 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 l'aspetto di un'app. Questi kit di strumenti forniscono pulsanti, barre degli strumenti, cursori e menu visualizzati quando si utilizza un'app.

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

I toolkit fanno risparmiare tempo agli sviluppatori. Piuttosto che 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 per concentrarsi sulle funzionalità principali fornite 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, pronunciato "carino", è dovuto al modo in cui la lettera Q è stata visualizzata nel carattere Emacs di Haavard e all'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 questo non soddisfaceva la definizione di Free Software Foundation come libera, dal momento che le persone non erano autorizzate a ridistribuire il codice se facevano modifiche. Non è stato fino al 2000 che Throlltech ha dato agli utenti la libertà di modificare e ridistribuire liberamente il codice.

GTK + è iniziato 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 divenne GTK + e vide la pubblicazione nel 1998. A differenza di Qt, le persone avevano la libertà di modificare, modificare e condividere GTK + fin dall'inizio.

Mentre Qt è in qualche modo un toolkit più versatile e adattabile, una community consolidata attorno a GTK + durante questi primi anni. Vale anche la pena notare che la Fondazione GNOME non profit ora mantiene GTK +, mentre una società quotata in borsa, The Qt Company, conduce lo sviluppo di Qt. Tuttavia, a questo punto, nessuno degli strumenti è "più libero" dell'altro.

Desktop e software basati su GTK

Il desktop GNOME mostra GNOME Music e le app Web

Se hai effettuato di recente la transizione a Linux, è probabile che tu stia utilizzando un desktop basato su GTK. Questo perché molti dei migliori ambienti desktop Linux utilizzano GTK +.

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

Non dimentichiamo gli elementariOS, un nuovo arrivato che si rivolge più ai selezionatori recenti rispetto agli utenti Linux di lunga data.

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

C'è un crescente grado di diversità tra le app GTK +. Il software progettato appositamente per GNOME può sembrare fuori luogo anche su altri desktop basati su GTK. Questo perché le linee guida di progettazione dell'interfaccia umana di GNOME scoraggiano l'uso delle barre dei menu e introducono altri cambiamenti meno comuni.

Sappi anche che molte app destinate a elementari non sono disponibili per altri desktop.

Nel frattempo, la maggior parte dei già citati strumenti multipiattaforma GTK + rimangono agnostici relativamente desktop (il che significa che sembrano fuori luogo su GNOME e sugli elementari, a causa dell'enfasi posta dal fatto di avere un design unico).

Desktop e software basati su Qt

KDE Plasma desktop manager e impostazioni di sistema

Il desktop KDE Plasma è il più vecchio ambiente desktop completo per Linux. Se Qt fosse stato completamente riaperto nel 1996, GNOME potrebbe non esistere nemmeno. 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 progettate specificamente per il desktop Plasma e possono anche dipendere da vari componenti di KDE. Per questo motivo, l'integrazione del software KDE è tra i migliori di qualsiasi desktop.

Puoi apportare modifiche all'interfaccia che hanno un impatto su ogni app, oppure puoi modificare un'app in particolare finché 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ù leggeri e semplici.

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 tutto il software Qt è progettato specificamente per KDE. Tali programmi includono il lettore multimediale VLC e l'app di desktop publishing di Scribus.

Quanto conta la differenza?

Esistono differenze tecniche tra GTK + e Qt, ma la maggior parte di questi è più interessante per gli sviluppatori rispetto al resto di noi. In questi giorni, le limitazioni sono ancora più difficili da notare rispetto a prima. Grazie a un eccellente tema, molte app GTK + ora sono perfette sul desktop Plasma basato su Qt. Alcune di queste app sembrano più a casa su Plasma che su GNOME.

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

Ma piccole incompatibilità si presentano di tanto in tanto. 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ù ti diverti con il desktop, più appariranno stranezze.

In definitiva, questa domanda se preferire GTK + o Qt si riduce alla scelta della tua interfaccia desktop preferita e delle tue app Linux preferite .

Leggi l'articolo completo: Qual è la differenza tra GTK + e Qt?

Fonte: Utilizzare