Po roku prac ukazała się wersja środowiska użytkownika Enlightenment 0.27, które bazuje na zbiorze bibliotek EFL (Enlightenment Foundation Library) oraz widżetach Elementary. Wydanie jest dostępne w postaci kodu źródłowego, bez publikacji gotowych kompilacji. Lista zmian dla wydania 0.27 nie została przygotowana, dostępny jest jedynie wykaz commitów, w którym głównie wymienione są poprawki błędów oraz drobne ulepszenia w widżetach.
Biurko w Enlightenment tworzą takie komponenty, jak menedżer plików, zbiór widżetów, panel uruchamiania aplikacji oraz graficzne konfiguratory. Graficzne konfigurowanie zapewnia zarówno wysokopoziomowe środki dostosowania (zmiana wyglądu, konfigurowanie wirtualnych pulpitów, zarządzanie czcionkami, rozdzielczością ekranu, układem klawiatury, lokalizacją itp.), jak i niskopoziomowe możliwości tuningowe (na przykład można dostosować parametry buforowania, przyspieszenia graficznego, zużycia energii, zmienić logikę działania menedżera okien).
Aby rozszerzyć funkcjonalność, zaleca się korzystanie z modułów (gadżetów), a dla przekształcenia wyglądu — z motywów. Dostępne są moduły do wyświetlania kalendarza-planera, prognozy pogody, danych monitorujących, regulatora głośności, widżetu do oceny naładowania akumulatora na pulpicie. Składniki Enlightenment nie są sztywno przypisane do siebie i mogą być używane w innych projektach lub do tworzenia specjalizowanych środowisk, takich jak powłoki dla urządzeń mobilnych.
Wśród obowiązkowych zależności wymienione są EFL, libexif oraz libpam (tylko w Linux). Wśród zalecanych zależności, koniecznych do pełnej funkcjonalności: connman do konfiguracji sieci; bluez5 do obsługi Bluetooth; bc do wbudowanego kalkulatora; pulseaudio do zarządzania urządzeniami dźwiękowymi; acpid do obsługi różnych zdarzeń sprzętowych; packagekit do śledzenia aktualizacji systemowych; udisks2 do montowania zewnętrznych dysków; ddcutil do zarządzania podświetleniem ekranu; gdb do śledzenia awaryjnych zakończeń.

Równocześnie projekt Enlightenment opublikował zestaw bibliotek EFL 1.28 (Enlightenment Foundation Library), które pozwalają na tworzenie wizualnie atrakcyjnych interfejsów graficznych, charakteryzujących się kompaktowością, niskim zużyciem zasobów i wysoką wydajnością. Mimo początkowego rozwoju jako baza dla środowiska Enlightenment, komponenty EFL są często wykorzystywane do budowy interfejsów w elektronice użytkowej i urządzeniach mobilnych. Na przykład EFL jest częścią mobilnej platformy Tizen, używają jej urządzenia gospodarstwa domowego Electrolux, produkty Samsung, ProFUSION, Free.fr oraz Calaos.
Skład EFL:
- Eina — biblioteka implementująca typy danych (tablica, mapa, lista, drzewo) oraz narzędzia pomocnicze (praca z logami, ocena wydajności, konwersja formatów itp.).
- Eet — biblioteka do zapisywania dowolnego zestawu bloków danych do pliku w celu szybkiego odczytu w dowolnej kolejności.
- Evas — system renderowania do organizacji wyjścia na ekran. Evas operuje zawartością ekranu jako sceną z obiektami, których stan można śledzić. Na scenie można wykonywać operacje takie jak skalowanie, obracanie i transformacje 3D. Takie podejście, abstrahujące umiejscowienie elementów ekranowych, pozwala projektować interfejs użytkownika z perspektywy projektanta, a nie programisty (w kodzie wystarczy określić tylko logikę i nie martwić się o rysowanie i wyjście na ekran). Evas również abstrahuje metodę wyjścia, co pozwala używać tego samego kodu w połączeniu z renderowaniem programowym i sprzętowym.
- Ecore — biblioteka do organizacji cyklu obsługi zdarzeń, oferująca zestaw modułów do uproszczenia zadań związanych z obsługą zdarzeń, takich jak praca z Evas, wątkami, połączeniami sieciowymi itp.
- Embryo — biblioteka do pisania niewielkich aplikacji kompilowanych dla urządzeń wbudowanych.
- Edje — biblioteka graficzna, oddzielająca wygląd od kodu (projektowanie jest określane w postaci szablonu ładowanego z pliku). Edje zajmuje miejsce między HTML+CSS a SVG. Dzięki tej bibliotece można stworzyć interfejs użytkownika, wyposażony w animowane efekty wizualne i wspierający dynamiczne formatowanie (wygląd można całkowicie zmienić, wystarczy zmienić szablon EDJ i nie ruszać kodu, przy tym, w przeciwieństwie do wizualnych motywów, kolejność rozmieszczenia elementów może być dowolnie zmieniana).
- Efreet — biblioteka, która umożliwia wykorzystanie w aplikacjach specyfikacji Freedesktop.org do pracy z ikonami, plikami Desktop i menu.
- Eeze — biblioteka do organizacji interakcji z zewnętrznymi urządzeniami poprzez udev, HAL i inne mechanizmy.
- Expedite — narzędzie do pomiaru wydajności, które może testować różne silniki Evas, takie jak X11, XRender, OpenGL, SDL i DirectFB.
- Evil — implementacja warstwy zgodności do pracy na platformie Windows.
- Eio — abstrakcyjny interfejs do dostępu do systemu plików i realizacji asynchronicznego wejścia/wyjścia.
- Emotion — biblioteka do integracji w aplikacjach odtwarzaczy dźwięku i wideo. Odtwarzanie wideo może być realizowane przy użyciu Gstreamer, Xine lub innych zewnętrznych wtyczek (np. VLC), przy czym wideo jest wyświetlane jako standardowy obiekt w Evas.
- Ethumb — biblioteka do tworzenia miniatur obrazów, zgodnych ze standardami freedesktop.org. Ethumb jest realizowany jako usługa dbus i biblioteka kliencka, współpracująca z tą usługą.
- Elementary — zestaw widżetów z gotową realizacją różnorodnych elementów graficznych (od przycisków i elementów sterujących, po kalendarze i moduły edycji tekstu).
- Eldbus — nadbudowa nad DBus.
- Ephysics — zapewnia środki do wykorzystania silnika symulacji procesów fizycznych Bullet w aplikacjach opartych na EFL. Ephysics łączy Bullet z bibliotekami Ecore i Evas.
- Ecore Audio — API do pracy z dźwiękiem.
Źródło: opennet.ru
