Предварительный план разработки библиотеки Gtk+ 3.0

10 апреля 2009 года

Разработчики Gnome представили предварительный план подготовки релиза Gtk+ 3.0, в котором собраны основные идеи по улучшению библиотеки. Ожидается изменение структуры API, полная переработка некоторых подсистем, перевод всех "public" структур в область видимости "private" и проведение значительной чистки библиотеки от устаревшего кода. Нарушение программной и бинарной совместимости Gtk с некоторыми приложениями, обернется повышением производительности и уменьшением размера библиотеки. На основе Gtk+ 3.0 уже в марте 2010 года будет выпущен инновационный релиз GNOME 3.0.

Версия Gtk+ 2.0 была выпущена в 2002 году и на протяжении всей линейки 2.x сохранила обратную бинарную совместимость, позволяя не прибегать к перекомпиляции приложений после обновления библиотеки в системе. Тем не менее поддержание неизменного ABI позволяет вносить в код библиотеки только незначительные улучшения, а проблем и новшеств, которые не могут быть реализованы без переработки ABI, накопилось уже много.

При разработке Gtk+ 3 предлагается трезво оценить возможности комьюнити и не задавать участникам проекта жесткие временные рамки, а использовать систему приоритетов, при которой Gtk core team подготовит базовую функциональность, а работа независимых участников сообщества будет разбита на два класса: то что хотелось бы успеть добавить в 3.0 и то, что можно отложить до будущих релизов ветки 3.x.

Возможности, которые должны войти в Gtk+ 3.x:

  • Полностью независимый от экрана рендеринг;
  • Удаление всех публичных структур в API. Упрощение DnD API для поддержки drag-and-drop операций не только в древовидных списках. Упрощение API для управления прозрачностью виджетов;
  • Поддержка нового механизма виджетов рабочего стола с описанием стиля в CSS-подобном представлении и возможностью смены стиля на лету. Поддержка нового класса "прокручиваемых" виджетов, которые помогут упростить реализацию виджетов для просмотра текста или работы с древовидными структурами. Поддержка определения настраиваемого RGBA фона для виджетов, контролируемого через систему визуальных тем;
  • Обеспечение независимости от экранного разрешения, благодаря адаптивной прорисовке, оптимальной для текущих параметров экрана, таких элементов, как виджеты и шрифты. На системах с большим или низким разрешением, все элементы автоматически будут иметь размер соизмеримый с размером экрана, не требуя ручной настройки шрифтов, пиктограмм и других элементов интерфейса.

Новые возможности, которые хотелось бы реализовать в Gtk+ 3.x силами независимых разработчиков:

  • Улучшение поддержки анимационных эффектов c определением внешних подключаемых алгоритмов компоновки (layout) и перемещения (transition), в стиле Clutter, но на базе механизма обработки событий GLib;
  • Добавление компонентов для обсчета физики, например, для создания эффектов инертной прокрутки, магнетизма, влияния трения, отскока элементов, растягивания, затухания, размывания, отбрасывания тени и т.п.
  • Поддержка визуальных тем для "padding" блоков;
  • Поддержка стандартных стилевых меток (label styles), отталкивающихся от стандартного размера шрифта. Напирмер, увеличенных шрифт, шрифт для заголовков и т.п.;
  • Высокоуровневый способ стилевого выделения текста, нормально работающий не зависимо от языка и кодировки;
  • Добавление автоматизированного тестового набора для оценки корректности отображения на экране;
  • Добавление вращающегося круглого виджета для индикации прогресса выполнения операции;
  • Обобщенная обработка событий, не привязанная к X11 и действенная для скрытых окон;
  • Разделение группировки виджетов (родитель/потомок) и их геометрического позиционирования на холсте;
  • Полная поддержка мультитач режима и возможности одновременной работы с несколькими указателями мыши и элементами ввода.
  • Упрощение создания виджетов, вероятно будет подготовлена какая-то система шаблонов, дополнительные классы и автоматизированы типовые операции;
  • Предоставление набора утилит для анализа кода сторонних проектов с целью упрощения их портирования на Gtk+ 3.

Новые возможности, которые могут быть реализованы в Gtk+ 3.x если независимые разработчики успеют их реализовать:

  • Переработка системы определения визуальных тем;
  • Возможность использования визуальных трансформаций силами тулкита, вероятно через интеграцию библиотеки clutter для задействования OpenGL или через добавление недостающих 3D функций в библиотеку Cairo;
  • Поддержка микро-виджетов - небольших и очень простых виджетов, которые могут объединяться в более большой комплексный виджет.
  • Поддержка API для организации связи виджетов.

Источники

править
 
 
Creative Commons
Эта статья содержит материалы из статьи «Предварительный план разработки библиотеки Gtk+ 3.0», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.