MTE forklarer: Desktop Toolkits, GTK + og Qt
Hvis du har brugt Linux i et stykke tid, vil du sandsynligvis have set nogle programmer, der er baseret på Qt eller GTK +. Så hvad præcist er disse? Gør det nogen forskel, om du bruger Qt eller GTK + baseret applikation?
Lad os tale om Desktop Toolkits
Moderne GUI-applikationer kræver en række standardinteraktioner (f.eks. "Åben fil" eller "gør dette vindue mindre"), og brugerne er kommet til at forvente, at de vil udføre disse handlinger gennem standardmekanismer. For eksempel skal åbning af en fil udføres med en dialogboks, der gør det muligt for brugeren at gennemse og klikke for at vælge filen, i stedet for at gøre brugeren indtast hele filnavnet. Ligeledes skal størrelsen på et vindue ændres ved at klikke på en knap på titellinjen i vinduet eller klikke og trække et af vinduets sider.
En ting Desktop Toolkits gør, er at give disse "standard" funktioner, så udviklere behøver ikke at implementere dem fra bunden (dvs. en udvikler der opretter en teksteditor behøver ikke at tegne alle felter og knapper for en "Åbn ..." dialog fra bunden, og angiv heller ikke instruktionerne, så brugeren kan søge efter en fil). Som en ekstra bonus kan programmører, der bruger disse værktøjer, gøre deres applikationer konsistente med andre ved hjælp af det værktøjssæt. Og i computerverdenen er konsistens altid en god ting.
I Linux-verdenen er der flere desktop-værktøjer, der udvikles aktivt af udviklerne. GTK + og Qt er to af sådanne værktøjer. Det gode ved disse værktøjssæt er, at de vil fungere fint i forskellige destkop-miljøer. Du kan køre Qt-baserede programmer i GNOME, og apps bygget med GTK + vil fungere fint i KDE. De væsentligste forskelle vil være i, hvordan nogle af elementerne opfører sig (filvalgsdialoger kan se meget anderledes ud mellem Qt / KDE og GTK / GNOME applikationer), selv om udviklere har fundet en måde at minimere disse forskelle. For eksempel indeholder KDE et Control Center-modul til at lave ting som titellinjer og andre stil- / temaelementer til GTK-apps, der svarer til de Qt-baserede.
Qt: Sød og funktionel
Qt (almindeligt udtalt "sød") begyndte i 1991 af et par udviklere, der efterhånden fandt Trolltech (som igen blev købt af Nokia, så de kommercielle rettigheder solgt til Digia). Qt kom først til fremtrædende som grundlaget for K Desktop Environment, som de fleste brugere kender i dag som KDE Software Collection. Qt'ens mere moderne udseende i forhold til andre toolkits på det tidspunkt (det var almindeligt i slutningen af 1990'erne for stadig at bruge applikationer skrevet i Motif eller endda Xaw, som stadig var funktionelt, ser ret dateret) sæt KDE på sporet for at blive skrivebordet miljø for Unixes, herunder Linux.
Imidlertid tog nogle fællesskabsmedlemmer undtagelse til Qt's licens, som på det tidspunkt omfattede begrænsninger fra omfordeling af ændrede versioner. Debatterne fortsatte, og resultatet var beslutningen om at oprette et nyt, helt gratis værktøjskasse.
Nogle velkendte Qt-baserede apps til Linux, ud over hvert program i KDE Software Collection, inkluderer populær medieafspiller VLC, robust desktop-publishing applikation Scribus og Calibre e-book management program.
GTK +: Det er ikke kun for GIMP Anymore
GTK + tager sit navn fra GNU Image Manipulation Program (aka. GIMP), som er et standard alternativ til Adobe Photoshop på mange platforme. Dens udvikler var begyndt at skrive et brugerdefineret sæt widgets, som samfundet vedtog for et nyt skrivebordsmiljø: GNU Network Object Model Environment (aka. GNOME). Rivaliteten mellem disse to desktops havde gået i årevis, indtil den nylige indtræden af canonicals enhed tog noget af varmen væk fra dem. GNOME har også skabt sin egen kontrovers, med nogle så utilfredse med erfaringerne med nye udgivelser i 3.0-serien, at gafler og modifikationer som MATE og Cinnamon er kommet op.
Ud over GIMP er andre populære Linux-applikationer, der bruger GTK +, Chromium-browseren (som bruges til at fremstille Linux-versionen af Google Chrome), multi-protocol instant messenger Pidgin og andre desktop-miljøer som MATE og LXDE.