Les EFL (Enlightenment Foundation Libraries) sont sorties en version 1.0.0

Posté par  . Modéré par patrick_g.
35
30
jan.
2011
Serveurs d’affichage
Après plusieurs réécritures et 10 années de développement, les EFL (Enlightenment Foundation Libraries) sortent en version 1.0 un peu moins de trois mois après la sortie de la version bêta. Cette phase de bêta ayant été mise à profit pour supprimer un maximum de bogues et s'assurer au mieux de la portabilité des EFL.

C'est ainsi que la première version stable de ces Enlightenment Foundation Libraries, les bibliothèques logicielles utilisées par le très attendu E17, est enfin arrivée. Ces bibliothèques se veulent très optimisées afin de fonctionner même sur des appareils peu performants.

Les bibliothèques sont écrites en C et sous licence BSD (sauf la bibliothèque Eina qui est sous LGPL 2.1).

Cette sortie arrive une semaine avant le FOSDEM 2011 où il y aura un stand de l'association francophone et 2 discussions concernant Enlightenment et les EFL :

  • Modularité d'Enlightenment, par Michael Bouchaud, un des développeurs d'Ordissimo, qui montre qu'Enlightenment peut être utilisé autrement que comme un gestionnaire de fenêtres classique ;

  • Utilisation des EFL dans l'embarqué, par Cédric Bail, développeur chez Free, créateur d'Elixir, bibliothèque utilisant les EFL et permettant d'écrire en JavaScript des jeux pour la Freebox.

NdM : Merci à Xavier Claude qui a proposé une autre dépêche qui est venue compléter celle-ci. Les bibliothèques suivantes en font partie :
  • Eina : c'est la bibliothèque de base des EFL. Elle contient les types de données utilisés par les autres bibliothèques (listes, tableaux, arbres bicolores…), mais aussi l'accès aux bibliothèques partagées, la gestion du temps…

  • Eet : cette bibliothèque permet de gérer des données pour les compresser dans un fichier afin de le stocker localement ou de l'envoyer sur le réseau. L'algorithme utilisé permet une décompression très rapide ;

  • Evas : il s'agit de la partie des EFL qui permet d'afficher un canevas pour dessiner dedans, y insérer du texte et des images. Il ne s'agit pas d'un ensemble de widgets, mais de la base pour les dessiner. Evas peut utiliser l'accélération graphique quand elle est disponible et tente toujours de minimiser la zone à redessiner ;

  • Ecore : c'est une bibliothèque d'abstraction qui permet l'accès aux fichiers, d'utiliser l'IPC, d'accéder aux différents systèmes graphiques pris en charge, ou encore de gérer la boucle principale d'exécution ;

  • Embryo : elle permet d'utiliser un langage de script proche du C, Pawn, dans les applications ;

  • Edje : cette bibliothèque permet de gérer les thèmes des applications. Elle permet notamment de regrouper toutes les informations d'un thème, y compris les images, dans un seul fichier, ce qui permet de le distribuer facilement ;

  • E_Dbus : comme son nom l'indique, E_Dbus permet d'utiliser D-Bus, le système de communication inter-processus, avec les applications utilisant les EFL. Il abstrait aussi l'accès à certains programmes utilisant D-Bus, comme HAL ou libnotify ;

  • Efreet : c'est une bibliothèque pour faciliter l'intégration avec les standards Freedesktop.org comme les entrées des menus ou le thème des icônes ;

  • Eeze : c'est une bibliothèque qui permet d'accéder directement aux périphériques en passant par udev sans utiliser de couche intermédiaire comme udisk/upower ou HAL. Ceci permet de réduire le temps entre le branchement du périphérique et sa prise en compte par l'application.

Voici un état des lieux sur les caractéristiques techniques des EFL :

Systèmes d'exploitation :

  • GNU/Linux ;
  • *BSD ;
  • Solaris (peu testé) ;
  • Windows XP (fonctionnel) et CE (expérimental) ;
  • Mac OS X (avec émulation X Window) ;
  • WebOS.
Les améliorations au niveau du support des systèmes d'exploitation se feront sur Solaris (OpenIndiana principalement), Windows et Mac OS X principalement, dans la mesure où les autres systèmes d'exploitation sont régulièrement testés.

Architectures bénéficiant de code optimisé (MMX, SSE, SSE2 et Neon) pour les routines graphiques(Evas) :

  • x86 ;
  • x86_64 ;
  • ARM .

Moteurs graphiques (Evas) :

  • Buffer (pour les manipulations internes) ;
  • X Window: Xlib, XCB, OpenGL ES 2.0 (Xrender n'est plus supporté, aucun pilote n'accélère vraiment les opérations graphiques) ;
  • Frame buffer ;
  • DirectFB ;
  • Quartz (très lent, sera remplacé par un moteur OpenGL) ;
  • GDI et DirectDraw (les moteurs OpenGL et Direct3D doivent être réécrits, toute aide est bienvenue...) ;
  • pour Windows CE : Frame Buffer, GAPI, GDI et directDraw ;
  • SDL (software et OpenGL).

Formats d'images reconnus (Evas) :

  • BMP ;
  • GIF ;
  • JPEG ;
  • Pixmap ;
  • PNG ;
  • SVG ;
  • TGA ;
  • TIFF ;
  • XPM.

Spécifications :

  • X Window : ICCCM et EWMH (Ecore) ;
  • Services réseau : DNS asynchrone, TCP/UDP (unicast et multicast), HTTP et FTP ;
  • Bureau : Spécifications Freedesktop (Efreet) ;
  • Périphériques : DBUS (avec support de HAL, Bluez, Connman, Notify, Ofono et Ukit), UDEV.
Ainsi, par cette version, toute l'équipe de développement d'Enlightenment s'engage à fournir une API et une ABI stable pour toutes les applications utilisant ces bibliothèques.

N'hésitez pas à venir nous poser des questions lors du FOSDEM 2011 ou bien sur les listes de diffusion et canaux IRC dédiés au projet.

Aller plus loin

  • # Sur le fil

    Posté par  . Évalué à 10.

    Alors que tout le monde s'attendait à une bataille acharnée entre Debian et Duke Nukem Forever, voila qu'ils sont doublé dans la dernière ligne droite par un concurrent inattendu. C'est là une belle surprise. La suite dans quelques mois pour la fin de ce tiercé.

    Tous les nombres premiers sont impairs, sauf un. Tous les nombres premiers sont impairs, sauf deux.

    • [^] # Re: Sur le fil

      Posté par  . Évalué à 7.

      >La suite dans quelques mois pour la fin de ce tiercé.
      Tu attends la sortie de HURD pour le déclarer fini?
    • [^] # Re: Sur le fil

      Posté par  . Évalué à 4.

      Je crois qu'on est nombreux à avoir pensé à Duke Nukem For Ever ;)
    • [^] # Re: Sur le fil

      Posté par  . Évalué à 8.

      Euh pas tout à fait: il me semble que ce qu'attendent vraiment les utilisateurs c'est la sortie 'finale' d'E17, il me semble que seul les développeurs sont concernés par EFL..

    • [^] # Re: Sur le fil

      Posté par  (site web personnel) . Évalué à 1.

      On ne le dit pas assez, mais ils auront tous (sauf peut-être e17) battu ubuntu dont le yack yoyotant n'a même pas encore de rc ! En clair, depuis 10 ans qu'on attend e17 et plus encore qu'on attend DNF, debian a sorti 5 ou 6 versions.
    • [^] # Re: Sur le fil

      Posté par  . Évalué à 2.

      Ce qu'on ne sait pas, c'est que Duke Nukem Forever est écrit en Perl 6 au-dessus d'un noyau Hurd.
  • # Systèmes d'exploitations

    Posté par  (site web personnel, Mastodon) . Évalué à 10.

    Je pense qu'il serait bien aussi de citer SHR : c'est un OS développé pour les smartphones libres d'OpenMoko avec une interface qui utilise les EFL (voir leur site[1] et leur wiki[2] ou la communauté francophone[3]) et qui est en train d'être porté sur le Palm Pre/Pre 2.

    Ceci n'est pas anodin, par la disponibilité sur le matériel de Palm (HP) et parce qu'une nouvelle version du smartphone d'OpenMoko est en cours de tests, nommée du nom de code GTA04 [5].

    Liens :

    Le projet OpenMoko :
    -[1] le site de l'entreprise : [http://www.openmoko.com]
    -[2] le wiki du projet : [http://www.openmoko.org]
    -[3] la communauté francophone : [http://www.openmoko-fr.org]

    [4] : Le site du projet SHR : [http://shr-project.org/trac].
    [5] : Le wiki du projet GTA04 : [http://projects.goldelico.com/p/gta04-main/]
  • # Bindings?

    Posté par  . Évalué à 4.

    Sur le wiki, on voit que les bindings pour Python, Javascript et Vala sont "prêts".
    ...

    Ensuite, points d'interrogation pour Ruby et Perl avec un "raisonnable" pour le C++.

    Je veux pas pousser, mais le travail sur les bindings est pas un peu centralisé quelque part?

    Pour devenir un outil majeur pour tous, il faut des bindings!

    Suffit de voir la quantité d'applis en Gtk alors que ça nécessite toujours de faire du Gtk (hein? lundi? ouaaaah le vendredi ça passe vraiment trop vite!)
  • # e17

    Posté par  . Évalué à 6.

    Du coup où en est la roadmap pour la sortie de e17 ?

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

    • [^] # Re: e17

      Posté par  . Évalué à 10.

      La roadmap sortira quand elle sera prête.
  • # sortie des EFL en version 1.0.0

    Posté par  (site web personnel) . Évalué à 6.

    Enfin, on attendait ça depuis pas mal de temps...
    Pour info, j'avais réalisé une interview de Cédric Bail fin 2010 à ce sujet :

    http://www.linuxembedded.fr/2010/12/les-efl-bientot-en-versi(...)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.