Интервью с главным разработчиком Enlightenment E17

В преддверии первого стабильного релиза пользовательской оболочки Enlightenment E17, который планируется представить на следующей неделе на конференции Linuxcon Europe, опубликовано интервью с Карстеном Хайтцлером (Carsten "Rasterman" Haitzler), основателем и лидером проекта Enlightenment.

Некоторые интересные моменты из интервью:

  • Аудитория, на которую в первую очередь рассчитан E17, - это более-менее опытный пользователь Linux, который достиг пределов того, что он знает, и которого интересует что-то новое и нестандартное. Мы стараемся поддержать и менее опытных пользователей, там где можем, например, мастер первого запуска E17 является несложной и понятной программой, помогающей настроить рабочее окружение E17, но нехватка ресурсов не даёт добиться совершенства, так что кое-где могут быть и провалы. Также мы стараемся, чтобы все настройки были доступны в графическом режиме, и фактически каждое значение настройки E17 воплощено в GUI, что значительно снижает "порог вхождения" для пользователей.
  • Когда начинался проект E, единственным десктопом в Linux был CDE, KDE 1.0 тогда даже ещё не вышел. KDE был основан почти в то же время, что началась разработка Enlightenment, просто мы не прилагали усилий для его анонсирования или маркетингового продвижения. В общем, тогда существовали CDE, TWM, FVWM, OLVWM, CTWM и так далее. Оконные менеджеры были вполне минималистичными и в целом мало что ещё делали, кроме предоставления простого способа для запуска приложений (через меню или, в основном, посредством сочетания клавиш), и затем предлагали несколько рабочих столов, рамки окон и управление окнами.

    CDE на тот момент был монстром, предлагающим и файловый менеджер, и панель для запуска приложений и показа их статуса и т.д. Сегодня почти ни один из этих оконных менеджеров не используется, да и выжили лишь несколько. Сегодня у нас есть GNOME, KDE, Xfce, Unity, LXDE, Razor-qt, Enlightenment и ещё несколько (если считать MATE и Trinity) Список широко используемых десктоп/оконных менеджеров сегодня гораздо короче, но они делают гораздо больше, невероятно больше, чем в те времена, когда начинался Enlightenment. Сегодня Enlightenment предлагает почти всё то же самое, что предлагают GNOME и KDE, и, возможно, всё, что предлагает Xfce, даже может чуть больше.

    Единственное, в его составе нет приложений, мы предлагаем только функциональность десктопа (менеджер окон, настройки, файловый менеджер, запуск и управление приложениями) без приложений. В будущем мы расширим наше портфолио приложений, но по своей сути E предлагает даже больше, чем технически подкованный пользователь может мечтать. Кроме того, E17 с настроенными функциями занимает крайне немного места в памяти, потребляет мало ресурсов CPU и места на диске. Если пользователю нужно, чтобы десктоп съедал мало ресурсов, оставляя основное их потребление на долю приложений, то E17 - это почти идеал в этом отношении.

  • В отличие от GNOME, например, E17 даёт пользователю множество настроек в одном графическом флаконе, также мы предлагаем немыслимое количество настраиваемых функций посредством тем оформления. E17 поддерживает стандарты freedesktop.org и располагает вполне традиционным UNIX/X11-стилем с сеткой виртуальных рабочих столов, пейджером, привязкой к настраиваемым сочетаниям клавиш и многим ещё. В E17 себя будут чувствовать удобно все пользователи, привыкшие к такой раскладке. Есть также компоновщик, который автоматически отключается при переходе в полноэкранный режим, как в KDE.
  • Самое прекрасное в E17 то, что он приносит на рабочий стол универсальную композитную прозрачность. Это означает, что использовать прозрачность можно без GPU-ускорения, и использовать себе в удовольствие. Мы не зависим от программных реализаций OpenGL. У нас есть программный движок, настолько быстрый, что некоторые разработчики провели на нём недели, случайно его включив, не догадываясь о включённом в настройках композитном режиме. E17 автоматически включает программный композитный режим, если OpenGL-ускорение не работает. Он настолько быстр, что работает на старом Pentium-M 600 Mhz с нулевой поддержкой ускоренного рендеринга и на встроенных ARM-системах с высоким разрешением. Этот движок называется Evas и доступен для всех, потому, что это просто библиотека.
  • Некоторые из разработчиков E17 работают в Samsung, помогают компании использовать E и EFL для их продуктов и проектов, например Tizen. Samsung использует E и EFL потому что это отвечает требованиям для создания "чистых" устройств: телефонов, телевизоров и т.д. Будучи нетребовательным к ресурсам и гибким, Enlightenment используется в итоге компанией Samsung, потому что ничего другого лучше не подходит по функциональности, экономности и производительности.
  • E17 - это испытательный полигон для библиотек EFL, а теперь к нему присоединился также и проект Tizen, использующий EFL для своих нативных графических приложений, и получает в этой области превосходные результаты.
  • Причины, стоящие за решением разбить функциональность менеджера окон на библиотеки EFL: они были разбиты для того,чтобы сделать их разделёнными, а не для того, чтобы запрятать их куда подальше. На самом деле, они никогда не были частью E17, они были написаны как самостоятельные библиотеки с самого начала, чтобы сделать нашу работу доступной для всех. Библиотеки лицензированы под открытыми лицензиями (сочетание LGPL и BSD), давая возможность без помех надстроить над ними всё, что хочется. В итоге, после вынесения библиотек наружу, мы даже создали целый инструментарий GUI-виджетов, и они также используется некоторыми приложениями.
  • Мы все используем E17 и EFL в нашей повседневной работе, и поэтому найденные ошибки в коде исправляются быстро, поскольку разработчики сами страдают от этих же ошибок. Скорость исправления ошибок фактически сделала trunk-ветку одной из самых стабильных, если посмотреть на неё с любой стороны. Она является повседневной рабочей версией для многих людей, поэтому если вы нашли ошибку, то это скорей всего последствия каких-то неординарных настроек, превышающих предельно допустимые параметры, или же проблема на стороне пользователя.
  • В последнее время проект занимается совершенствованием базовых библиотек, мы добавляли функциональность, оптимизировали код, исправляли ошибки. Также были добавлены и новые библиотеки. Мы также улучшали базовую объектную инфраструктуру и начали сливать библиотеки в единое дерево исходных кодов для совершенствования сборочного процесса. Мы постарались исправить разные вспомогательные детали E17, поправить большое количество ошибок и завершить недоделанные функции. Мы были очень заняты. С начала этого года мы сделали 11 тысяч коммитов, выпустили 16 библиотек и инструментов в составе двух значительных релизов (1.2 и 1.7), а также выпустили несколько корректирующих релизов этих библиотек.
  • Наш публичный список планов доступен уже довольно давно. Релиз будет тогда, когда список будет завершён (осталось совсем немного на самом деле), и качество кода достигнет должного уровня. Под качеством мы понимаем отсутствие серьёзных воспроизводимых ошибок, пригодность к использованию функциональности и простота и доступность методов работы с оконным менеджером.

Полный текст статьи читайте на OpenNet