Выпуск пользовательского окружения Enlightenment 0.27 и библиотек EFL 1.28

good-penguin.png

После года разработки состоялся релиз пользовательского окружения Enlightenment 0.27, которое базируется на наборе библиотек EFL (Enlightenment Foundation Library) и виджетах Elementary. Выпуск доступен в исходных текстах без публикации готовых сборок.

Список изменений для выпуска 0.27 не сформирован, доступен лишь перечень коммитов, в котором в основном перечислены исправления ошибок и незначительные улучшения в виджетах.

Рабочий стол в Enlightenment формируют такие компоненты, как файловый менеджер, набор виджетов, панель запуска приложений и графические конфигураторы.

Графические конфигураторы предоставляют как высокоуровневые средства настройки (изменение оформления, настройка виртуальных рабочих cтолов, управление шрифтами, разрешением экрана, раскладкой клавиатуры, локализацией и т.п.), так и возможности по низкоуровневому тюнингу (например, можно настроить параметры кэширования, графического ускорения, потребления энергии, изменить логику работы оконного менеджера).

Для расширения функциональности предлагается использовать модули (гаджеты), а для переработки внешнего вида — темы оформления.

Доступны модули для отображения на десктопе календаря-планировщика, прогноза погоды, данных мониторинга, регулятора громкости, виджета для оценки заряда аккумулятора. Составляющие Enlightenment компоненты жёстко не привязаны друг к другу и могут использоваться в других проектах или для создания специализированных окружений, таких как оболочки для мобильных устройств.

Из обязательных зависимостей заявлены EFL, libexif и libpam (только в Linux).

Среди рекомендованных зависимостей, необходимых для достижения полноценной функциональности: connman для настройки сети; bluez5 для работы с Bluetooth; bc для встроенного калькулятора; pulseaudio для управления звуковыми устройствами; acpid для обработки различных аппаратных событий; packagekit для отслеживания системных обновлений; udisks2 для монтирования внешних дисков; ddcutil для управления подсветкой экрана; gdb для трассировки аварийных завершений.

Одновременно проект Enlightenment опубликовал набор библиотек EFL 1.28 (Enlightenment Foundation Library), позволяющих создавать визуально привлекательные графические интерфейсы, отличающиеся компактностью, низким потреблением ресурсов и высокой производительностью.

Несмотря на изначальное развитие в качестве базиса для окружения Enlightenment, компоненты EFL часто используются для построения интерфейсов потребительской электроники и мобильных устройств. Например, EFL является составной частью мобильной платформы Tizen, используются в бытовой технике Electrolux, продуктах Samsung, ProFUSION, Free.fr и Calaos.

Состав EFL:

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

Eet — библиотека для записи произвольного набора блоков данных в файл для последующего быстрого чтения в произвольном порядке.

Evas — система рендеринга для организации вывода на экран.

Evas оперирует содержимым экрана как сценой с объектами, состояние которых можно отслеживать. Над сценой можно проделывать такие операции как масштабирование, вращение и 3D-трансформации.

Подобный подход, абстрагированный от размещения экранных элементов, позволяет разрабатывать интерфейс пользователя с точки зрения дизайнера, а не программиста (в коде достаточно определить только логику и не думать о прорисовке и выводе на экран). Evas также абстрагирует метод вывода, что позволяет использовать один и тот же код в сочетании с программным и аппаратно ускоренным рендерингом.

Ecore — библиотека для организации цикла обработки событий, предлагающая набор модулей для упрощения связанных с обработкой событий задач, таких как работа с Evas, нитями, сетевыми соединениями и т.п.

Embryo — библиотека для написания небольших компилируемых приложений для встраиваемых устройств. Edje — графическая библиотека, отделяющая внешний вид от кода (оформление задаётся в виде загружаемого из файла шаблона).

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

Efreet — библиотека, позволяющая использовать в приложениях спецификации Freedesktop.org для работы с пиктограммами, Desktop-файлами и меню.

Eeze — библиотека для организации взаимодействия с внешними устройствами через udev, HAL и другие механизмы.

Expedite — инструментарий для измерения производительности, который может тестировать различные движки Evas, такие как X11,

XRender, OpenGL, SDL и DirectFB.

Evil — реализация уровня совместимости для работы на платформе Windows.

Eio — абстрактный интерфейс для доступа к файловой системе и реализации асинхронного ввода/вывода.

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

Ethumb — библиотека для формирования эскизов изображений, соответствующих стандартам freedesktop.org. Ethumb реализован в виде сервиса dbus и клиентской библиотеки, взаимодействующей с данным сервисом.

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

Eldbus — надстройкой над DBus.

Ephysics — предоставляет средства для использования движка симуляции физических процессов Bullet в приложениях на базе EFL.

Ephysics обеспечивает связку Bullet с библиотеками Ecore и Evas.

Ecore Audio — API для работы со звуком.

>>> Подробности (OpenNet)

©  Linux.org.ru