LINUX.ORG.RU

EFL 1.7

 ,


1

2

Представлен стабильный релиз набора библиотек EFL (Enlightenment Foundation Library) версии 1.7, компоненты которого составляют основу проекта Enlightenment 17.

Библиотеки EFL позволяют создавать визуально привлекательные графические интерфейсы, отличающиеся компактностью, низким потреблением ресурсов и высокой производительностью. Кроме того, EFL написан на языке C и легко портируется на новые аппаратные платформы. Данные качества делают EFL привлекательным решением для построения интерфейсов потребительской электроники и мобильных устройств. Например, системы на базе EFL уже используются в холодильниках Electrolux, промышленных принтерах компании Intermec, телефонах Samsung, продуктах компаний ProFUSION, Free.fr и Calaos. Кроме того, EFL является основой для GUI в мобильной платформе Tizen.

В этом релизе была произведена синхронизация номеров версий, поэтому все компоненты EFL имееют версию 1.7. В дальнейшем код всех компонентов будет объединён в одну кодовую базу.

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

  • Eina — библиотека с реализацией различных типов данных (массив, хеш, список, дерево) и полезных инструментов (работа с логами, оценка производительности, преобразование форматов и т.д.).
    В новой версии произошли следующие изменения:
    • Добавлена поддержка обратной трассировки в Eina_Log.
    • Добавлена вспомогательная функция для итерации по строкам для отображённого файла.
    • Исправлена проблема с округлением в eina_f32p32_{sin,cos}.
    • Исправлено несколько проблем с портируемостью библиотеки.
  • Eet — библиотека, позволяющая записать любой набор блоков данных в файл и затем осуществить их быстрое произвольное чтение.
    В новой версии произошли следующие изменения:
    • Добавлено обнаружение выхода за границы при установке Eet Data Descriptor.
    • eet_dictionary стал потокобезопасным.
    • Другие незначительные исправления ошибок и устранения утечек памяти.
  • Evas — система рендеринга для организации вывода на экран. Evas оперирует содержимым экрана как сценой, на которой размещаются определенные объекты, состояние которых в будущем отслеживается. Подобный подход, абстрагированный от размещения экранных элементов, позволяет разрабатывать интерфейс пользователя с точки зрения дизайнера, а не программиста (в коде достаточно определить только логику и не думать о прорисовке и выводе на экран). Evas также абстрагирует метод вывода, что позволяет использовать один и тот же код в сочетании как с программным рендерингом, так и с OpenGL. При этом, над сценой можно проделывать такие операции, как: масштабирование, вращение и 3D-преобразование. Evas обеспечивает замечательную производительность даже при использовании программных методов рендеринга, без задействования аппаратной акселерации вывода.
    В новой версии произошли следующие изменения:
    • Добавлен объект Textgrid.
    • Добавлен тип Evas_Smart_Interface, предоставляющий простые интерфейсы к умным объектам.
    • Отрисовка шрифтов теперь делается без блокировок.
    • Добавлено кеширование при преобразованиях из Evas_Map в RGBA_Map.
    • Множество других оптимизаций.
    • Добавлена отрисовка svg через Esvg (раньше это делалось через более медленный rsvg).
    • Множество различных исправлений ошибок.
  • Evas Generic Loaders — набор модулей для Evas, реализующих загрузку дополнительных форматов файлов, среди которых: xcf, ps, pdf, raw и мультимедийные форматы (через gstreamer).
    В новой версии произошли следующие изменения:
    • Сюда из Evas перемёщен модуль для отрисовки svg, работающий через rsvg.
    • Добавлена поддержка poppler-0.20.
  • Ecore — библиотека для организации цикла обработки событий, имеющая в своём арсенале набор модулей для упрощения связанных с обработкой событий задач, таких, как: работа с X, Evas, потоками, сетевыми соединениями и т.д.
    В новой версии произошли следующие изменения:
    • Новые функции в ecore: ecore_main_fd_handler_file_add() и ecore_fork_reset().
    • В ecore_evas добавлены функции для установки и получения профилей Ecore_Evas.
    • В ecore_x добавлены функции для установки и получения профилей окон Ecore_X.
    • В ecore_con добавлены ECORE_{CON,IPC}_NO_PROXY для отключения прокси для некоторых соединений.
    • Новый, более быстрый dns-бэкенд в ecore_con.
    • Добавлен новый immodule для поддержки ibus.
    • Множество исправлений ошибок.
  • Embryo — библиотека для написания небольших компилируемых приложений для встраиваемых устройств.
  • Edje — графическая библиотека, отделяющая внешний вид от кода (оформление задается в виде загружаемого из файла шаблона). По своей сути Edje занимает нишу где-то между HTML+CSS и Flash/PSD/SVG. При помощи данной библиотеки можно сформировать насыщенный пользовательский интерфейс, снабженный анимированными визуальными эффектами и поддерживающий динамическое оформление (внешний вид можно полностью поменять, просто сменив EDJ-шаблон и не трогая код; при этом, в отличие от визуальных тем, порядок расположения элементов может быть произвольно изменён).
    В новой версии произошли следующие изменения:
    • Добавлен edje_watch, отслеживающий изменения в edje-файлах.
    • edje_player автоматически перечитывает файл, если он изменился на диске.
    • Добавлен элемент SPACER, как более быстрый аналог невидимых RECT.
    • Компилятор теперь выдаёт ошибку при клиппировании не к элементу RECT.
    • Выделение памяти для Evas_Map осуществляется за один раз.
    • edje_cc стал быстрее за счёт улучшения парсера, отображения файлов в память и использования потоков.
    • Ускорен поиск color_class за счёт задействования хеширования.
    • Различные исправления ошибок и утечек памяти.
  • Efreet — библиотека, упрощающая использование спецификаций freedesktop.org по работе с пиктограммами, desktop-файлами и меню.
    В новой версии произошли следующие изменения:
    • Ускорена загрузка mime-типов.
    • Добавлена поддержка XDG_DESKTOP_DIR.
  • E_Dbus — надстройка над DBus API, позволяющая использовать его в EFL-приложениях и интегрировать в основной цикл обработки событий Ecore/main.
    В новой версии произошли следующие изменения:
    • Увеличено количество проверок переданных значений на NULL.
    • Исправлена поддержка свойств.
    • Другие исправления ошибок.
  • Eeze — библиотека для организации взаимодействия с внешними устройствами через udev, hal и другие механизмы.
    В новой версии произошли следующие изменения:
    • Добавлена поддержка джойстиков.
    • Обеспечена поддержка систем без mtab.
  • Emotion — библиотека для проигрывания видео и аудио с помощью Gstreamer, Xine или других внешних плагинов (VLC), а также для отображения видео в Evas как стандартного объекта.
    В новой версии произошли следующие изменения:
    • В плеер добавлена поддержка обратного вызова «playback_started».
    • Добавлена синхронизация отрисовки с Ecore_Animator.
    • Другие улучшения и исправления ошибок.
  • Eio — библиотека для поддержки асинхронного API для ввода/вывода.
    В новой версии:
    • Исправлено несколько ошибок и устранены утечки памяти.
  • Ethumb — это библиотека для генерации миниатюр. Ethumb реализован как сервис dbus и клиентская библиотека, работающая с этим сервисом.
  • Elementary — это набор виджетов, построенных на основе остальных компонент EFL, предоставляющий набор стандартных виджетов со стандартным поведением для облегчения создания GUI-приложений.
    В новой версии произошли следующие изменения:
    • Добавлена возможность перемещения фокуса в любом направлении с помощью elm_widget_focus_go().
    • Тема виджетов автоматически перечитывается при изменении на диске.
    • Добавлены множество новых API-функций.
    • К виджетам с индикатором выполнения добавлен сигнал «changed».
    • Выделение памяти для Evas_Map осуществляется один раз.
    • За счёт интеграции с Eio в некоторые виджетах реализована «ленивое» обновление содержимого.
    • Множество других исправлений и улучшений.

Также доступен свежий снапшот для Enlightenment.

На основе EFL 1.7 будет выпущена первая стабильная версия Enlightenment 17. Разработчики планируют выпустить её до конфереции EFL Developer Day, которая состоится в Барселоне 5го ноября.

Сайт проекта Enlightenment

>>> Подробности

★★★

Проверено: JB ()
Последнее исправление: JB (всего исправлений: 2)

Ответ на: комментарий от feofil

Что в OS X уже 10 лет? Примеры.

То, о чём речь. Рендеринг GUI преимущественно на видеокарте.

Тот же compositing на Mac OS X делается через Quartz Compositor. Его версия, что делает это при помощи видеокарты называется Quartz Extreme и была выпущена с Mac OS X 10.2 где-то в 2002м году.

Отрисовка геометрических фигур, на которых строится элементы их GUI делается через Quartz 2D (что-то типа Cairo). И он рендерит в том числе через OpenGL. Эта штука тогда называется QuartzGL и появилась она в 2005м. Правда пока что она по-умолчанию выключена, но включить можно.

А ещё похоже я нашёл как называется та видеокарта, которой уже много годиков, и что рендерила PostScript (на котором у NeXT был весь его GUI):

http://en.wikipedia.org/wiki/NeXTdimension

Дату выпуска что-то не вижу, но полагаю это было где-то в районе 1992-1994.

rtvd ★★★★★
()
Ответ на: комментарий от rtvd

Опровержение по первому пункту будет? :)

Того, что по сравнению с OS X все остальные GUI стали смотреться «как минимум тупо»? Или того, что ябловский GUI смотрелся «не тупо» из-за «красивостей на видеокарте»?

По второму - см. тут

http://en.wikipedia.org/wiki/NeXTdimension

NeXTStep умел работать на вполне обычных компьютерах, так что от Postscript-ускорителя не зависел. И реализация интерпретатора Postscript на отдельном устройстве - это не изобретение NeXT, с тем же успехом можно сказать, что «ноги растут» из первого Postscript-принтера.

http://en.wikipedia.org/wiki/NeXTcube

А где здесь указано, что он комплектовался NeXTdimension?

tailgunner ★★★★★
()

у меня смена раскладок заработала - гентушный overlay

правда пока работают только левые клавиши, но наверно потихоньку всё допилят, недавно и так не работало

а впечатления от е17 только положительные

argin ★★★★★
()
Ответ на: комментарий от tailgunner

Того, что по сравнению с OS X все остальные GUI стали смотреться «как минимум тупо»? Или того, что ябловский GUI смотрелся «не тупо» из-за «красивостей на видеокарте»?

Я имею в виду, что другие GUI выглядили недоразвитыми т.к. вместо использования видеокарты, архаично продолжали грузить центральный процессор всякой ерундой. Красивости тут - дело десятое.

NeXTStep умел работать на вполне обычных компьютерах, так что от Postscript-ускорителя не зависел.

Мог успорять, мог и не скорять. И что? Это как-то умаляет его достоинства? Если да, то Леонардо Да-Винчи был паршивым художником, так как он мог писать картины а мог и не писать.

И реализация интерпретатора Postscript на отдельном устройстве - это не изобретение NeXT, с тем же успехом можно сказать, что «ноги растут» из первого Postscript-принтера.

Речь идёт не об интерпретации Postscript на отдельном устройстве, а о рендеринге этого Postscript и всех элементов его GUI конкретно в видеобуфер. Это задача намного сложнее чем рендерить на принтер, хотя бы из за соображений realtime вывода.

А где здесь указано, что он комплектовался NeXTdimension?

Он и не комплектовался. Но NeXTdimension можно было в него впихнуть. См. мой комментарий выше. Прелесть GUI в NeXT была в том, что при наличии соответствующего железа GUI рендерился на нём а не на процессоре. Это понятно?

P.S. В те суровые времена обычная видеокарта как правило была примитивной железякой, что просто отображает содержимое фреймбуфера. Ускорение даже рисования обычного прямоугольника было суперфичей. Очевидно, что ожидать рендеринга GUI на таком железе было бы странно. Но NeXTdimension был чуток другим зверем. :) Он был более похож на современные видеокарты, т.к. сам мог много чего делать. И на нём даже своя микро-OS была.

rtvd ★★★★★
()
Ответ на: комментарий от rtvd

Я имею в виду, что другие GUI выглядили недоразвитыми

А по-моему, ты хотел сказать: «Ябл первым начал использовать в гуях красивости, которые хорошо ускорялись уже имеющимся на тот момент видеокартами».

вместо использования видеокарты, архаично продолжали грузить центральный процессор всякой ерундой.

Помню восхищенные вздохи на ЛОР: «оно даже на VESA работает!!11». Т.е. грузить процессор при нужде они не стеснялись.

Речь идёт не об интерпретации Postscript на отдельном устройстве, а о рендеринге этого Postscript и всех элементов его GUI конкретно в видеобуфер.

Сделано в NeWS.

Это задача намного сложнее чем рендерить на принтер, хотя бы из за соображений realtime вывода.

Проц помощнее, и задача решена.

Прелесть GUI в NeXT была в том, что при наличии соответствующего железа GUI рендерился на нём а не на процессоре. Это понятно?

Идея того, что при наличии аппаратной поддержки $SOME_OPERATION используется эта аппаратная поддержка, а при отсуствии - чисто программная реализация на ЦП, принадлежит не Яблу и даже не NeXT. Это понятно? NeXT скомбинировал идею использовать Postscript для оконной системы (реализованную в NeWS) и аппаратный акселератор Postscript (изначально сделанный Adobe).

Он был более похож на современные видеокарты, т.к. сам мог много чего делать.

Больше всего он был похож на Postcript-принтер. С современными видеокартами - вообще ничего общего.

И на нём даже своя микро-OS была.

Характерная черта принтера, но не видеокарты.

tailgunner ★★★★★
()

EFL интересен тем, что очень нетребователен к ресурасам. И при этом современно выглядит. Но Enlightenment 17 пилят так долго, что надежда увидеть его стабильным и не падучим почти у всех давно пропала. Надеюсь, его всё-таки допилят в обозримом будущем.

lucentcode ★★★★★
()
Ответ на: комментарий от rtvd

IMHO по большому счёту у нас с тобой существенных разногласий нет. :)

Кхм. Ты тоже считаешь, что современные GUI, которые умеют аппаратно ускоряться за счет GPU, принципиально не отличаются от Xerox Star с аппаратно ускоренным блитом? :)

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Не так.

Ты можешь считать NeXTdimension эдаким принтером, но поскольку он явно выводит видео а не печатает на бумаге то я намерен его принтером не называть.

К тому же слово «принтер» можно по-разному интерпретировать.

А поскольку дискуссия уходит в мутную зону того, что считать ускорением а что не считать, при том что бинарной градации в этом вопросе нет, то спор считаю непродуктивным и бесполезным.

rtvd ★★★★★
()
Ответ на: комментарий от Dragon59

Может я чего не понимаю, но зачем на встраиваемых системах (которые являются основной нишей E17) все эти свистоперделки?

/0

E17 не имеет никакого отношения к встраиваемым системам, т.к. там там не нужны ни DE, ни WM. А своем приложении ты можешь как использовать, так и не использовать имеющиеся свистелки.

annulen ★★★★★
()
Ответ на: комментарий от feofil

GUI через видеокарты, как сами такие видеокарты - такая мода появилась совсем недавно.

Ага, на писи где-то с середины 90-ых.

LamerOk ★★★★★
()
Ответ на: комментарий от LamerOk

Ага, на писи где-то с середины 90-ых.

Мода - это когда все хотят именно это.

feofil
()
Ответ на: комментарий от annulen

E17 не имеет никакого отношения к встраиваемым системам

Например, системы на базе EFL уже используются в холодильниках Electrolux, промышленных принтерах компании Intermec, телефонах Samsung, продуктах компаний ProFUSION, Free.fr и Calaos. Кроме того, EFL является основой для GUI в мобильной платформе Tizen.

Или там свой гуй на EFL? Если так, то прошу прощения. И E17 тогда уж точно не нужен.

Dragon59 ★★
()
Ответ на: комментарий от Dragon59

Естественно, свой.

Ср. KDE vs Qt, KDE никакой здравомыслящий ембеддер не возьмет, а Qt вполне себе живет.

И E17 тогда уж точно не нужен.

Демонстрация возможностей же. Кстати, новость про EFL, не понимаю, почему тут все обсуждают E17.

annulen ★★★★★
()
Ответ на: комментарий от lucentcode

У него падают только встроенные проги, как wm он уже давно вполне надежен

Serg5Markov
()
Ответ на: комментарий от AVL2

У меня сейчас переключение раскладки с помощью setxkbmap. Возможно, уже есть более прямые способы.

а чем обычные опции в xorg.conf не работают? У меня в энлайте с этим проблем не было.

Не знаю, мне лень было :) Добавил setxkbd в автозагрузку.

VeroLom ★★
()
Ответ на: комментарий от AVL2

Не знаю. Я кроме энлайта нигде не встречал, чтобы alt-f4 не работал, как закрытие окна. Даже в авесаме имхо этого не поломали (или я в самом начале поправил конфиг?).

Хоткеи настраивать пробовал?

Может быть и в енлайте в принципе невозможно заюзать альт-ф4 для закрытия окна - не знаю, мне Win+W удобнее

VeroLom ★★
()
Ответ на: комментарий от lucentcode

EFL интересен тем, что очень нетребователен к ресурасам. И при этом современно выглядит. Но Enlightenment 17 пилят так долго, что надежда увидеть его стабильным и не падучим почти у всех давно пропала. Надеюсь, его всё-таки допилят в обозримом будущем.

Давно уже допилили до живучего состояния. Почти год на работе стоит - не жалуюсь.

VeroLom ★★
()
Ответ на: комментарий от lucentcode

Сейчас ситуация намного лучше. Не идеал, но работает довольно стабильно. Опять же, я почти год на энлайте, на гном (не говоря уже про кеды) смотреть не могу :)

VeroLom ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.