Проект 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. ;