Стабильный релиз EFL 1.7 (Enlightenment Foundation Library)
Проект 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.
© OpenNet