Dopo un anno di sviluppo è stato rilasciato l'ambiente utente Enlightenment 0.27, basato su un insieme di librerie EFL (Enlightenment Foundation Library) e sui widget Elementary. Il rilascio è disponibile nel codice sorgente senza pubblicazione di build precompilate. La lista delle modifiche per il rilascio 0.27 non è stata stilata, è disponibile solo un elenco di commit, in cui sono principalmente elencati bug fix e miglioramenti minori nei widget.
Il desktop in Enlightenment è formato da componenti come il file manager, un insieme di widget, una barra di avvio delle applicazioni e configuratori grafici. I configuratori grafici offrono sia strumenti di personalizzazione ad alto livello (modifica dell'aspetto, configurazione dei desktop virtuali, gestione dei font, risoluzione dello schermo, layout tastiera, localizzazione, ecc.), sia possibilità di tuning a basso livello (ad esempio, è possibile configurare le impostazioni di caching, accelerazione grafica, consumo energetico, modificare la logica del gestore di finestre).
Per ampliare la funzionalità si suggerisce di utilizzare moduli (widget), e per rielaborare l'aspetto — temi grafici. Sono disponibili moduli per visualizzare sul desktop un calendario pianificatore, le previsioni meteo, dati di monitoraggio, un regolatore del volume, un widget per valutare la carica della batteria. I componenti di Enlightenment non sono rigidamente vincolati tra loro e possono essere utilizzati in altri progetti o per creare ambienti specializzati, come shell per dispositivi mobili.
Le dipendenze obbligatorie sono EFL, libexif e libpam (solo su Linux). Tra le dipendenze consigliate, necessarie per raggiungere una funzionalità completa: connman per la configurazione della rete; bluez5 per la gestione del Bluetooth; bc per la calcolatrice integrata; pulseaudio per la gestione dei dispositivi audio; acpid per la gestione di eventi hardware vari; packagekit per monitorare gli aggiornamenti di sistema; udisks2 per il montaggio di dischi esterni; ddcutil per gestire la retroilluminazione dello schermo; gdb per il tracciamento di crash.

Contemporaneamente, il progetto Enlightenment ha pubblicato un insieme di librerie EFL 1.28 (Enlightenment Foundation Library), che permettono di creare interfacce grafiche visivamente attraenti, caratterizzate da compattezza, basso consumo di risorse e alta prestazione. Nonostante lo sviluppo iniziale come base per l'ambiente Enlightenment, i componenti EFL sono spesso utilizzati per costruire interfacce per elettronica di consumo e dispositivi mobili. Ad esempio, EFL è parte integrante della piattaforma mobile Tizen, utilizzato nei bianchi elettrodomestici Electrolux, nei prodotti Samsung, ProFUSION, Free.fr e Calaos.
Composizione di EFL:
- Eina — libreria con l'implementazione di tipi di dati (array, hash, lista, albero) e strumenti ausiliari (gestione dei log, valutazione delle prestazioni, conversione di formati, ecc.).
- Eet — libreria per la registrazione di un insieme arbitrario di blocchi di dati in un file per una successiva lettura rapida in ordine casuale.
- Evas — sistema di rendering per organizzare l'output a schermo. Evas gestisce il contenuto dello schermo come una scena con oggetti, il cui stato può essere tracciato. Su questa scena è possibile effettuare operazioni come ridimensionamento, rotazione e trasformazioni 3D. Questo approccio, astratto dalla disposizione degli elementi visivi, consente di sviluppare l'interfaccia utente dal punto di vista del designer, e non del programmatore (nel codice è sufficiente definire solo la logica senza preoccuparsi del disegno e dell'output). Evas astratte anche il metodo di output, consentendo di utilizzare lo stesso codice in combinazione con il rendering software e hardware accelerato.
- Ecore — libreria per la gestione del ciclo di elaborazione degli eventi, che offre un insieme di moduli per semplificare le attività correlate alla gestione degli eventi, come l'interazione con Evas, i thread, le connessioni di rete, ecc.
- Embryo — libreria per la scrittura di piccole applicazioni compilabili per dispositivi embedded.
- Edje — libreria grafica che separa l'aspetto dal codice (la formattazione è definita in un modello caricato da file). Edje occupa una nicchia tra HTML+CSS e SVG. Con questa libreria è possibile creare un'interfaccia utente dotata di effetti visivi animati e supportare una formattazione dinamica (l'aspetto può essere completamente cambiato semplicemente sostituendo il modello EDJ senza toccare il codice; rispetto ai temi visivi, l'ordine di disposizione degli elementi può essere cambiato liberamente).
- Efreet — libreria che consente di utilizzare nelle applicazioni le specifiche di Freedesktop.org per la gestione delle icone, dei file Desktop e dei menu.
- Eeze — libreria per organizzare l'interazione con dispositivi esterni tramite udev, HAL e altri meccanismi.
- Expedite — strumento per la misurazione delle prestazioni, che può testare diversi motori Evas, come X11, XRender, OpenGL, SDL e DirectFB.
- Evil — implementazione di un livello di compatibilità per la lavorazione su piattaforma Windows.
- Eio — un'interfaccia astratta per l'accesso al file system e l'implementazione di input/output asincrono.
- Emotion — una libreria per l'integrazione di gestori audio e video nelle applicazioni. La riproduzione video può avvenire utilizzando Gstreamer, Xine o altri plugin esterni (ad esempio, VLC), con il video visualizzato come oggetto standard in Evas.
- Ethumb — una libreria per la creazione di miniature di immagini che soddisfano gli standard freedesktop.org. Ethumb è implementato come servizio dbus e una libreria client che interagisce con questo servizio.
- Elementary — un insieme di widget con implementazioni pronte di vari elementi grafici (da pulsanti e controlli a un calendario e un modulo di editing di testo).
- Eldbus — un'estensione di DBus.
- Ephysics — fornisce strumenti per utilizzare il motore di simulazione fisica Bullet nelle applicazioni basate su EFL. Ephysics assicura il collegamento di Bullet con le librerie Ecore ed Evas.
- Ecore Audio — API per lavorare con il suono.
Fonte: opennet.ru
