The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Новая версия EFL 1.20 (Enlightenment Foundation Library)

05.08.2017 09:39

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

С момента прошлого выпуска внесено более 1600 изменений от 60 авторов. Проведена работа по увеличению качества кода - в тестах Coverity показатель качества доведён до 0.03 ошибок на 1000 строк кода (для сравнения в Qt - 0.72, glib - 0.44, ядре Linux - 0.47, OpenSSL - 0.32). В 1.1 млн строк кода устранено 1288 дефектов, выявленных Coverity, неисправленными остаются 38 дефектов.

Улучшена поддержка Wayland и расширены компоненты для взаимодействия с подсистемой DRM (Direct Rendering Manager) ядра Linux, в том числе добавлена поддержка атомарного переключения видеорежимов и создания multiseat-конфигураций, в которых за одним рабочим столом может одновременно работать несколько человек со своими клавиатурами и мышами. Обеспечена качественная работа Enlightenment и EFL на платах Rapberry Pi 3 (ARM + VC4), O-DROID XU3/XU4 (ARM + Mali-6xx) и различных устройствах с сенсорными экранами на базе чипов Intel. Продолжено развитие средств для отладки и профилирования.

Состав EFL:

  • Eina - библиотека с реализацией различных типов данных (массив, хэш, список, дерево) и полезных инструментов (работа с логами, оценка производительности, преобразование форматов и т.д.).
  • Eet - библиотека для записи произвольного набора блоков данных в файл и их последующего частого чтения в произвольном порядке.
  • Evas - система рендеринга для организации вывода на экран. Evas оперирует содержимым экрана как сценой, на которой размещаются определённые объекты, состояние которых в последующем отслеживается. Подобный подход, абстрагированный от размещения экранных элементов, позволяет разрабатывать интерфейс пользователя с точки зрения дизайнера, а не программиста (в коде достаточно определить только логику и не думать о прорисовке и выводе на экран). Evas также абстрагирует метод вывода, что позволяет использовать один и тот же код в сочетании как с программным рендерингом, так и с OpenGL. При этом над сценой можно проделывать такие операции как масштабирование, вращение и 3D-трансформации. Evas обеспечивает замечательную производительность даже при использовании программных методов рендеринга, без задействования аппаратной акселерации вывода.
  • Ecore - библиотека для организации цикла обработки событий, имеющая в своем арсенале набор модулей для упрощения связанных с обработкой событий задач, таких как работа с X, Evas, нитями, сетевыми соединениями и т.п.
  • Embryo - библиотека для написания небольших компилируемых приложений для встраиваемых устройств.
  • Edje - графическая библиотека, отделяющая внешний вид от кода (оформление задаётся в виде загружаемого из файла шаблона). По своей сути Edje занимает нишу где-то между HTML+CSS и Flash/PSD/SVG. При помощи данной библиотеки можно сформировать насыщенный пользовательский интерфейс, снабжённый анимированными визуальными эффектами и поддерживающий динамическое оформление (внешний вид можно полностью поменять просто сменив EDJ-шаблон и не трогая код, при этом, в отличие от визуальных тем, порядок расположения элементов может быть произвольно изменён).
  • Efreet - библиотека, позволяющая использовать в приложениях некоторые спецификации Freedesktop.org по работе с пиктограммами, Desktop-файлами и меню.
  • Eeze - библиотека для организации взаимодействия с внешними устройствами через udev, hal и другие механизмы.
  • Expedite - инструментарий для измерения производительности, который может тестировать различные движки Evas, такие как X11, XRender, OpenGL, SDL и DirectFB. Методика тестирования максимально приближена к реальным условиям.
  • Evil - реализация уровня совместимости для работы на платформе Windows.
  • Eio - абстрактный интерфейс для доступа к файловой системе и реализации асинхронного ввода/вывода;
  • Emotion - библиотека для интеграции в EFL-приложения поддержки проигрывания аудио и видео контента. Проигрывание видео может осуществляться с использованием Gstreamer, Xine или других внешних плагинов (например, VLC), при этом видео отображается как стандартный объект в Evas.
  • Ethumb - библиотека для формирования эскизов изображений, соответствующих стандартам freedesktop.org. Ethumb реализован в виде сервиса dbus и клиентской библиотеки, взаимодействующей с данным сервисом.
  • Elementary - набор виджетов с готовой реализацией разнообразных графических элементов (от кнопок и элементов управления, до календаря и модуля редактирования текста).
  • Eldbus - надстройкой над DBus API, заменившая собой ранее доступный модуль E_Dbus;
  • Ephysics - предоставляет средства для использования движка симуляции физических процессов Bullet Physics Engine в приложениях на базе EFL. Ephysics обеспечивает связку Bullet с библиотеками Ecore и Evas;
  • Ecore Audio - API для работы со звуком.
  • Elocation - библиотека для получения информации о географическом местоположении.


  1. Главная ссылка к новости (http://www.rasterman.com/post/...)
  2. OpenNews: Выпуск дистрибутива Bodhi Linux 4.2, предлагающего десктоп-окружение Moksha
  3. OpenNews: Выпуск эмулятора терминала Terminology 0.8, развиваемого проектом Enlightenment
  4. OpenNews: Выпуск пользовательского окружения Enlightenment 0.20 с полноценной поддержкой Wayland
  5. OpenNews: Выпуск пользовательского окружения Moksha 0.2, форка Enlightenment 17
  6. OpenNews: Выпуск пользовательского окружения Enlightenment 0.21
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/46974-enlightenment
Ключевые слова: enlightenment, efl
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (32) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 09:47, 05/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Ну вот и до Ecorp уже не далеко
     
     
  • 2.7, Michael Shigorin (ok), 10:18, 05/08/2017 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Electrolux? ;-)
     
     
  • 3.36, Аноним (-), 00:16, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Ты скоро сдохнешь.
     
  • 3.38, Andrey Mitrofanov (?), 09:50, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Electrolux? ;-)

    https://duckduckgo.com/?q=evil+corp

     
     
  • 4.39, EHLO (?), 10:38, 08/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    evil+corp через ссылку на bingbinggo, тонко.
     

  • 1.3, A.Stahl (ok), 10:03, 05/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >позволяющих создавать визуально привлекательные графические интерфейсы, отличающиеся компактностью

    Не знаю что там с привлекательностью (все знают, что зелёные фломастеры вкуснее), но компактность-то там где? Даже GTK даст фору по компактности. Ну... может фору и не даст, но слово компактность тут неуместно. Или скриншот не от этой новости?

     
     
  • 2.5, waylandbeliver (?), 10:15, 05/08/2017 [^] [^^] [^^^] [ответить]  
  • –7 +/
    Думаю там речь про потребление ресурсов (кроме ресурса площади дисплея).
     
     
  • 3.6, A.Stahl (ok), 10:17, 05/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    А это тогда про что в том же предложении?
    >низким потреблением ресурсов и высокой производительностью.
     
     
  • 4.12, Аноним (-), 11:59, 05/08/2017 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Очевидно же: компактность — место на диске (то, что потребляется всегда), потребление ресурсов — ОЗУ и процессор (то, что потребляется при работе).
     

  • 1.4, Аноним (-), 10:14, 05/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +25 +/
    >Evil - реализация уровня совместимости для работы на платформе Windows

    Хорошее название

     
  • 1.8, Дуплик (ok), 10:39, 05/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –19 +/
    >для сравнения в Qt - 0.72

    То, что Qt-разработчики пишут самый тормозной и некачественный код, это любому ежу понятно.

    Вопрос в другом. Как в EFL с поддержкой HiDPI-дисплеев?

     
     
  • 2.9, Аноним (-), 11:15, 05/08/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Qt-разработчики пишут самый тормозной и некачественный код, это любому ежу понятно.

    вы сделаете лучше

     
     
  • 3.10, A.Stahl (ok), 11:22, 05/08/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нет, не сделает.
     
  • 2.11, srtream (?), 11:35, 05/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    А толковых альтернативных комбаинов и нет.
     
     
  • 3.13, Аноним (-), 12:00, 05/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А нужны ли комбайны?
     
     
  • 4.15, A.Stahl (ok), 12:13, 05/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Да, нужны.
     
  • 4.21, Lennart (?), 17:47, 05/08/2017 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > А нужны ли комбайны?

    Yes, of course!


     
  • 2.14, Аноним (-), 12:02, 05/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >>для сравнения в Qt - 0.72
    > То, что Qt-разработчики пишут самый тормозной и некачественный код, это любому ежу
    > понятно.

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

     
  • 2.19, Lester (?), 16:31, 05/08/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Сделать статический анализатор кода счастливым - отдельный вид специальной олимпиады. Обычно этим занимаются только, если собираются использовать его постоянно, чтоб не читать простыни бесполезных предупреждений.
     
  • 2.24, key (??), 18:46, 05/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    забыли не перед "Qt-разработчики"
     
  • 2.37, Аноним (-), 08:43, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    А вообще представляете себе, что такое код?
     

  • 1.26, Аноним (-), 23:05, 05/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Под это есть нормальные темы, которые не выглядят как кьют4, изнасилованный гтк3?
     
     
  • 2.30, Neandertalets (ok), 12:40, 06/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Тем всяких - огромное множество. Но лично мне нравится и стандартная тёмная: прямо "как мечтал".
    Как говорится "На вкус и цвет..." :-)
     

  • 1.27, Аноним (-), 04:29, 06/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    https://what.thedailywtf.com/topic/15001/enlightened

    Это ещё актуально? Или EFL больше не пишет в консоль "SPANK SPANK BAD PROGRAMMER"?

     
     
  • 2.31, Аноним (-), 19:58, 06/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Это всегда актуально для тех, кто не читает документацию.
     

  • 1.28, jOKer (ok), 05:06, 06/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    У них до сих пор проблемы с дизайнерами, как я посмотрю. Отбой отступов, шрифты... Хотя по сравнению с тем ужасом, что был пару лет назад - прогресс конечно же очевиден, - факт.
     
  • 1.29, Аноним (-), 08:05, 06/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Нужно портировать на этом тулките Photoshop, FineReader и Sony Vegas. Не на GTK же!
     
     
  • 2.34, Аноним (-), 21:41, 06/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Владельцы этого ПО как отреагировали на ваше предложение?


     

  • 1.35, Аноним (-), 21:49, 06/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Что сразу обращает на себя внимание. Полоса прокрутки отрезающая солидный кусок пространства окна справа от себя. Этот кусок ещё как-то используется или это такая "эргономика"? Видимо, бесполезный шмат окна справа от прокрутки - это такой изыск их "дизайна". На самом деле, я когда-то этим попользовался и я уверен, что разработчики этого перманентно пребывают в состоянии немного не себя. Вещества, ещё что-то, я не знаю. Но для себя я это назвал "линукс-дизайн". Ёмко описывает общую тенденцию, как мне кажется.
     
     
  • 2.41, _ (??), 20:12, 08/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >Полоса прокрутки отрезающая солидный кусок пространства окна справа от себя.

    Ну хз. Как по мне это не скроллер _окна_, а скроллер _виджета_. Но я ея не юзаю, могу и ошибаться.

     

  • 1.40, Andrey_Karpov (ok), 11:12, 08/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > В 1.1 млн строк кода устранено 1288 дефектов, выявленных Coverity

    А теперь, благодаря PVS-Studio, можно ещё тысячу поправить  :) - Характеристики анализатора PVS-Studio на примере EFL Core Libraries - https://www.viva64.com/ru/b/0523/

     
     
  • 2.42, Фуррь (ok), 18:27, 16/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Убейся, жирдяй.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру