Τι νέο υπάρχει για τους προγραμματιστές

Οι ακόλουθες αλλαγές είναι σημαντικές για τους προγραμματιστές που χρησιμοποιούν την πλατφόρμα ανάπτυξης GNOME 2.28. Αν δε σας ενδιαφέρουν οι αλλαγές για τους προγραμματιστές, μπορείτε να προχωρήσετε στο Ενότητα 6 ― Διεθνοποίηση.

Πέρα από την Επιφάνεια εργασίας του GNOME, το GNOME 2.28 είναι και η πιο πρόσφατη κυκλοφορία της Πλατφόρμας ανάπτυξης GNOME, μιας ομάδας από σταθερές βιβλιοθήκες API και ABI, διαθέσιμες υπό την GNU LGPL οι οποίες μπορούν να χρησιμοποιηθούν για την ανάπτυξη διαπλατφορμικών εφαρμογών.

Διόρθωση της χρήσης πεπαλαιωμένων βιβλιοθηκών

Ξεκινώντας με το GNOME 3.0, θα αφαιρεθούν διάφορα πεπαλαιωμένα μέρη του GNOME. Αυτά τα πεπαλαιωμένα μέρη συμπεριλαμβάνουν βιβλιοθήκες όπως οι libart_lgpl, libbonobo, libbonoboui, libglade, libgnome, libgnomecanvas libgnomeprint, libgnomeprintui, libgnomeui, και libgnomevfs. Για τις εφαρμογές που κυκλοφορούν ως μέρος της Επιφάνειας εργασίας του GNOME, έχει εκτελεστεί ένας αριθμός από εργασίες εκκαθάρισης για να επιβεβαιωθεί ότι δε χρησιμοποιείται πια πεπαλαιωμένος κώδικας. Αυτό θα εξασφαλίσει μια πιο ομαλή μετάβαση στο GNOME 3.0.

Συνιστούμε στους προγραμματιστές να ακολουθήσουν αυτό το παράδειγμα για τις εφαρμογές τους. Επιπλέον, για όσους προγραμματιστές (ή επίδοξους προγραμματιστές) που θέλουν να μας βοηθήσουν, σελίδα Στόχοι του GNOME στο wiki καταγράφει διάφορες εργασίες που δεν έχουν ολοκληρωθεί ακόμα. Μια αυτόματα δημιουργημένη και ενημερωμένη επισκόπηση της κατάστασης της δουλειάς που μένει για τα αρθρώματα τα οποία υποστηρίζονται από το εργαλείο κτισίματος jhbuild μπορεί να βρεθεί εδώ.

5.1. Ξεκαθάρισμα της πλατφόρμας

Έχουν γίνει τεράστιες προσπάθειες για την αφαίρεση πεπαλαιωμένων αρθρωμάτων και λειτουργικότητας στο δρόμο προς το GNOME 3.0.

Στο GNOME 2.28, δεν υπάρχουν πια εφαρμογές που εξαρτούνται από τα esound, libgnomevfs, libgnomeprint, ή libgnomeprintui.

Άλλες βελτιώσεις της Πλατφόρμας του GNOME στο GNOME 2.28 περιλαμβάνουν:

  • Αφαιρέθηκε η εξάρτηση από τη libart_lgpl από δύο αρθρώματα (eog και gtkhtml).
  • Αφαιρέθηκε η εξάρτηση από τη libbonobo(ui) από πέντε αρθρώματα (gnome-control-center, gcalctool, gnome-media, gtkhtml και accerciser).
  • Αφαιρέθηκε η εξάρτηση από τη libglade από 28 αρθρώματα (accerciser, alacarte, gnome-control-center, dasher, empathy, gcalctool, gnome-games, gnome-netstatus, gnome-nettool, gnome-mag, gnome-menus, gnome-panel, gnome-power-manager, gnome-screensaver, gnome-session, gnome-settings-daemon, gnome-system-tools, gnome-utils, gtkhtml, hamster-applet, libgnomekbd, orca, pessulus, seahorse, vino, vinagre, yelp και zenity).
  • Αφαιρέθηκε η εξάρτηση από τη libgnome από 14 αρθρώματα (anjuta, gnome-control-center, dasher, evolution-webcal, gconf, gdl, gdm, gnome-desktop, gnome-media, gnome-system-tools, gok, gtkhtml, vino και yelp).
  • Αφαιρέθηκε η εξάρτηση από τη libgnomecanvas από 3 αρθρώματα (anjuta, gtkhtml και zenity).
  • Αφαιρέθηκε η εξάρτηση από τη libgnomeprint(ui) από 1 άρθρωμα (gnome-games).
  • Αφαιρέθηκε η εξάρτηση από τη libgnomeui από 16 αρθρώματα (anjuta, gnome-control-center, dasher, deskbar-applet, gnome-mag, gnome-media, gnome-settings-daemon, gnome-system-tools, gnome-utils, gok, gtkhtml, hamster-applet, nautilus, orca, vino και yelp).
  • Αφαιρέθηκε η εξάρτηση από τη libgnomevfs από 3 αρθρώματα (dasher, gnome-mag και gnome-utils).
  • Πολλά αρθρώματα τώρα παρέχουν πιο ωραία και πιο καθαρή έξοδο κτισίματος όταν μεταγλωττίζονται με τη χρήση των AM_SILENT_RULES ή Shave. Για περισσότερες πληροφορίες δείτε το http://live.gnome.org/GnomeGoals/NicerBuilds.
  • Μερικά αρθρώματα άρχισαν να χρησιμοποιούν την GIntrospection. Δείτε το http://live.gnome.org/GnomeGoals/AddGObjectIntrospectionSupport για περισσότερες λεπτομέρειες.

Από πολλές εφαρμογές έχει επίσης αφαιρεθεί η χρήση των πεπαλαιωμένων συμβόλων GTK+ και GLib και έχει εφαρμοστεί η νέα πολιτική για περίληψη μόνο κεφαλίδων του ανώτατου επιπέδου από τις GTK+ και GLib.

5.2. GTK+ 2.18

H GTK+ 2.18 είναι η πιο πρόσφατη έκδοση της εργαλειοθήκης GTK+, η οποία βρίσκεται στην καρδιά του GNOME. Η GTK+ 2.18 περιέχει νέα χαρακτηριστικά για προγραμματιστές, καθώς και εκτενή διόρθωση σφαλμάτων και εκκαθάριση για το επερχόμενο GTK+ 3.0.

Ο επιλογέας αρχείων έχει έναν αριθμό από βελτιώσεις. Τώρα πια θυμάται τη σειρά ταξινόμησης και έχει καλύτερες προεπιλογές, όπως την απόκρυψη των αντιγράφων ασφαλείας και την προβολή της στήλης Μεγέθους. Έχει επίσης βελτιωμένη σύντμηση της διαδρομής στη μπάρα διαδρομής.

Η GTK+ έχει επίσης δεχτεί μερικές ακόμα βελτιώσεις, όπως:

  • Τα GtkEntry widgets μπορούν τώρα να χρησιμοποιηθούν και για την προβολή μιας μπάρας προόδου.
  • Το GtkEntry έχει διαχωρισμό μοντέλου-προβολής.
  • Το GtkLabel μπορεί να προβάλλει ενσωματωμένα URI.
  • Στην εκτύπωση υποστηρίζεται η εκτύπωση μιας επιλογής.
  • Οι έλεγχοι διαμόρφωσης σελίδας μπορούν να ενσωματωθούν στο διάλογο εκτύπωσης.
  • Τα εικονίδια κατάστασης έχουν μια ιδιότητα τίτλου, για καλύτερη προσιτότητα.
  • Ένα νέο widget, το GtkInfoBar, προστέθηκε για να προβάλλει μηνύματα στο κύριο παράθυρο αντί σε ένα διάλογο.
  • Η GTK μπορεί να μεταγλωττιστεί με μια μοντέρνα έκδοση του automake (δεν είναι πια αναγκαίο το automake 1.7) και σε σιωπηλή λειτουργία με την εντολή "make V=0".

5.3. GLib

Το GNIO συγχωνεύθηκε με το GIO, και τα API τώρα πια συμπεριλαμβάνονται για εργασία με διευθύνσεις IPv4 και IPv6, ανάλυση ονομάτων συστημάτων, αντίστροφο IP lookup, χαμηλού επιπέδου είσοδο/έξοδο socket, και εργασία με συνδέσεις και υπηρεσίες δικτύου.

Τα GArray, GMappedFile και GTree τώρα πια μετρούνται κατ' αναφορά.

Ο κύριος βρόχος υποστηρίζει προεπιλεγμένα περιεχόμενα ανά νήμα.

Έχει προστεθεί υποστήριξη για πρόσβαση ανάγνωσης και εγγραφής με το GIOStream και τις υποκλάσεις του.

Η GLib πλέον υποστηρίζει μεταδεδομένα ανά αρχείο.

5.4. Τεκμηρίωση του GNOME

Προστέθηκε υποστήριξη για τη Mallard, τη νέα XML γλώσσα για τεκμηρίωση του GNOME, στα Yelp και gnome-doc-utils.

Για τους συγγραφείς τεκμηρίωσης, η Mallard είναι μια πλήρης χαρακτηριστικών γλώσσας σήμανσης XML, σχεδιασμένη ειδικά για βοήθεια εστιασμένη σε θέματα, με πιο ήπια καμπύλη εκμάθησης από τη Docbook.

Η βοήθεια του Empathy είναι η πρώτη τεκμηρίωση του GNOME που έχει γραφτεί σε Mallard, και είναι επίσης η πρώτη τεκμηρίωση που διατέθηκε υπό άδεια Creative Commons Share-Alike 3.0, στην οποία θα μετακινηθεί όλη η τεκμηρίωση του GNOME στο μέλλον.

5.5. GNOME Bluetooth

Προστέθηκε η δυνατότητα πρόσθετων λειτουργιών και είναι διαθέσιμη κατά τη ρύθμιση μιας συσκευής, προσθέτοντας υποστήριξη στις εφαρμογές του GNOME για να χρησιμοποιούν συσκευές Bluetooth.

Προστέθηκαν μοντέρνα widgets επιλογής συσκευών Bluetooth, συμπεριλαμβανομένου ενός κουμπιού με επιλογέα.

5.6. Περιηγητής ιστού Epiphany

Με τη μετάβαση του Epiphany στο WebKit, είναι διαθέσιμη σ' αυτό μια σειρά από βελτιώσεις για τους προγραμματιστές.

Η WebKitGTK+ περιλαμβάνει εξαιρετικά γρήγορη επεξεργασία της Javascript, μικρότερο κόστος σε πόρους για τον υπολογιστή, ένα GObject API, και έναν ενσωματωμένο επιθεωρητή ιστού. Ο Epiphany περιλαμβάνει επίσης νέα υποστήριξη για επεκτάσεις Seed (της Javascript), και με αυτή την προσθήκη αφαιρέθηκε η υποστήριξη για την Python.

Ο Epiphany χρησιμοποιεί επίσης τη libsoup για τη δική του υλοποίηση του HTTP, και οι διαμεσολαβητές τώρα λειτουργούν με τον ίδιο τρόπο σε ολόκληρο το GNOME. Τα χαρακτηριστικά που λείπουν από τη libsoup περιλαμβάνουν την προσωρινή αποθήκευση HTTP και την κωδικοποίηση περιεχομένου.

Τέλος, το μενού περιεχομένου στην προβολή ιστού δεν έχει ακόμα εξατομικευθεί για τον Epiphany, αλλά χρησιμοποιείται η προεπιλεγμένη προβολή του WebKit.

5.7. Μικροεφαρμογή Καταγραφής χρόνου

Όλες οι λειτουργίες είναι πλέον διαθέσιμες μέσω ενός D-Bus API.

5.8. GNOME Πολυμέσα

Από το GNOME Πολυμέσα έχει αφαιρεθεί η υποστήριξη για τα vumeter, CDDB και GNOME-CD.

5.9. Totem

Το xine-lib backend αφαιρέθηκε από το Totem, και προστέθηκε ένα API ασύγχρονης ανάλυσης.

5.10. Vinagre

Στο Vinagre, η εφαρμογή προβολής απομακρυσμένης επιφάνειας εργασίας του GNOME, προστέθηκε ένα νέο σύστημα πρόσθετων λειτουργιών. Τώρα πια η υποστήριξη για νέα πρωτόκολλα είναι απλά θέμα συγγραφής μιας πρόσθετης λειτουργίας για το Vinagre. Νέες πρόσθετες λειτουργίες για το Vinagre περιλαμβάνουν τα VNC και SSH.

5.11. Brasero

Στο Brasero έχουν διαχωριστεί οι βιβλιοθήκες και τα εργαλεία στα libbrasero-burn και libbrasero-utils.