Enlightenment Foundation Libraries, EFL (бібліотеки фундації Enlightenment) — набір програмних бібліотек, компоненти якого складають основу проекту Enlightenment. Бібліотеки EFL дозволяють створювати візуально привабливі графічні інтерфейси, що відзначаються компактністю, низьким споживанням ресурсів і високою продуктивністю. Ці якості роблять EFL привабливим рішенням для побудови інтерфейсів споживчої електроніки і мобільних пристроїв. Наприклад, системи на базі EFL вже використовуються в побутовій техніці Electrolux та телефонах Samsung, EFL є складовою частиною мобільної платформи Tizen.
Тип | графічна бібліотека |
---|---|
Стабільний випуск | 1.15 (4 серпня, 2015 ) |
Платформа | Linux, macOS[1], FreeBSD[2] і Windows[3] |
Операційна система | Unix-подібні |
Мова програмування | C |
Стан розробки | активний |
Ліцензія | ліцензія BSD |
Репозиторій | git.enlightenment.org/core/efl.git/ |
Вебсайт | enlightenment.org |
Компоненти
Випуск EFL 1.8 (грудень 2013) примітний відходом від практики розрізненої поставки компонентів EFL у формі набору окремо поставляються архівів бібліотек: бібліотеки Ecore, Edje, Eet, Eeze, Efreet, Eina, Eio, Embryo, Emotion, Ethumb, Evas і Evil об'єднані в одне дерево сирцевих текстів і доступні для завантаження в одному архіві. В окремі архіви винесені тільки віджети Elementary, набір Emotion Generic Players з реалізацією базових компонентів для програвання медіаконтенту і колекція модулів Evas Generic Loaders, що дозволяють організувати завантаження форматів svg, , pdf, ps, ppt, doc, docx, xls, avi, , wmv тощо. Модулі зі складу Emotion Generic Players і Evas Generic Loaders виконані у формі відособлених процесів, що взаємодіють з базовою програмою через спільну пам'ять і неіменовані канали, що дозволяє забезпечити продовження роботи програми на базі EFL навіть у разі краху обробника медіаконтенту.
Характеристики основних компонентів 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-файлами і меню.
- E_Dbus - надбудова над D-Bus API, що дозволяє використовувати його в EFL-застосунках і інтегрувати в основний цикл обробки подій Ecore/main.
- Eeze - бібліотека для організації взаємодії з зовнішніми пристроями через udev, HAL і інші механізми.
- Expedite - інструментарій для вимірювання продуктивності, який може тестувати різні рушії Evas, такі як X11, , OpenGL, SDL і DirectFB. Методика тестування максимально наближена до реальних умов.
- Eio - абстрактний інтерфейс для доступу до файлової системи і реалізації асинхронного вводу/виводу;
- Emotion - бібліотека для інтеграції в EFL-застосунки підтримки програвання аудіо і відео. Програвання відео може здійснюватися з використанням Gstreamer, Xine, VLC або інших зовнішніх плагінів, при цьому відео відображається як стандартний об'єкт в Evas;
- Ethumb - бібліотека для формування ескізів зображень, відповідних стандартам freedesktop.org. Ethumb реалізований у вигляді сервісу dbus і клієнтської бібліотеки, взаємодіє з даним сервісом;
- Elementary - набір віджетів з готовою реалізацією різноманітних графічних елементів (від кнопок і елементів управління, до календаря і модуля редагування тексту).
Додаткові компоненти, що розвиваються в рамках проекту Enlightenment:
- Enlightenment - віконний менеджер, на базі якого, в поєднанні з такими компонентами, як файловий менеджер, набір віджетів і робочий стіл, формується десктоп-оточення;
- Ephoto - менеджер для управління колекцією фотографій;
- Eve - web-браузер на базі рушія WebKit (використовується бібліотека EFLWebKit);
- Editje - візуальний редактор для проектування інтерфейсу користувача, що оперує файлами .edc і .edj;
- Біндінг для мов Python, JavaScript, Vala, , Perl та Ruby
- Elua — runtime на основі LuaJIT, призначений для швидкої розробки застосунків мовою Lua з використанням EFL.
Джерела
- Стабильный релиз EFL 1.13 (Enlightenment Foundation Library) [ 11 лютого 2015 у Wayback Machine.] - opennet.ru
Примітки
- OS X
- Packaging Status
- Windows
- Efl Concept Overview
Посилання
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Enlightenment Foundation Libraries EFL biblioteki fundaciyi Enlightenment nabir programnih bibliotek komponenti yakogo skladayut osnovu proektu Enlightenment Biblioteki EFL dozvolyayut stvoryuvati vizualno privablivi grafichni interfejsi sho vidznachayutsya kompaktnistyu nizkim spozhivannyam resursiv i visokoyu produktivnistyu Ci yakosti roblyat EFL privablivim rishennyam dlya pobudovi interfejsiv spozhivchoyi elektroniki i mobilnih pristroyiv Napriklad sistemi na bazi EFL vzhe vikoristovuyutsya v pobutovij tehnici Electrolux ta telefonah Samsung EFL ye skladovoyu chastinoyu mobilnoyi platformi Tizen Enlightenment Foundation LibrariesTipgrafichna bibliotekaStabilnij vipusk1 15 4 serpnya 2015 8 rokiv tomu 2015 08 04 PlatformaLinux macOS 1 FreeBSD 2 i Windows 3 Operacijna sistemaUnix podibniMova programuvannyaCStan rozrobkiaktivnijLicenziyalicenziya BSDRepozitorijgit enlightenment org core efl git Vebsajtenlightenment orgKomponentiVipusk EFL 1 8 gruden 2013 primitnij vidhodom vid praktiki rozriznenoyi postavki komponentiv EFL u formi naboru okremo postavlyayutsya arhiviv bibliotek biblioteki Ecore Edje Eet Eeze Efreet Eina Eio Embryo Emotion Ethumb Evas i Evil ob yednani v odne derevo sircevih tekstiv i dostupni dlya zavantazhennya v odnomu arhivi V okremi arhivi vineseni tilki vidzheti Elementary nabir Emotion Generic Players z realizaciyeyu bazovih komponentiv dlya progravannya mediakontentu i kolekciya moduliv Evas Generic Loaders sho dozvolyayut organizuvati zavantazhennya formativ svg pdf ps ppt doc docx xls avi wmv tosho Moduli zi skladu Emotion Generic Players i Evas Generic Loaders vikonani u formi vidosoblenih procesiv sho vzayemodiyut z bazovoyu programoyu cherez spilnu pam yat i neimenovani kanali sho dozvolyaye zabezpechiti prodovzhennya roboti programi na bazi EFL navit u razi krahu obrobnika mediakontentu Harakteristiki osnovnih komponentiv EFL Eina biblioteka z realizaciyeyu riznih tipiv danih masiv hesh spisok derevo i korisnih instrumentiv robota z logami ocinka produktivnosti peretvorennya formativ tosho Eet biblioteka dlya zapisu dovilnogo naboru blokiv danih u fajl ta yihnogo podalshogo chastogo chitannya v dovilnomu poryadku Evas sistema renderingu dlya organizaciyi vivedennya na ekran Evas operuye vmistom ekranu yak scenoyu na yakij rozmishuyutsya pevni ob yekti stan yakih v podalshomu vidstezhuyetsya Podibnij pidhid abstragovanij vid rozmishennya ekrannih elementiv dozvolyaye rozroblyati interfejs koristuvacha z tochki zoru dizajnera a ne programista v kodi dosit viznachiti tilki logiku i ne dumati pro promalovuvanni i vivedennya na ekran Evas takozh abstraguye metod vivodu sho dozvolyaye vikoristovuvati odin i toj zhe kod v poyednanni yak z programnim renderingom tak i z OpenGL Pri comu nad scenoyu mozhna proroblyati taki operaciyi yak masshtabuvannya obertannya i 3D transformaciyi Evas zabezpechuye chudovu produktivnist navit pri vikoristanni programnih metodiv vizualizaciyi bez zadiyannya aparatnoyi akseleraciyi vivedennya Ecore biblioteka dlya organizaciyi ciklu obrobki podij sho maye v svoyemu arsenali nabir moduliv dlya sproshennya pov yazanih z obrobkoyu podij zavdan takih yak robota z X Evas nitkami merezhnimi z yednannyami tosho Embryo biblioteka dlya napisannya nevelikih kompilovanih zastosunkiv dlya vbudovanih pristroyiv Edje grafichna biblioteka yaka vidokremlyuye zovnishnij viglyad vid kodu oformlennya zadayetsya u viglyadi zavantazhuyetsya z fajlu shablonu Za svoyeyu suttyu Edje zajmaye nishu des mizh HTML CSS i Flash PSD SVG Za dopomogoyu ciyeyi biblioteki mozhna sformuvati nasichenij koristuvackij interfejs zabezpechenij animovanimi vizualnimi efektami i pidtrimkoyu dinamichnogo oformlennya zovnishnij viglyad mozhna povnistyu modifikuvati prosto zminivshi EDJ shablon i ne chipayuchi kod pri comu na vidminu vid vizualnih tem poryadok roztashuvannya elementiv mozhe buti dovilno zminenij Efreet biblioteka sho dozvolyaye vikoristovuvati v zastosunkah deyaki specifikaciyi Freedesktop org po roboti z piktogramami Desktop fajlami i menyu E Dbus nadbudova nad D Bus API sho dozvolyaye vikoristovuvati jogo v EFL zastosunkah i integruvati v osnovnij cikl obrobki podij Ecore main Eeze biblioteka dlya organizaciyi vzayemodiyi z zovnishnimi pristroyami cherez udev HAL i inshi mehanizmi Expedite instrumentarij dlya vimiryuvannya produktivnosti yakij mozhe testuvati rizni rushiyi Evas taki yak X11 OpenGL SDL i DirectFB Metodika testuvannya maksimalno nablizhena do realnih umov Eio abstraktnij interfejs dlya dostupu do fajlovoyi sistemi i realizaciyi asinhronnogo vvodu vivodu Emotion biblioteka dlya integraciyi v EFL zastosunki pidtrimki progravannya audio i video Progravannya video mozhe zdijsnyuvatisya z vikoristannyam Gstreamer Xine VLC abo inshih zovnishnih plaginiv pri comu video vidobrazhayetsya yak standartnij ob yekt v Evas Ethumb biblioteka dlya formuvannya eskiziv zobrazhen vidpovidnih standartam freedesktop org Ethumb realizovanij u viglyadi servisu dbus i kliyentskoyi biblioteki vzayemodiye z danim servisom Elementary nabir vidzhetiv z gotovoyu realizaciyeyu riznomanitnih grafichnih elementiv vid knopok i elementiv upravlinnya do kalendarya i modulya redaguvannya tekstu Dodatkovi komponenti sho rozvivayutsya v ramkah proektu Enlightenment Enlightenment vikonnij menedzher na bazi yakogo v poyednanni z takimi komponentami yak fajlovij menedzher nabir vidzhetiv i robochij stil formuyetsya desktop otochennya Ephoto menedzher dlya upravlinnya kolekciyeyu fotografij Eve web brauzer na bazi rushiya WebKit vikoristovuyetsya biblioteka EFLWebKit Editje vizualnij redaktor dlya proektuvannya interfejsu koristuvacha sho operuye fajlami edc i edj Binding dlya mov Python JavaScript Vala C Perl ta Ruby Elua runtime na osnovi LuaJIT priznachenij dlya shvidkoyi rozrobki zastosunkiv movoyu Lua z vikoristannyam EFL DzherelaStabilnyj reliz EFL 1 13 Enlightenment Foundation Library 11 lyutogo 2015 u Wayback Machine opennet ruPrimitkiOS X Packaging Status Windows Efl Concept OverviewPosilannya