Remove ads
llenguatge de programació From Wikipedia, the free encyclopedia
GTK (originalment GTK+, de l'anglès, Gimp ToolKit) és un conjunt de biblioteques multiplataforma per a crear interfícies gràfiques, sota programari lliure i de codi obert.[1] En un primer moment s'inspirà en Motif i es desenvolupà per a GIMP. Quan membres de la Fundació GNOME s'hi van involucrar, GTK va rebre una major integració i va ser emprat per a crear gran quantitat de programaris.[2] És un dels paquets d'eines més populars per a les X Window System juntament amb Qt.[3] GTK és adequat per a projectes que van des de petites eines fins a paquets de programari complets.[4]
| |
Tipus | marc d'aplicacions i joc de ginys |
---|---|
Versió inicial | 14 abril 1998 |
Versió estable | |
Llicència | GNU LGPL 2.1 |
Disponible en | |
Epònim | GIMP |
Característiques tècniques | |
Sistema operatiu | GNU/Linux, macOS, Unix-like, Microsoft Windows i Linux |
Plataforma | multiplataforma |
Escrit en | C |
Equip | |
Desenvolupador(s) | Fundació Gnome i Projecte GNU |
Més informació | |
Lloc web | gtk.org (anglès) |
Stack Exchange | Etiqueta |
SourceForge | gtk-mingw |
Free Software Directory | Gtk+ |
Guia d'usuari | Guia d'usuari |
| |
GTK va ser dissenyat i utilitzat originalment en l'editor gràfic digital de GNU (GIMP) en substitució de Motif. Aquest darrer era una biblioteca comercial, de manera que guanyar popularitat entre els usuaris de GIMP no era fàcil.[10] Peter Mattis va començar a escriure el seu propi conjunt d'eines per a la interfície de programari anomenant-lo Gimp ToolKit; Motif fou reemplaçant amb èxit des del llançament de GIMP 0.60 al voltant de l'any 1996.[11] Posteriorment GTK va ser reescrit per ser orientat a objectes, va adquirir eines que el permetien ser una interfície d'escriptori[12] i va ser rebatejat com a GTK+.[13] Aquesta nomenclatura esdevingué pública en el llançament de GIMP 0.99 de febrer de 1997. Els desenvolupadors d'aquell llançament de GTK+ foren Peter Mattis, Spencer Kimball i Josh MacDonald. L'any 1997, els tres treballaven a eXperimental Computing Facility (XCF) de la Universitat de Califòrnia a Berkeley.[14]
GTK+ Pot utilitzar diferents llenguatges de programació com: C, C++, Python, Perl, Java o Ada.[15]
Actualment hi ha quatre versions estables de GTK:[16][17]
La primera versió estable (GTK+ 1.0), de l'abril de 1998, contenia tot allò necessari per a donar suport al GIMP.[18]
En nàixer GNOME, el 1997, ho fa amb la preocupació de ser un entorn d'escriptori completament lliure. S'inspira en l'èxit de KDE però, s'hi oposa ja que en aquell moment emprava la biblioteca Qt que era de caràcter propietari.[19] Troll Tech podia canviar la llicència en qualsevol moment i hauria deixat a KDE sense biblioteca base. Els desenvolupadors de GNOME van contactar amb Troll Tech per a proposar una llicència alternativa per a Qt que donés garantia a l'usuari mentre mantenia els interessos de l'empresa, però no van obtenir resposta.[20]
Sota la llicència LGPL, GTK+ va ser adoptat per al manteniment de la Fundació GNOME, que l'utilitza en l'entorn d'escriptori GNOME.[21] GNOME 1.0 es basà en GTK+ 1.2 versió de febrer de 1999,[22][18] des d'aleshores membres de la Fundació GNOME n'han fet el manteniment, elaborant una guia per a dissenyar programari des de GTK, la GNOME Human Interface Guidelines.[23][24]
GTK+ 1 va ser emprat de manera oficial des de l'abril de 1998 a Debian 2.0 (Hamm) fins al febrer de 2011 quan s'allibera Debian 6.0 (Squeeze).[25][26]
GTK inicialment constava de 3 biblioteques que funcionaven com capes, cadascuna depenia de les que tenia a sota. Aquestes biblioteques també són anomenades widgets i són reutilitzables per separat.[27]
La versió GTK+ 2.0 llançada el març de 2002 incorporava el motor de temes renovat; dues llibreries noves Pango i ATK;[10][21] suport per a les fonts tipogràfiques en l'antialiàsing utilitzant Xft, una millor gestió de les fonts amb Fontconfig i un avançat Model-Vista-Controlador (MVC) per a llibreries de llistat i d'arbre.[35] GtkTreeView substituïa a GtkCList i GtkCTree presents a GTK+ 1.[36]
Un renovat equip format per Owen Taylor, Matthias Clasen, Federico Mena Quintero, Soeren Sandmann, Padraig O'Briain, Manish Singh, Kristian Rietveld i Tor Lillqvist es va fer càrrec de la segona versió del projecte.[37] Per afegir una sèrie d'eines més complexes varen trencar la compatibilitat amb la primera versió, reescrivint les llibreries existents. Es poden tenir les dues versions instal·lades i escollir amb quina es vol dissenyar el programari desitjat.[38][21]
GTK+ 2.4 llançada el març de 2004 va afegir moltes millores, com ara GtkFileChooser, diàleg nou per a escollir fitxers; GtkUIManager barra d'eines que permet especificar accions a partir d'una descripció de la interfície XML i support per a Unicode 4.0.[39]
GTK+ 2.6 llançada al final de 2004 venia amb GtkIconView, llibreria d'icones noves; millores en usabilitat i de rendiment.[40][10]
El 10 de juny de 2014 Google Chrome començava la migració de GTK+ 2 a Aura, començant per Chrome 35.0 per a Linux. Aura va ser creat per l'equip de Google pensant en les necessitats específiques de la companyia. En aquell moment ja estava en ús a Chrome OS i en estat beta per a Windows.[41][42]
GTK 2.24 és l'última versió de la sèrie 2.x.
La versió 3.0 va ser llançada el 10 de febrer de 2011. Moltes funcions que es van classificar com a obsoletes es van eliminar i es van millorar les interfícies existents. Una de les novetats més destacades és una mena de parser (analitzador) per a personalitzar la interfície gràfica amb una sintaxi similar als CSS, l'anomenat GtkStyleContext. Des d'on es poden configurar temes i altres millores com ara transicions animades. Cada llibreria es pot personalitzar de manera independent. S'empra la biblioteca gràfica Cairo per a qualsevol tasca de renderització, millorant el rendiment general de la interfície.[52][53][54][55]
GTK+ 3 és a la base de GNOME 3.0 alliberada el 6 d'abril de 2011.[56][57] Des d'aleshores cada nou cicle de llançament GTK+ i GNOME ha tendit a portar actualitzacions més petites. A GUADEC 2014 a Estrasburg, França, Matthias Clasen va presentar una actualització sobre les millores més recents a GTK+, la majoria de les quals es poden trobar en l'aparença i el comportament dels quadres de diàleg.[58]
A finals del 2018, la comunitat expressava interès pel tema Adwaita.[59] El gener de 2019, es posposava el llançament del tema a GTK; donant la possibilitat de descarregar-lo per tenir l'opinió de la comunitat.[60] Finalment fou el tema per defecte a GNOME 3.36, amb una paleta de 12 colors.[61] Durant temps va tenir ferms partidaris que en destacaven la sobrietat i detractors que el criticaven per ser un tema molt apagat.[62]
El 26 de gener de 2018 a DevConf.cz, Matthias Clasen va donar una visió general de l'estat del desenvolupament de GTK 4.[73] A partir d'aquesta versió, GTK deixaria de portar el caràcter "+" al final del nom.[74][12] Determinació que fou anunciada a la Hackató de febrer de 2019.[75] Després de més de quatre anys i més de vint llançaments des de la versió de desenvolupament 3.89.1, el projecte GNOME va anunciar el 16 de desembre de 2020 el llançament de GTK 4.0. Les millores s'enfocaven a modernitzar l'aparença i usabilitat de les interfícies gràfiques creades amb la nova versió. Junt amb aquest llançament s'anuncià que el GTK 2 disposaria d'una darrera versió de manteniment però, es convidava a passar a versions més modernes. També s'anuncià que GTK 3 continuaria disposant de manteniment regular, en aquell moment el darrer llançament era la versió 3.24.24.[17][76]
GTK4 s'acostuma a emprar amb libadwaita, la llibreria successora de libhandy.[a][77][78] Libadwaita proporciona el tema per defecte de l'escriptori i les aplicacions construïdes amb GTK. Va néixer com independent de GTK perquè GNOME i el tema Adwaita evolucionaven molt de pressa i GTK suposava un fre.[79] Libadwaita ha esdevingut una llibreria polèmica, ja que en instal·lar un programa que en fa ús, s'ha d'emprar el tema Adwaita sense opció per a canviar a un tema diferent. Com a conseqüència si s'utilitza un escriptori basat en GTK4 les preferències sobre temes son ignorades.[80] Libadwaita és desenvolupada directament per GNOME.[81][82] El gener de 2022, es va mostrar per primer cop algunes aplicacions funcionant amb GTK4 i libadwaita a la versió GNOME 42 alpha. Fou el cas del gestor de fitxers Nautilus, el gestor de programari Software o l'editor de text Text Editor.[83] Altres aplicacions que migraren a GTK 4 foren el gestor de contactes GNOME Contacts o el gestor de contrasenyes Secrets.[84] GNOME Web fou portat a GTK4 a finals d'octubre de 2022, després de set mesos de desenvolupament.[85]
GTK està escrit utilitzant el llenguatge de programació C, però també està disponible per a diversos llenguatges de programació a través de language bindings, que permeten escriure programaris per a GTK des d'aquests llenguatges. Les vinculacions lingüístiques són relativament fàcils de crear perquè GTK va ser dissenyat pensant en aquesta possibilitat.[86][87]
Llenguatge | Vincle | comentaris | Llicència |
---|---|---|---|
Ada | GtkADA | GPL-3 | |
C++ | gtkmm | LGPL-2.1 | |
Mono[88] | GTK# | LGPL-2.1 | |
Perl | Gtk2-Perl | LGPL-2.1 | |
Python | pgi | LGPL-2.1 | |
pygir-ctypes | BSD | ||
PyGObject | Paquet Python que proporciona enllaços per a biblioteques basades en GObject com GTK.[89] | LGPL-2.1 | |
PyGTK | LGPL-2.1 | ||
Ruby | GirFFI-Gtk | Suporta GTK+ 2 i GTK+ 3.[90] | LGPL-2.1 |
Ruby-GNOME2 | MIT | ||
Vala | Vala | Funciona amb les biblioteques en temps d'execució de GNOME, particularment GLib i GObject.[91] | LGPL-2.1 |
GTK és la biblioteca damunt la qual es va construir i es continua construint la interfície gràfica de l'entorn d'escriptori GNOME.[2] The GNOME Project és el major contribuïdor del projecte. GTK s'ha emprat per a entorns d'escriptori com XFCE, gestors de finestres com xfwm4 i en més de 350 aplicacions, més de 30 elaborades per la comunitat GNOME.[92][93]
Programari | Funció | Comentaris |
---|---|---|
Abiword | Processador de text. | Libstylus és una biblioteca d'estils d'escriptura dissenyada per a donar suport a aplicacions del tipus GTK +.[94][95] |
Brasero | Enregistrador de discos òptics de GNOME. | La versió de Brasero publicada el 22 de novembre de 2011, mantenía un paquet opcional que permetía a l'usuari accedir a més informació.[96] |
Drakconf | Centre de control de Mandriva. | Adwaita i GTK+ 3 desenvolupats per GNOME són emprats per Open Mandriva i altres distribucions de Linux.[97][62] |
Darktable | Programari fotogràfic per editar imatges raw de manera no destructiva i classificar-les. | La versió 3.0 portava la versió GTK 3.22.[98] |
Pidgin, abans anomenat Gaim | Client multiplataforma i multiprotocol de missatgeria instantània. | Empra un paquet GTK per controlar el tema del programari.[99] |
Inkscape | Editor de gràfics vectorials. | Inkscape 1.0 passa a emprar GTK 3 comporta millores en les pantalles HiDPI.[100][101] |
GIMP | Editor gràfic digital. | Els desenvolupadors de GIMP foren també els responsables de l'aparició de GTK. Es preveu que GIMP 3.0 empri GTK 3 el 2021.[102] |
Souk | Botiga de programari independent per a paquets Flatpak. | Construïda amb GTK 4 i Rust.[103] |
Tux Typing | Mecanografia per a nens. | GTK facilita la navegació entre lliçons.[104] |
Entorns d'escriptori | Comentaris | Distribució / Sistema operatiu |
---|---|---|
GNOME Shell | Basat en GTK, el que significa que els programaris natius de GNOME empren GTK. Des de la versió 40 GNOME empra la versió GTK 4.[105] | GNOME |
Budgie | construït des de zero per al successor de SolusOS, Sistema Operatiu Solus. | Arch Linux, Debian, Manjaro, openSUSE, Ubuntu Budgie entre d'altres. |
Cinnamon | Bifurcació de GNOME 3 empra la versió GTK+ 3. | Linux Mint |
DDE
(Deepin Desktop Environment) |
Inicialment es desenvolupà amb la biblioteca GTK,[106] la necessitat de renderitzar HTML5, va provocar l'ús de Qt5 i posteriorment reescriure el programari DTK (Deepin Tool Kit) per a la interfície i interacció amb el sistema.[107] | Deepin |
KDE Plasma 5[108] | encara que basat en Qt, té integració amb GTK per a programari i temes des de la versió 4.2. | KDE |
MATE | Bifurcació de GNOME 2 empra la versió GTK+ 3 des de la versió 1.18. Millores en el rendiment en la versió MATE 1.22 per una millor integració amb GTK.[109] | Arch Linux, Debian, Fedora, Gentoo, Linux Mint, Ubuntu MATE entre d'altres.[110] |
Pantheon | Empra exclusivament GTK+ 3, desenvolupat per Elementary OS.[111] | Elementary OS |
Sugar | un entorn d'escriptori per a l'educació primària, que utilitza GTK, especialment PyGTK. | Fedora[112] |
Xfce | basat en GTK+ 3 des de la versió 4.14.[113] La versió 4.16 adopta la decoració del costat del client pròpia de GTK+ 3.[114] | Unix-like |
Gestors de fitxers | Comentaris | Distribucions / Sistemes operatius |
---|---|---|
Double Commander | És extensible a través de plugins. Està disponible en GTK i en Qt.[115] | Disponible per a Linux, Windows i MacOS.[116][117][118] |
GNOME Files | Hi ha moltes derivacions com Caja, Nemo i Peony[115] El pas a GTK 4, afegí funcionalitats en la cerca i ordenació de fitxers entre altres correccions i millores.[83] | GNOME |
PCManFM | Disposa de suport per a escriptoris remots amb SSH, FTP, WebDAV, Secure WebDAV, HTTP, i HTTPS. Està disponible en GTK i en Qt.[115] | LXDE |
Gestors de finestres | Comentaris | Distribucions / Escriptoris |
---|---|---|
AfterStep | ||
IceWM | Escrit el 1997 en C++ per Marko Maček. Darrera versió del 10 de novembre 2020[119] | AntiX[120] |
Marco | Des de MATE 1.22, Marco afegeix suport per a la tercera versió de metacity-themes.[121] | MATE |
Mutter | Basat en GKT+ 3 i Clutter; mostra i gestiona l'entorn d'escriptori mitjançant OpenGL.[122] | GNOME |
Openbox | Un dels gestors de finestres que menys memòria consumeix però, que menys ofereix.[123] | LXDE[124] |
Tilix | Anteriorment anomenat Terminix. Empra GTK+ 3 amb el propòsit d'ajustar-se a l'Human Interface Guidelines de GNOME. | Testejat en escriptoris de GNOME i d'Unity.[125][126] |
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.