Újdonságok fejlesztőknek

A következő változtatások fontosak a GNOME 3.2 fejlesztői platformot használó fejlesztőknek. Ha nem érdeklik a fejlesztőket érintő változtatások, folytassa a 5. szakasz ― Nemzetköziség fejezettel.

A GNOME 3.2 tartalmazza a GNOME fejlesztői platform legújabb kiadását. Ez keresztplatformos alkalmazások fejlesztésére használható, GNU LGPL licencű, stabil API-val és ABI-val rendező programkönyvtárak csoportjából áll.

A GNOME használatával való fejlesztéssel kapcsolatos további információkért lásd a GNOME fejlesztői központot.

4.1. GLib 2.30

A GNOME alacsony szintű programkönyvtára, a GLib számos fejlesztésen esett át:

  • A GApplication mostantól használható nem egyedi alkalmazásokhoz is.
  • A GLib mostantól egy külön fejlécet telepít a Unix-specifikus API-khoz: glib-unix.h. Többek között ez egy főciklusforrást biztosít a Unix szignálokhoz.
  • A GDBus számos új felülettel támogatja az „objektumkezelő” mintát.
  • A GDBus mostantól kódgenerátorral is rendelkezik: ez a gdbus-codegen.
  • Az atomi műveletek újraírásra kerültek, és gcc builtin-eket használnak; az explicit kényszerítést használó hívások problémásak lehetnek.
  • A mutatókon használható atomi műveletek kerültek hozzáadásra, beleértve a bitzárolásokat a mutató méretű helyeken.
  • A mértékegységekkel kapcsolatos irányelv megváltozott az SI egységek javára: a g_format_size_for_display elavult, mostantól a g_format_size használandó.
  • A HMAC összefoglalók mostantól támogatottak: ez a GHmac.
  • Hozzáadásra került egy felület a tanúsítvány- és kulcskikeresésekhez: ez a GTlsDatabase. A megvalósítását a glib-networking csomag tartalmazza.

4.2. GTK+ 3.2

A GTK+ 3.2 a GTK+ eszközkészlet legújabb kiadása, amely a GNOME alapját alkotja. A GTK+ számos új szolgáltatást kínál a fejlesztőknek, valamint rengeteg hibajavítást tartalmaz.

  • A beviteli mezők mostantól tippeket is tartalmazhatnak. Lásd: gtk_entry_set_placeholder_text.
  • Sok további felületi elem támogatja a „magasságot a szélességhez” geometriakezelést. Fontos ésszerű méreteket beállítani a címkékhez, és ellenőrizni az ablakméreteket.
  • Új felületi elemek:
    • GtkLockButton privilegizált műveletekhez, például a vezérlőközpont egyes paneljein.
    • GtkOverlay egy tartalomterület fölött lebegő vezérlőelemekhez, ahogy az a webböngészőkben látható.
    • GtkFontChooserDialog, az új betűkészlet-választó ablak.
  • Sokat fejlődött a CSS témázás támogatása, beleértve a stílusosztályokat elsődleges és beágyazott eszköztárakhoz.
  • A Broadway nevű HTML háttérprogram, amely egy böngészőben jelenik meg, fejlődött, de még mindig kísérleti. Ez potenciálisan lehetővé teszi saját alkalmazásainak futtatását egy webkiszolgálón, és elérésüket bárhonnan, vagy elhelyezésüket nyilvános kiszolgálón, amely az alkalmazásból minden felhasználónak új példányt indít. Ne feledje, hogy ehhez a GTK+-t a --enable-x11-backend --enable-broadway-backend kapcsolókkal kell fordítani, és futási időben be kell állítani a GDK_BACKEND környezeti változót.
  • Bekerült a referenciatesztek támogatása, megkönnyítendő a tesztosztályok írását.
  • A GTK+ sebessége számos területen javult, például a méretkérések gyorsítótárazásánál, CSS stíluslap-információk olvasásánál és a felületielem-méret számításánál.

4.3. Clutter 1.8

A GNOME hardveresen gyorsított grafikus felületekhez készült programkönyvtára, a Clutter a következő fejlesztéseket tartalmazza:

  • Új műveletek, mint például a ClutterGestureAction gesztusfelismerők írásához, ClutterSwipeAction húzó mozdulatok felismeréséhez, ClutterDropAction az aktorok céljainak eldobatásához a ClutterDragAction használatakor és hosszú lenyomás támogatása a ClutterClickAction osztályhoz.
  • A ClutterState átmenetek objektumszignálokhoz köthetők jelenet létrehozásakor ClutterScript használatával.
  • Továbbfejlesztett Cairo rajzintegráció.
  • A Clutter által használt Cogl nevű GPU-programozási felület önálló programkönyvtárként érhető el.

4.4. Elavult programkönyvtárak használata

További lépések történtek az elavult technológiák fejlettebb szolgáltatásokkal való leváltása felé.

  • A GConf mostantól alapértelmezésben a D-Bust használja, emiatt már nem igényli az ORBit2-t, Ennek következményeként az elavult ORBit2 és libIDL programkönyvtárak eltávolításra kerültek a GNOME-ból.
  • A GNOME alaprendszer moduljai már csak a betekintés-alapú Python kötésektől (pygobject-3) függenek, emiatt a pygtk, gnome-python és gnome-python-desktop már nem szükségesek.
  • Számos alkalmazás (például az Accerciser, Dasher, GHex, a Nemiver grafikus hibakereső és a Seahorse jelszó- és titkosításikucs-kezelő) a GSettings beállítástároló háttérprogramot használja a GConf helyett.
  • Sok csomag, például az Epiphany webböngésző váltott a dbus-glib helyett aGDBus, a libunique helyett pedig a G(tk)Application használatára.

4.5. Egyszerűbb GNOME fordítás a JHBuild-dal

A GNOME JHBuild nevű fordítóeszköze nem építi fel azokat a modulokat, amelyeknek a rendszerre telepített verziója elegendően új. Ezt a partial_build konfigurációs beállítás vezérli, és alapesetben be van kapcsolva. A jhbuild sysdeps parancs felsorolja a megtalált rendszermodulokat, valamint a felépítendő modulokat is.

Ha a GNOME fordítását nulláról kezdi egy naprakész disztribúción, akkor ez 50 modult is eltávolíthat a felépítendő modulok listájáról.

4.6. Egyéb fejlesztői frissítések

A GNOME 3.2 platform egyéb frissítései közé tartoznak:

  • A klasszikus (statikus) Python kötések eltávolításra kerültek a PyGObject 3.0-ban, és csak a dinamikus Python kötések érhetők el (a betekintés használatával). A PyGObject 2 és 3 párhuzamosan telepíthetők, mivel a betekintés alapértelmezetten ki van kapcsolva a PyGObject 2 csomagokban. Az alkalmazások PyGObject 2-ről PyGObject 3-ra portolásával kapcsolatos információk itt érhetők el.
  • A Tracker 0.12-es verziója támogatja aFirefox ≥ 4.0, Thunderbird ≥ 5.0 változatát, a MeeGoTouch-ot, számos további SPARQL paramétert, információk kinyerését EPub fájlokból és helyi XDG könyvtárakat a .desktop fájlokhoz.
  • A NetworkManager 0.9-es változata támogatja a betekintést, és egyszerűsített D-Bus API-t biztosít. Az alkalmazások NetworkManager 0.8-ról 0.9-re portolásával kapcsolatos információk itt érhetők el.
  • A korábban említett, a PKCS#11 titkosítási programkönyvtárak közti kapcsolatként használatára és népszerűsítésére tett erőfeszítések részeként a gnome-keyring különböző részei asztali környezettől független programkönyvtárakká lettek továbbfejlesztve.
  • A GtkSourceView immár támogatja a szintaxiskiemelést a Markdown és Standard ML fájlokhoz.
  • Az Evolution-Data-Server a betekintés támogatásával kapcsolatban esett át számos javításon.
  • A libfolks mostantól tartalmaz egy Evolution-Data-Server háttérprogramot, amelyet az új Kapcsolatok alkalmazás használ.
  • A dokumentációfeldolgozáshoz használt eszközök közül a gnome-doc-utils és xml2po lassan kiszorulnak, és felváltja őket a yelp-tools és itstool. A yelp-xsl tartalmaz néhány kísérleti Mallard kiterjesztést, például feltételes feldolgozást és dinamikus szójegyzékeket.