Релиз Enlightenment Foundation Library 1.0

После 10 лет разработки проект Enlightenment объявил о выходе стабильной версии набора библиотек EFL (Enlightenment Foundation Library) 1.0, позволяющего создавать визуально привлекательные графические интерфейсы, отличающиеся компактностью, низким потреблением ресурсов и высокой производительностью. Данные качества делают EFL неплохим выбором для построения интерфейсов потребительской электроники и мобильных устройств. В частности, системы на базе EFL используются в продуктах компаний Electrolux, Samsung, ProFUSION, Free.fr и Calaos.

EFL состоит из следующих базовых компонент:

  • Evas 1.0.0 - система рендеринга, используемая для организации вывода на экран и обеспечивающая замечательную производительность даже без задействования аппаратной акселерации вывода. Evas оперирует содержимым экрана как сценой, на которой размещаются определенные объекты, состояние которых в последующем отслеживается. Подобный подход, абстрагированный от размещения экранных элементов, позволяет разрабатывать интерфейс пользователя с точки зрения дизайнера, а не программиста (в коде достаточно определить только логику и не думать о прорисовке и выводе на экран). Evas также абстрагирует метод вывода, что позволяет использовать один и тот же код в сочетании как с программным рендерингом, так и с OpenGL. При этом над сценой можно проделывать такие операции как масштабирование, вращение и 3D-трансформации;
  • Edje 1.0.0 - графическая библиотека, отделяющая внешний вид от кода приложения (оформление задается в виде загружаемого из файла шаблона). Пол своей сути Edje занимает нишу где-то между HTML+CSS и Flash/PSD/SVG. При помощи данной библиотеки можно сформировать насыщенный пользовательский интерфейс, снабженный анимированными визуальными эффектами и поддерживающий динамическое оформление (внешний вид можно полностью поменять просто сменив EDJ-шаблон и не трогая код, при этом, в отличие от визуальных тем, порядок расположения элементов может быть произвольно изменен);
  • Eina 1.0.0 - библиотека с реализацией различных типов данных (массив, хэш, список, дерево) и полезных инструментов (работа с логами, оценка производительности, преобразование форматов и т.д.);
  • Eet 1.4.0 - библиотека для записи произвольного набора блоков данных в файл и их последующего частого чтения в произвольном порядке;
  • Ecore 1.0.0 - библиотека для организации цикла обработки событий, имеющая в своем арсенале набор модулей для упрощения связанных с обработкой событий задач, таких как работа с X, Evas, нитями, сетевыми соединениями и т.п.;
  • Embryo 1.0.0 - библиотека для написания небольших компилируемых приложений для встраиваемых устройств;
  • E_Dbus - надстройка над DBus API, позволяющая использовать его в EFL-приложениях и интегрировать в основной цикл обработки событий Ecore/main;
  • Efreet - библиотека, позволяющая использовать в приложениях некоторые специфкации Freedesktop.org по работе с пиктограммами, Desktop-файлами и меню;
  • Eeze - библиотека для организации взаимодействия с внешними устройствами через udev;

Дополнительные компоненты, развиваемые в рамках проекта Enlightenment:

  • Elementary - набор виджетов с готовой реализацией разнообразных графических элементов (от кнопок и элементов управления, до календаря и модуля редактирования текста);
  • Enlightenment - оконный менеджер, на базе которого, в сочетании с такими компонентами, как файловый менеджер, набор виджетов и рабочий стол, формируется десктоп-окружение;
  • Ephoto - менеджер для управления коллекцией фотографий;
  • Eve - web-браузер на базе движка WebKit (используется библиотека EFLWebKit);
  • Editje - работающий в WYSIWYG режиме текстовый редактор;
  • Eio - абстрактный интерфейс для доступа к файловой системе;
  • Efreet - библиотека, позволяющая использовать в приложениях некоторые специфкации Freedesktop.org по работе с пиктограммами, Desktop-файлами и меню;
  • Ethumb - библиотека для формирования эскизов изображений;
  • Биндинги для языков Python, Javascript, Vala, Perl, C++ и Ruby;

© OpenNet