KDE
KDE er en grafisk softwareplatform for slutbrugere og programmører. KDE er et af de mange GNU projekter. Det betyder, at det er frit at anvende og deltage i. Du kan gratis bruge og distribuere programmet. KDE's programmer bliver distribueret i Linux-pakkerne fra for eksempel Red Hat og SuSE.
Hvad er KDE?
Navnet KDE betyder K Desktop Environment, og er et projekt som tyskeren Matthias Ettrich startede i 1996. K står for Kool.
KDE er kendt som en grafisk brugerflade og en samling programmer til Linux. Men KDE kører også på andre Unix-styresystemer, blandt andet´FreeBSD, Solaris og HP-UX.
KDE indeholder en filadministrator og brugerflade med vinduesadministrator, men den samlede pakke er et fuldt IDE, Integrated Desktop Environment. Pakken har også programmer til kontorbrug, mail, tegneprogrammer, multimedie og andet.
Den oprindelige ide med KDE-projektet var, at gøre Unix-systemer lige så brugervenlige og nyttige for slutbrugere, som Macintosh og Windows-systemerne var. Da KDE projektet startede, blev ideen modtaget med stor skepsis. Unix var til servere, og man interesserede sig ikke for slutbrugerne med deres skrivebordsmaskiner. KDE i version 1 fra sommer 1998 blev beviset for, at ideen var realistisk. Siden er udviklingen fortsat med stadige forbedringer, og KDE er i februar sendt ud i version 2.1.
KDE 2.1 giver bedre stabilitet og ydelse end sin forgænger. Blandt nyhederne finder man mediaplayeren noatun, der har et mulighed for plugins til at spille de nyeste multimedie formater.
KDE til programmører
KDE til udviklere
KDE henvender sig ikke kun til slutbrugerne. Projektet henvender sig i høj grad til udviklere af software.
KDE er internt opbygget af softwarekomponenter baseret på tilhørende platform, der har teknikker til kommunikation mellem programmerne. Dette betyder at andre programmører kan udvikle deres egne programmer, der bygger oven på KDE-systemet.
KDE version 2.1 kommer med web-browseren Konqueror og KDevelop. KDevelop er et brugervenligt C/C++ IDE (Integrated Development Enviroment) for Unix. Det er et såkaldt RAD-værktøj (rapid application development) til hurtig udvikling af brugerprogrammer. Værktøjet understøtter ikke bare KDE/Qt men også alternativet til KDE: GNOME.
Bog til KDE-udviklere
David Sweet har sammen med en række andre forfattere skrevet bogen: KDE 2.0 Development, som forlaget Sams har udgivet her i 2001. Bogen er en gennemgang af programmering af KDE applikationer. Som titlen selv præciserer, at det version 2 af KDE, der er udgangspunktet.
Bogen forklarer udviklere, hvordan man skriver KDE-kompatible programmer og bygger videre på teknologien, som KDE indeholder. Det giver samtidig en teknisk forklaring på, hvordan KDE-systemet er opbygget. Vi skal her kort nævne 3 centrale brikker i denne opbygning: Klassebiblioteket Qt, KDE's komponenter Kparts og DCOP-protokollen.
KDE anvender Qt, der er et C++-klassebibliotek til programmering af brugersnitflader, som er skrevet af det norske firma Trolltech. Alle de menuer, knapper og andre "widgets", som man ser på skærmen, er lavet med Qt. Qt kan anvendes på tværs af platforme, så det kan kompileres på såvel Unix-systemer som under Windows. Du finder flere oplysninger om Qt på web-stedet: http://www.troll.no/.
Hos KDE bliver softwarekomponenter kaldt for "parts", hvor programmører skal bruge KParts. KParts er udviklingsmiljøet for KDE parts (komponenter), der er baseres på KDE/Qt objekter. KParts giver et sæt af simple klasser som part, plugin, mainwindow og part manager. Bogen giver anvisning på, hvordan du opretter og anvender disse parts. Den viser også, hvordan KParts mainwindow kan bruges til at lave brugerflader, der er defineret i XML. Du kan definere menuer og meget andet med XML.
DCOP-protokol
Kommunikation mellem programmer: DCOP
Applikationerne skal også kommunikere sammen. KDE giver teknikker til denne kommunikation mellem programmer med DCOP. DCOP står for Desktop Communication Protocol. Du skal bruge den til at sende data mellem applikationerne med DCOP's datatransport.
DCOP er opbygget med klienter og servere. KDE kalder DCOP for en klient-til-klient kommunikations protokol, der formidles over en server. Protokollen understøtter overførsel af meddelelser (message passing) og remote procedurekald (RPC).
Når et program vil kommunikere med andre programmer, skal det være DCOM-klient, derefter kan det for eksempel "sende og glemme beskeder" (svarende til emails) eller det kan "kalde op og lytte" (svarende til telefonopkald). Bogen giver programeksempler på, hvordan man gør dette i praksis.
Man kunne spørge, hvorfor KDE og Qt ikke anvender standard komponentmodeller som CORBA. KDE startede med at implementere CORBA, men forlod det af flere tekniske årsager. Læseren kan finde tekniske argumenter for dette valg flere steder i bogen. På LinuxForum 2001 fortalte Matthias Ettrich, der nu arbejder i Trolltech, at de istedet så på Microsofts COM-model, som de udbyggede kraftigt.
Alt i alt er bogen nyttig læsning for programmører, der vil arbejde med KDE-miljøet. Den giver et godt overblik og mange gode forklaringer, hvorefter du kan hente de aktuelle programmer fra Internet til det praktiske arbejde. Du finder KDE på Internet under adressen: http://www.kde.org/.