Hvilke nyheder er der for udviklere

GNOME's udviklerteknologier er blevet forbedret til 3.0. Der er blevet lagt en anseelig mængde arbejde i konsolidering, hvilket betyder at et stort antal moduler er blevet deprecieret. Mange komponenter er blevet simplificeret og moderniseret, og flere teknologier er blevet erstattet med overlegne faciliteter.

3.1. Moderne grafik

GNOME's grafiske værktøjssamling, GTK+, har brudt fuldstændig med forældede tegne-API'er. Dette har gjort det muligt at konsolidere omkring moderne grafikfaciliteter, hvilket har givet hastighedsforbedringer og gjort GTK+ mere portabelt.

3.2. Avanceret håndtering af inputenheder

GTK+ gør brug af XInput2, hvor det er tilgængeligt. Dette giver en række betydelige forbedringer, som f.eks. understøttelse for tilføjelse (og genkendelse) og fjernelse af inputenheder mens systemet kører (hot-plugging), og understøttelse for komplekse inputenheder som f.eks. tavle-pc'er (tablets). Integreringen med XInput2 giver også muligheder for flere pegeenheder, hvilket betyder at GNOME er parat til ankomsten af multiberøring i X11.

3.3. Forbedret temasystem

GNOME 3.0 introducerer et nyt system til visuelle temaer. Temaer er nu lettere at læse takket være brugen af CSS-syntaks, og temaforfattere har nu adgang til en større mængde af effekter, som f.eks. kurver, gradienter og alfafarver. Det nye system understøtter også implicitte animationer og RGBA-farver.

3.4. Understøttelse for flere platforme

GTK+ 3.0 inkluderer en ny egenskab til nemt at kunne understøtte flere platforme (man kan bygge mod disse simultant og vælge mellem dem ved kørsel). Dette vil gøre overgangen til nye platforme som f.eks. Wayland meget nemmere.

3.5. Nem oprettelse af programmer

Den nye klasse GtkApplication tager sig automatisk af mange integrationsopgaver for programmer, inklusive at holde styr på åbne vinduer, at sikre at flere kørsler af samme program resulterer i en enkelt systemproces samt eksporthandlinger. Det betyder, at det er nemmere og kræver mindre kode at lave et GNOME-program. Denne facilitet vil blive yderligere udvidet gennem GNOME 3.x-cyklussen.

3.6. Førsteklasses bindinger

GNOME har traditionelt understøttet en række høj-niveausprog. Introduktionen af GObject Introspection i GNOME 3.0 betyder, at disse sprogbindinger vil blive opdateret dynamisk, hvilket vil sikre pålidelighed, og give udviklere adgang til al den funktionalitet der ligger i vores kerneteknologier.

3.7. Hurtige og nemme indstillinger

GNOME's tidligere indstillingsfaciliteter er blevet erstattet af to nye komponenter i GNOME 3.0. Begge har store fordele over deres forgængere. GSettings giver en simpel og effektiv indstillings-API og tillader med kun lille indsats at binde klasseegenskaber til indstillinger. dconf er den nye blændende hurtige gemme- og hente-funktion til dette nye partnerskab.

3.8. Rigere, mere fleksibel brugergrænseflade

GNOME's grænseflade værktøjssæt har fået forbedret layout-egenskaber, hvilket giver mere fleksibel og effektiv pladsallokering for både grænsefladekontroller og indholdsvisning. 3.0 introducerer også flere nye grænsefladekontroller, som f.eks. en kontakt og en programvælgerdialog.

Figur 7Den nye programvælgerdialog

3.9. Det integrerede udviklermiljø Anjuta

Anjuta, GNOME's integrerede udviklermiljø inkluderer en række forbedringer i GNOME 3.0, inklusive automatisk at danne forbindelse mellem signaler og grænsefladekontroller, forbedret autotools/pgk-config-understøttelse, og et nyt Git-integrationssystem.

3.10. Opgradering til GNOME 3

Vores porteringsguide indeholder instruktioner om hvordan man porterer eksisterende GNOME-programmer til vores nye udviklerteknologier.