Новости за разработчиците

Платформата за разработка GNOME 2.12 предоставя стабилна основа както за разработчиците, така и за самата графична среда GNOME. Версия 2.12 добавя видими от потребителя подобрения, както и такива в системата на API-та. Запазена е обратна съвместимост и стабилност на интерфейсите. По-такъв начин се улеснява разработката на приложения както за Unix, така и за Windows, като се спазват стандартите за взаимодействие с другите графични среди.

3.1. Подобрения в GTK+

В GNOME 2.12 библиотеката GTK+ 2.8 предоставя някои интересни нововъведение за потребителите като

  • GTK+ вече използва интерфейсите на Cairo за изчертаване, които са част от проекта за свободни среди за потребители - Freedesktop. Това улеснява създаването на специализирани графични обекти, както и позволява използването на нови ефекти. В близкото бъдеще това ще позволи на GNOME да се възползва от новите възможности на хардуерното ускорение, както и ще подобри интерфейсите за печат.
  • Издърпването и пускането е подобрено, когато издърпвате текст виждате предварителен изглед на текста.

Освен тези промени, които са достъпни за всички програми базирани на GTK+, без да е необходима прекомпилация, включени са няколко нови API-та за улесняване на разработчиците. Те включват:

  • Диалогът GtkFileChooser изисква потвърждение при записване върху съществуващ файл.
  • Диалогът GtkWindow може да подаде сигнал за спешност, което позволява, например, на мениджъра на прозорци да накара заглавието на прозореца да премигне.
  • Обектът GtkIconView използва интерфейса GtkLayout и може да подрежда елементи чрез GtkCellRendererCells.
  • Обектът GtkTextView позволява задаването на цвят на фона на абзаците, както и предоставя възможност за прескачане на невидимия текст при обработката на текста.
  • Обектът GtkScrolledWindow има нови функции за работа с лентите за прелистване.
  • Обектът GtkMenu поддържа вертикални менюта и може да отказва да получи фокуса, което е важно за приложения като екранната клавиатура.
  • Изскачащото меню на GtkEntryCompletion може да е по-широко от полето за въвеждане на данни, а ако има само едно съвпадение - менюто не се показва.
  • Текстът на лицензите в GtkAboutDialog се пренася по редове.
  • Обектът GtkToolButton може да използва стандартните икони от темите по имена, а самите икони могат да се издърпват.
  • Пакетирането GtkSizeGroup може да прескача скритите графични обекти.

За пълния списък погледнете новите интерфейси в GTK+ 2.8.

3.2. Множество платформи за работа

Библиотеката GTK+ е особено популярна сред разработчиците, които трябва да поддържат множество платформи, в това число Microsoft Windows, както и GNU/Linux и UNIX. Например - дизайнерите могат да изработват изображения чрез GIMP и Inkscape както под GNU/Linux така и Windows.

Все повече библиотеки на GNOME, в това число ORBit2, libbonobo, libgnome, libbonoboui, libgnomeui и gnome-vfs, се компилират и функционират върху Microsoft Windows, което дава възможност приложенията на GNOME да се популяризират и върху тази платформа. Макар и поддръжката все още да не е пълна, тя е достатъчна за повечето приложения. Завършването на поддръжката на Microsoft Windows се очаква в следващата версия на GTK+ и GNOME.

3.3. Спазването на стандарти

GNOME работи в тясно сътрудничество с групи като freedesktop.org. Поддръжката на стандарти е голямо предимство за потребителите и разработчиците на GNOME. Това позволява на потребителите да използват безпроблемно приложения едновременно от средите GNOME, KDE, както и други програми. Спазването на общодостъпни спецификации гарантира, че данните на потребителите не са заключени в собственически стандарти.

Разработчиците на GNOME съвместно с другите участници в общността на свободния софтуер чрез сайт Freedesktop.org работят усилено по стандарти, които осигуряват съвместимост. Част от тях са: споделената база от данни за класификацията MIME, темите за икони, последно използваните файлове, менютата, описанието на иконите, управлението на мини изображенията и системната тава. Допълнително GNOME поддържа CORBA, XML, Xdnd, EWMH, XEMBED, XSETTINGS и XSMP.