The OpenNET Project / Index page

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

05.08.2015 21:54  Новая версия EFL 1.15 (Enlightenment Foundation Library)

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

Кроме библиотек EFL выпущен набор виджетов Elementary 1.15, а также пакеты Emotion Generic Players 1.15 и Evas Generic Loaders 1.15. Emotion Generic Players включает реализации базовых компонентов для проигрывания медиаконтента. Evas Generic Loaders представляет собой коллекцию модулей, позволяющих организовать загрузку форматов svg, xcf, pdf, ps, ppt, doc, docx, xls, avi, mkv, wmv и т.д. Модули из состава Emotion Generic Players и Evas Generic Loaders выполнены в форме обособленных процессов, взаимодействующих с базовой программой через разделяемую память и неименованные каналы, что позволяет обеспечить продолжение работы программы на базе EFL, даже в случае краха обработчика медиаконтента.

Ключевые новшества:

  • В реализации объектной модели Eo проведена чистка процесса создания объектов (конструктора и финализатора) и улучшена обработка ошибок. В eo_constructor() обеспечен возврат кода состояния, что позволило избавиться от отдельного вызова eo_error_set();
  • В Ecore DRM (модуль вывода через драйверы DRM) реализованы новые функции API для работы с устройствами вывода, увеличена скорость рендеринга и расширены средства задействования аппаратного ускорения при отрисовке;
  • В Ecore Wayland (модуль вывода с использованием протокола Wayland) добавлена поддержка пятой версии протокола xdg_shell. Для работы теперь требуются библиотеки и серверные компоненты Wayland/Weston 1.8.0 и новее. В основанную на Wayland систему ввода добавлена поддержка автоматического приведения символов к верхнему регистру, добавлен режим ввода пароля и реализованы средства для многоязычного ввода.
  • В системе Eolian, позволяющей генерировать код на основе классов описания метаданных в файлах ".eo", добавлены новые вызовы API, представлен новый формат и генератор документации. Ужесточены требования к грамматике файлов Eo, добавлены дополнительные проверки для выявления ошибок. Ведётся, но ещё не завершена, работа по созданию инструмента для проверки файлов Eo.
  • В шаблонизатор Edje добавлен новый флаг "no_render", при установке которого связанный с ним компонент не будет виден на холсте, но сможет быть использован как маска или промежуточный источник. Реализована возможность переопределения частей clipper через изменение значения clip_to в блоке описания состояния. Используемые для Evas фильтры текста и изображений лучше интегрированы в EDC, что позволило использовать в темах оформления фильтры с анимацией, ссылающиеся на внешние Lua-файлы;
  • Внесены многочисленные изменения для улучшения работы на платформе Windows. В порт для OS X добавлена поддержка воспроизведения звуков через ecore_audio;
  • В наборе виджетов Elementary расширены методы управления фокусом, реализовано кэширование сериализированных элементов gengrid, добавлены средства автоматического скрытия окон, реализован drag&drop интерфейс для изображений и ссылок, представлены новые вызовы API.

Состав 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. Поддержка E_dbus пока сохранена, но больше не будет обновляться;
  • Ephysics - предоставляет средства для использования движка симуляции физических процессов Bullet Physics Engine в приложениях на базе EFL. Ephysics обеспечивает связку Bullet с библиотеками Ecore и Evas;
  • Ecore Audio - API для работы со звуком.
  • Elocation - библиотека для получения информации о географическом местоположении.



  1. Главная ссылка к новости (https://phab.enlightenment.org...)
Лицензия: CC-BY
Тип: Программы
Ключевые слова: efl, enlightenment
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, Аноним (-), 22:36, 05/08/2015 [ответить] [показать ветку] [···]    [к модератору]
  • –3 +/
    Браузер свой и ОС они скоро запилят?)
     
     
  • 2.12, lybin (ok), 12:00, 06/08/2015 [^] [ответить]    [к модератору]
  • –1 +/
    > Браузер свой и ОС они скоро запилят?)

    За что минусят анонима?) У них есть презентация E + servo мозиловский.

     
  • 2.15, anonymous (??), 13:58, 06/08/2015 [^] [ответить]    [к модератору]
  • +/
    Браузерный движок уже давно есть - WebKit EFL
     
  • 1.2, postfactum (?), 23:45, 05/08/2015 [ответить] [показать ветку] [···]    [к модератору]
  • +7 +/
    Я просто напомню, кто не в курсе:

    https://what.thedailywtf.com/t/enlightened/8795

     
     
  • 2.3, lybin (ok), 00:56, 06/08/2015 [^] [ответить]    [к модератору]
  • +/
    Спасибо за ссылку ) Устал читать комментарии, там ещё сами разработчики прдключаются. На сколько я понял там больше война c++ vs c.
     
     
  • 3.8, Аноним (-), 06:21, 06/08/2015 [^] [ответить]    [к модератору]  
  • +1 +/
    > На сколько я понял там больше война c++ vs c.

    Неверно. *Такое* не следует вытворять даже на С.
    Кроме того, разработчики EFL ведут себя как настоящие м-даки.

     
     
  • 4.11, lybin (ok), 11:59, 06/08/2015 [^] [ответить]    [к модератору]  
  • –1 +/
    > Кроме того, разработчики EFL ведут себя как настоящие м-даки.

    Как ведут? Я не защищаю, а хочу понять, то что маты при ошибках? В комментариях один разработчик практически без матов давал ответы автору статьи, после кучи гавна, например, в их адрес ) Я не силен в С и С++, так что приводимые примеры кода, к сожалению, не понятны. Но имхо сравнивать QT и EFL не верно, сравнил бы с GTK, там тоже побольше строчек кода написать надо будет.

     
  • 4.13, Crazy Alex (ok), 12:31, 06/08/2015 [^] [ответить]    [к модератору]  
  • +/
    Может, там какие-то основания для претензий и есть, но автор песни-стона нёс явную чушь как минимум в ряде случаев. Компилятор гуя ему, видите ли, всегда 0 возвращает, объектов может быть не более 512 и так далее.
     
     
  • 5.34, rico (ok), 14:46, 07/08/2015 [^] [ответить]    [к модератору]  
  • +/
    >> Компилятор гуя ему, видите ли, всегда 0 возвращает

    А разве возвращать ненулевой статус при ошибках уже необязательно? Я правильно понимаю?
    А если правильно, то не будет ли правильно обозвать написавшего компилятор идиотом?

     
  • 2.24, Аноним (-), 19:33, 06/08/2015 [^] [ответить]    [к модератору]  
  • +1 +/
    > https://what.thedailywtf.com/t/enlightened/8795

    Теперь понятно, почему на стабилизацию E17 ушло 12 лет. :)

     
     
  • 3.26, ананим.orig (?), 20:21, 06/08/2015 [^] [ответить]    [к модератору]  
  • +/
    На винапи в 2 раза больше. А все (похожие) претензии по этой ссылки можно смело предъявить и к нему.
     
     
  • 4.35, angra (ok), 01:53, 08/08/2015 [^] [ответить]    [к модератору]  
  • +/
    Нет, до такого маразма даже winapi не дотягивает, разве что подход к возвращению ошибок похож. Но дока и типизация в winapi вполне пристойные.

     
  • 1.4, Аноним (-), 01:22, 06/08/2015 [ответить] [показать ветку] [···]    [к модератору]  
  • +4 +/
    >визуально привлекательные

    уже набило оскомину в новостях про Enlightenment

     
     
  • 2.5, Michael Shigorin (ok), 01:45, 06/08/2015 [^] [ответить]    [к модератору]  
  • –1 +/
    >> визуально привлекательные
    > уже набило оскомину в новостях про Enlightenment

    Зато глаз не набивает.  // правда, на localhost с e17, а не e19+++

     
     
  • 3.10, Sluggard (ok), 10:44, 06/08/2015 [^] [ответить]    [к модератору]  
  • +2 +/
    Не набивает? Да там же сплошные градиенты!
     
     
  • 4.16, anonymous (??), 14:40, 06/08/2015 [^] [ответить]    [к модератору]  
  • +/
    > Не набивает? Да там же сплошные градиенты!

    Внезапно, в окружающем мире практически нет абсолютно одноцветных объектов, так что градиенты более естественны для человеческого глаза, чем резкие переходы цветов.

     
     
  • 5.17, nib (?), 14:44, 06/08/2015 [^] [ответить]    [к модератору]  
  • –2 +/
    у меня чашка белая без градиента на столе стоит..:(
     
     
  • 6.19, Sluggard (ok), 14:49, 06/08/2015 [^] [ответить]    [к модератору]  
  • –1 +/
    > у меня чашка белая без градиента на столе стоит..:(

    О меня оранжевая, с чёрными котами по бокам. Но тоже без градиентов. )

     
  • 6.20, АнонимХ (??), 16:14, 06/08/2015 [^] [ответить]    [к модератору]  
  • +5 +/
    А то, что она неравномерно освещена, есть блики и рефлексы, не смущает?
     
  • 6.23, Nicknnn (ok), 18:20, 06/08/2015 [^] [ответить]    [к модератору]  
  • +/
    На ней есть градиент яркости от падающего на неё света.
     
  • 6.31, Матро33кин (?), 22:02, 06/08/2015 [^] [ответить]    [к модератору]  
  • +1 +/
    > у меня чашка белая без градиента на столе стоит..:(

    А след месячной заварки - всё равно градиентик! :))

     
  • 5.18, Sluggard (ok), 14:49, 06/08/2015 [^] [ответить]    [к модератору]  
  • +/
    > Внезапно, в окружающем мире практически нет абсолютно одноцветных объектов, так что градиенты
    > более естественны для человеческого глаза, чем резкие переходы цветов.

    Внезапно, в окружающем мире три измерения, а не два, например. Что предлагаешь?!

    Мне как-то не особо нужны градиенты на панелях, декорациях окон, и других элементах интерфейса вне окна. Там нет никаких деталей, ничего существенного или важного, никакой красоты и разнообразия, чтоб это разглядывать. И вообще, такие вещи не должны акцентировать на себе внимание и отвлекать. Оно как бы не прям так сильно отвлекает, но без градиентов мне лучше, чем с ними.

    Само собой это — моё личное мнение и вкусовщина.

     
  • 5.21, Аноним (-), 17:03, 06/08/2015 [^] [ответить]    [к модератору]  
  • +/
    А, вот откуда пошли размытые, темно серые шрифты на светло-сером фоне. Понятно! :)
    > градиенты более естественны для человеческого глаза

    Но почему-то печатать принято (обычно) черным по белому ;)

     
     
  • 6.27, Аноним (-), 20:34, 06/08/2015 [^] [ответить]     [к модератору]  
  • +/
    Исторически сложившаяся практика, привет от времён lowtech Бумага, пергамент, п... весь текст скрыт [показать]
     
     
  • 7.30, Аноним (-), 21:04, 06/08/2015 [^] [ответить]    [к модератору]  
  • +/
    > Исторически сложившаяся практика, привет от времён lowtech.

    Угу, и прежило времена "всеобщей оптимизации и эргономизации".  Тут все на "привычку"  уж точно не спишешь.

     
     
  • 8.33, Аноним (-), 02:04, 07/08/2015 [^] [ответить]     [к модератору]  
  • +1 +/
    Зато на инертность мышления - запросто Это ж не просто додуматься надо, чтобы с... весь текст скрыт [показать]
     
  • 5.22, Аноним (-), 17:09, 06/08/2015 [^] [ответить]     [к модератору]  
  • +1 +/
    Чтобы показать, какой я из себя эстет, включаю при уходе заставку с квадратом Ма... весь текст скрыт [показать]
     
     
  • 6.28, Аноним (-), 20:35, 06/08/2015 [^] [ответить]     [к модератору]  
  • +/
    Чтобы показать какой ты эстет ставь при уходе Сурикова Утро стрелецкой казни ... весь текст скрыт [показать]
     
     
  • 7.29, Аноним (-), 21:00, 06/08/2015 [^] [ответить]     [к модератору]  
  • +/
    А че там ЭДАКОГО Я вон смотрю, он не осилил даже свою фотку при нормальном осве... весь текст скрыт [показать]
     
  • 1.6, Аноним (-), 04:17, 06/08/2015 [ответить] [показать ветку] [···]    [к модератору]  
  • +3 +/
    Когда же они зафиксят хотя бы одну версию либ и произведут стабилизацию кода...
     
  • 1.14, Аноним (-), 13:40, 06/08/2015 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Оно такое же мыло как на скриншотах из сайта?
     
  • 1.25, Аноним (-), 19:51, 06/08/2015 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    C опенбокса перескакивать рановато ?Кто в теме ? А то у них такая стабилизация что уж лучше в МС сидеть потихому ;)
     
     
  • 2.32, Crazy Alex (ok), 23:15, 06/08/2015 [^] [ответить]    [к модератору]  
  • +/
    А зачем с него перескакивать?
     

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


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