Kas jauns izstrādātājiem

Šīs izmaiņas ir svarīgas izstrādātājiem, kas plāno izmantot GNOME 3.2 izstrādes platformu. Ja jūs tās neinteresē, varat izlaist šo nodaļu un lasīt tālāk Sadaļa 5 ― Internacionalizācija.

GNOME 3.2 ir iekļauta arī pēdējā GNOME izstrādes platforma. Tajā ir iekļautas API un ABI stabilās bibliotēku kopas, pieejamas ar GNU LGPL licenci, ko var izmantot starpplatformu lietotņu izstrādei.

Lai uzzinātu ko vairāk par izstrādi GNOME vidē, apmeklējiet GNOME izstrādātāju centru.

4.1. GLib 2.30

GNOME zemā līmeņa programmatūras utilītbibliotēkā GLib ir iekļauti šādi uzlabojumi:

  • GApplication tagad var tikt izmantota neunikālām lietotnēm.
  • GLib tagad izmanto atsevišķu galveni Unix specifiskām API: glib-unix.h. Tā nodrošina galvenās cilpas avotu Unix signāliem.
  • GDBus atbalsta 'objektu pārvaldnieka' rakstu ar dažām jaunām saskarnēm.
  • GDBus tagad ir pieejams koda ģenerators: gdbus-codegen.
  • Atomārās operācijas ir pārrakstītas, lai izmantotu gcc iebūvējumus; izsaukumi ar eksplicitām formām (casts) var būt problemātiska.
  • Ir pievienotas atomāras operācijas ar norādēm, ieskaitot bitu slēgumus norādes izmēra lokācijām.
  • Vienību politika ir izmainīta, lai dotu priekšroku SI mērvienībām; g_format_size_for_display ir aizstāts ar g_format_size.
  • Ir pievienots atbalsts HMAC digestiem: GHmac.
  • Saskarne sertifikātu un atslēgu uzmeklēšanai ir pievienota: GTlsDatabase. Šo saskani nodrošina glib-networking bibliotēka.

4.2. GTK+ 3.2

GTK+ 3.2 ir GTK+ rīkkopas jaunākais laidiens, kas ir GNOME pamatā. Tajā ir iekļauts daudz jaunas funkcionalitātes izstrādātājiem, kā arī daudz iepriekšējās versijas kļūdu labojumu.

  • Teksta lauki tagad var saturēt padomus. Skatiet gtk_entry_set_placeholder_text funkciju.
  • Daudz citu sīkrīku atbalsta 'height-for-width' ģeometrisko pārvaldību. Tas ir svarīgi, lai iestatītu pamatotus etiķešu izmērus un pārbaudītu logu izmērus.
  • Jauni sīkrīki:
    • GtkLockButton priviliģētajām darbībām, kā redzams dažos GNOME kontroles centra paneļos.
    • GtkOverlay pārklājumu kontrolei pār satura lauku, kā redzams tīmekļa pārlūkos.
    • GtkFontChooserDialog — jauns fontu izvēles dialoglodziņš.
  • Daudz attīstītāks CSS tēmas atbalsts, izmantojot stilu klases primārajām un iekļautajām rīkjoslām.
  • HTML aizmugure Broadway, kas renderē lietotnes pārlūkā izmantojot tīmekļa ligzdas, ir uzlabota, taču tā joprojām ir eksperimentāla. Tā potenciāli atļauj jums vai nu palaist jūsu pašu lietotnes uz jūsu servera un piekļūt tām no jebkurienes, vai arī uzlikt tās uz publiskā servera, kas rada jaunu lietotnes saskarni katram atsevišķam lietotājam. Ņemiet vērā, ka, lai to panāktu, GTK+ ir jākompilē ar --enable-x11-backend --enable-broadway-backend karodziņiem un jāizmanto GDK_BACKEND vides mainīgais palaižot lietotni.
  • Ir pievienots atbalsts reftestiem, lai būtu vieglāk rakstīt testus.
  • Ir izstrādāti dažādi GTK+ veiktspējas uzlabojumi, piemēram, kešošanas izmēru pieprasījumu, CSS stila informācijas nolasīšanas un sīkrīku izmēru rēķināšanas jomās.

4.3. Clutter 1.8

GNOME grafiskā bibliotēka aparatūras paātrinātajām lietotāja saskarnēm Clutter piedāvā šādus uzlabojumus:

  • Jaunas darbības - tādas kā ClutterGestureAction žestu atpazinēju rakstīšanai, ClutterSwipeAction velkošo žestu noteikšanai, ClutterDropAction, lai padarītu izpildītājus par mešanas mērķiem lietojot ClutterDragAction, un ilgas piespiešanas atbalsts ClutterClickAction.
  • ClutterState pārejas var tikt sasaistītas ar objekta signāliem, veidojot scēnu ClutterScript.
  • Uzlabota Cairo zīmēšanas integrācija.
  • Cogl, GPU programmēšanas saskarne, ko izmanto Clutter, ir atdalīta kā atsevišķa bibliotēka.

4.4. Atmetamo bibliotēku izmantošana

Ir arī turpināts darbs pie atmetamo tehnoloģiju aizstāšanas ar labāku funkcionalitāti.

  • GConf tagad izmanto D-Bus pēc noklusējuma un tāpēc vairāk nepieprasa ORBit2 izmantošanu. Tā rezultātā atmetamās bibliotēkas ORBit2 un libIDL ir izņemtas no GNOME.
  • GNOME kodola moduļi tagad ir atkarīgi tikai no introspekcijas bāzētajiem Python saistījumiem (pygobject-3) un tādējādi pygtk, gnome-python un gnome-python-desktop vairs nav nepieciešami.
  • Dažas lietotnes (piemēram, Accerciser, Dasher, GHex, grafiskais atkļūdotājs Nemiver, kā arī paroļu un šifrēšanas atslēgu pārvaldības rīksSeahorse) tagad izmanto GSettings kā glabāšanas aizmuguri GConf vietā.
  • Atsevišķas pakotnes, tādas kā Epiphany tīmekļa pārlūks, ir pārvestas no dbus-glib izmantošanas uz GDBus izmantošanu, un no libunique izmantošanas uz G(tk)Application.

4.5. Vieglāk kompilēt GNOME ar JHBuild

GNOME būvēšanas rīks JHBuild vairs nebūvē tos moduļus, kuru uzinstalētā versija sistēmā ir pietiekama JHBuild vajadzībām. Tas tiek kontrolēts ar konfigurācijas opciju partial_build, un tā ir aktivizēta pēc noklusējuma. Komanda jhbuild sysdeps parāda, kuras sistēmas moduļi ir jau atrasti, kā arī to, kuri moduļi tiks būvēti.

Ja sākat būvēt GNOME no nulles ar jaunāko distribūciju, tad šī iespēja var dot jums iespēju kompilēt 50 moduļus mazāk.

4.6. Dažādi atjauninājumi izstrādātājiem

Citi GNOME platformas uzlabojumi 3.2 laidienā iekļauj:

  • Klasiskie (statiskie) Python saistījumi ir izņemti sākot ar PyGObject 3.0 un tikai dinamiskie Python saistījumi ir pieejami (izmantojot introspekciju). PyGObject 2 un 3 ir paralēli instalējami ja introspekcija ir izslēgta pēc noklusējuma PyGObject 2 pakotnēs. Lai uzzinātu ko vairāk, lasiet kā pārnest lietotnes no PyGObject 2 uz PyGObject 3.
  • Tracker ar versiju 0.12 nodrošina atbalstu Firefox ≥ 4.0, Thunderbird ≥ 5.0, MeeGoTouch, dažus papildus SPARQL parametrus, informācijas iegūšanu no EPub failiem, un lokālajām XDG direktorijām dēļ darbvirsmas failiem.
  • NetworkManager ar versiju 0.9 nodrošina introspekcijas atbalstu un vienkāršotāku D-Bus API. Lai uzzinātu ko vairāk, lasiet kā portēt lietotnes no NetworkManager versijas 0.8 uz 0.9.
  • Kā daļa no mēģinājumiem izmantot un popularizēt PKCS#11 kā sasaisti starp šifrēšanas bibliotēkām, dažādas gnome-keyring daļas ir sadalītas no darbvirsmas neatkarīgās bibliotēkās.
  • GtkSourceView tagad atbalsta sintakses iekrāsošanu Markdown un standarta ML failiem.
  • Evolution-Data-Server ir saņēmis daudzus labojumus introspekcijas atbalstā.
  • libfolks bibliotēkai tagad ir arī Evolution-Data-Server aizmugure, kuru izmanto jaunā Kontakti lietotne.
  • Dokumentācijas apstrādes rīku jomā gnome-doc-utils un xml2po tiek lēnām aizvietoti ar yelp-tools un itstool. yelp-xsl ir iekļauti daži eksperimentāli Mallard paplašinājumi, tādi kā apstākļu apstrāde un dinamiskās vārdnīcas.