Проект Enlightenment представил стабильный релиз набора библиотек EFL 1.7 (Enlightenment Foundation Library). Библиотеки EFL позволяют создавать визуально привлекательные графические интерфейсы, отличающиеся компактностью, низким потреблением ресурсов и высокой производительностью. Несмотря на изначальное развитие в качестве базиса для окружения Enlightenment 17, в настоящее время компоненты EFL обретают популярность для построения интерфейсов потребительской электроники и мобильных устройств. Например, EFL является составной частью мобильной платформы Tizen, продолжающей развитие MeeGo, используются в бытовой технике Electrolux, телефонах Samsung, а также в продуктах компаний ProFUSION, Free.fr и Calaos.

Если ранее некоторые из входящих в состав EFL библиотек имели свою нумерацию, что приводило к путанице (например, в прошлом выпуске большинство библиотек имели версию 1.2, но некоторые поставлялись с номерами 1.0, 1.1 и 1.6), то отныне номера синхронизированы и используется единый номер версии 1.7 для всей серии. Более того, начался процесс объединение всех библиотек EFL в одно дерево исходных текстов - следующий релиз EFL будет выпущен как одно целое, а не в виде разрозненных архивов библиотек. Одновременно в анонсе сообщается о проведении в ноябре мероприятия EFL Developer Day, которое пройдёт как часть конференции Linuxcon Europe. К моменту данной конференции разработчики намерены выпустить релиз пользовательской оболочки Enlightenment 0.17, который будет основан на библиотеках EFL 1.7.

Особенности EFL 1.7:

  • Eina 1.7.0 - библиотека с реализацией различных типов данных (массив, хэш, список, дерево) и полезных инструментов (работа с логами, оценка производительности, преобразование форматов и т.д.).

    В новой версии добавлен поддержка backtrace в Eina_Log API, включён хелпер для перебора строк в файле для которого выполнен маппинг, добавлена опция EINA_SENTINEL для защиты переменных функций;
  • Eet 1.6.0 - библиотека для записи произвольного набора блоков данных в файл и их последующего частого чтения в произвольном порядке.

    В новой версии добавлен код для определения переполнений при настройке Eet Data Descriptor, добавлена функция eet_connection_empty;
  • Evas 1.2.0 - система рендеринга для организации вывода на экран. Evas оперирует содержимым экрана как сценой, на которой размещаются определённые объекты, состояние которых в последующем отслеживается. Подобный подход, абстрагированный от размещения экранных элементов, позволяет разрабатывать интерфейс пользователя с точки зрения дизайнера, а не программиста (в коде достаточно определить только логику и не думать о прорисовке и выводе на экран). Evas также абстрагирует метод вывода, что позволяет использовать один и тот же код в сочетании как с программным рендерингом, так и с OpenGL. При этом над сценой можно проделывать такие операции как масштабирование, вращение и 3D-трансформации. Evas обеспечивает замечательную производительность даже при использовании программных методов рендеринга, без задействования аппаратной акселерации вывода.

    В новой версии реализовано около 10 изменений, среди которых новый объект Textgrid и новый тип Evas_Smart_Interface, реализация неблокирующего режима рендеринга шрифтов, серия оптимизаций;
  • Ecore 1.7.0 - библиотека для организации цикла обработки событий, имеющая в своем арсенале набор модулей для упрощения связанных с обработкой событий задач, таких как работа с X, Evas, нитями, сетевыми соединениями и т.п.

    В новой версии добавлены новые функции core_main_fd_handler_file_add() и ecore_fork_reset(), добавлена поддержка прозрачности для платформы Windows, API для установки профилей Ecore_Evas и Ecore_X, новый бэкенд dns.c для быстрого резолвинга имён в DNS, модуль для поддержки ibus;
  • Embryo 1.7.0 - библиотека для написания небольших компилируемых приложений для встраиваемых устройств.

    В новой версии исправлена шибка, приводящая к делению на ноль;
  • Edje 1.7.0 - графическая библиотека, отделяющая внешний вид от кода (оформление задаётся в виде загружаемого из файла шаблона). По своей сути Edje занимает нишу где-то между HTML+CSS и Flash/PSD/SVG. При помощи данной библиотеки можно сформировать насыщенный пользовательский интерфейс, снабжённый анимированными визуальными эффектами и поддерживающий динамическое оформление (внешний вид можно полностью поменять просто сменив EDJ-шаблон и не трогая код, при этом, в отличие от визуальных тем, порядок расположения элементов может быть произвольно изменён).

    В новой версии добавлен вызов edje_watch для слежения за изменение кода edje, в edje_player реализована поддержка автоматической перезагрузки файла при его изменении на диске, увеличена скорость работы color_class;
  • Efreet 1.7.0 - библиотека, позволяющая использовать в приложениях некоторые спецификации Freedesktop.org по работе с пиктограммами, Desktop-файлами и меню.

    В новой версии ускорена загрузка MIME-типов, добавлена поддержка XDG_DESKTOP_DIR и реализована функция efreet_lang_reset();
  • E_Dbus 1.7.0 - надстройка над DBus API, позволяющая использовать его в EFL-приложениях и интегрировать в основной цикл обработки событий Ecore/main.

    В новой версии проведена работа над ошибками и расширено число проверок на NULL-указатели;
  • Eeze 1.7.0 - библиотека для организации взаимодействия с внешними устройствами через udev, hal и другие механизмы.

    В новой версии добавлена поддержка джойстика и систем без файла mtab;
  • Expedite 1.7.0 - инструментарий для измерения производительности, который может тестировать различные движки Evas, такие как X11, XRender, OpenGL, SDL и DirectFB. Методика тестирования максимально приближена к реальным условиям.

    В новой версии обеспечено корректное выделение объектов Evas_Map;
  • Evil 1.7.0 - реализация уровня совместимости для работы на платформе Windows.

    В новой версии налажена работа функции evil_format_message();
  • Eio 1.7.0 - абстрактный интерфейс для доступа к файловой системе и реализации асинхронного ввода/вывода;

    В новой версии добавлен макрос для ведения отладочных логов;
  • Emotion 1.7.0 - библиотека для интеграции в EFL-приложения поддержки проигрывания аудио и видео контента. Проигрывание видео может осуществляться с использованием Gstreamer, Xine или других внешних плагинов (например, VLC), при этом видео отображается как стандартный объект в Evas.

    В новой версии добавлена поддержка callback-вызова "playback_started" в generic-плеера, реализована поддержка переключателя SPU для generic/vlc, начала адаптация для встраиваемых систем;
  • Ethumb 1.7.0 - библиотека для формирования эскизов изображений, соответствующих стандартам freedesktop.org. Ethumb реализован в виде сервиса dbus и клиентской библиотеки, взаимодействующей с данным сервисом.

    В новой версии отмечены только исправления ошибок;
  • Elementary 1.7.0 - набор виджетов с готовой реализацией разнообразных графических элементов (от кнопок и элементов управления, до календаря и модуля редактирования текста).

    В новой версии добавлена поддержка скроллинга для виджетов с тулбаром и организации входа, на оформление elm переведены виджеты выбора файлов, создания панели, всплывающих подсказок, Ctxpopup и Multibutton.


Источник: http://www.opennet.ru/opennews/art.shtml?num=34711