X Conférence Parinux : les Enlightenment Foundation Libraries (EFL)

Posté par . Modéré par Florent Zara. Licence CC by-sa
37
28
fév.
2011
X

La mise à jour des Enlightenment Foundation Libraries en version 1.0 est un moment important pour le projet, car les développeurs veulent, et pensent pouvoir maintenant garantir, une stabilité complète de l'API et de l'ABI des EFL pour plusieurs années.

Cela devrait faciliter l'utilisation par les professionnels, les amateurs et les empaqueteurs, en leur donnant accès à un ensemble de bibliothèques optimisées pour donner le maximum de tous les matériels possibles, en donnant une flexibilité et des possibilités graphiques hors du commun.

Cela devrait ouvrir la porte à de nouvelles applications et simplifier grandement le développement pour toute une gamme d'applications, principalement dans l'embarqué, tels que des Media Center, interfaces d'outils dédiés, jeux 2D, mais aussi, pourquoi pas, des applications serveurs.

Durant cette présentation, un tour d'horizon le plus complet possible des EFL sera fait, ainsi que de petites démonstrations pour montrer comment les utiliser, ainsi que les futures directions du développement. La présentation est proposée par Cédric Bail.

Mardi 8 mars 2011 de 19 h 15 à 20 h 45
Espace Loisirs et Multimédia
105 avenue de La Bourdonnais, 75007 Paris
Métro ÉCOLE MILITAIRE

  • # des possibilités graphiques hors du commun.

    Posté par . Évalué à  3 .

    Qu'entend-on par "le commun" ?

    Les toolkits à la papa (GTK2, WxWidgets, GDI32, etc.) ? Ou bien les frameworks modernes (Qt4, CoreAnimation, les nouveaux bidules de Windows7, etc.) ?

    BeOS le faisait il y a 15 ans !

    • [^] # Re: des possibilités graphiques hors du commun.

      Posté par . Évalué à  6 .

      Ce qui peut être fait avec les EFL, par exemple:

      http://www.calaos.fr/pub/video/calaos_media_music.ogg

      apres, tu te fais une idee... Au passage, la techno introduite par les EFL date de plus de 7 ans. C'est dommage que si peu de pub ait été faite sur cette techno

    • [^] # Re: des possibilités graphiques hors du commun.

      Posté par . Évalué à  7 .

      A l'heure actuelle la seule technologie qui se rapproche de ceux que font les EFL, c'est QML avec le SceneGraph (Meme si celle-ci est beaucoup plus jeune est moins abouti). Sinon pour avoir une comparaison plus logique, les moteurs de rendu de jeu 2D sont ceux qui ont le plus de proximité avec ce type de pipeline de rendu.

      Pour faire simple, c'est le fait d'avoir en un point toutes les informations sur ce qui doit etre rendu a l'ecran qui permet de faire de tres nombreuses optimisations et de tirer partie du materiel au mieux (C'est le boulot de la bibliotheque Evas). Ensuite les EFL fournissent aussi un moyen propre et clair de separer description de l'interface, animation et logique applicative grace a la bibliotheque Edje.

      Enfin les EFL ont ete concu dans un unique but, etre le plus efficace possible en terme de CPU et de consommation memoire tout en etant graphiquement le plus joli et anime possible. Ainsi des le depart la cible a ete l'embarque, j'en veux pour preuve cette demo: http://www.rasterman.com/files/eem.avi , qui tournait sur un iPaq en 2004...

      • [^] # Re: des possibilités graphiques hors du commun.

        Posté par . Évalué à  1 .

        Flash ne pourrait pas être considéré comme un concurrent ? J'avais des trucs similaires sur mon "vieux" sony erricson, je crois fait avec une version embarquée de flash.

        • [^] # Re: des possibilités graphiques hors du commun.

          Posté par . Évalué à  2 .

          Alors a ma connaissance, il y a la technologie Flex qui pourrait permettre a Adobe d'implementer le meme type de fonctionnalite, mais malheureusement on va dire qu'ils ont de petite difficulte a fournir une solution performante...

          Sinon dans l'embarque leur solution s'appelle Flash Lite qui est juste une version de Flash avec beaucoup de truc en moins sans vraiment avoir un coeur plus performant.

      • [^] # Re: des possibilités graphiques hors du commun.

        Posté par . Évalué à  3 .

        C'est intéressant, mais très proche de ce qui se fait sur PSP ou iOS.

        Tout le monde est d'accord pour dire que les EFL sont inégalées sur du matos de 2004. 7 ans plus tard on est en 2011 et les QML/CoreAnimation/... font tout aussi bien sur du matériel de 2011 et même de 2007.

        Les EFL n'auraient pas eu de concurrence si elles étaient sorties il y a 7 ans. Aujourd'hui elle apportent juste une solution de plus parmi d'autres.

        Mais est-ce qu'elles viennent avec la même richesse/qualité d'outils de développements que la concurrence ?

        BeOS le faisait il y a 15 ans !

        • [^] # Re: des possibilités graphiques hors du commun.

          Posté par . Évalué à  4 .

          Juste pour qu'on soit d'accord sur les affirmations techniques, les EFLs sont toujours plus performante que QML/CoreAnimation/... whatever. J'ai bien precise que le seul toolkit qui avancait dans la bonne direction etait QML avec le backend SceneGraph. Mais c'est loin d'etre comparable pour l'instant !

          QML necessite l'utilisation d'un ou plusieurs contextes JavaScript qui posent de gros probleme en terme de consomation CPU et limite les optimisations possible. Le second probleme, c'est que QML devient un langage de programmation complet... Ce qui fait qu'il devient facile pour le developpeur de melanger interface et logique applicative, ce qui fini par rendre une application moins evolutive, themable et maintenable. De plus le gain en terme de ligne de code n'est pas evident. A tout ces problemes, les EFLs ont deja des solutions qui marchent aujourd'hui.

          De maniere plus general, ce n'est pas parce que tu es capable d'animer un widget que tu as une solution equivalente. Ainsi il te faut du matos plutot chere pour faire tourner Android, QT, iOS. Alors qu'avec les EFLs, tu peux des aujourd'hui attaquer le marche avec du materiel, beaucoup, beaucoup moins chere et tout de meme offrir une experience utilisateur sympa.

          Pour ce qui est de la richesse/qualite des outils de devs, je pense qu'il manque un editeur graphique de fichier edje pour simplifier la vie au designer. Si tu parles de la richesse de l'API pour les devs, tu peux aujourd'hui developper un bon nombre d'appli sans etre bloque.

          De maniere plus generale, la bataille dans l'embarque ne fait que commencer. Faire des terminaux graphiques en entree de gamme sans sacrifier l'experience utilisateur n'est pas un probleme simple.

          • [^] # Re: des possibilités graphiques hors du commun.

            Posté par . Évalué à  2 .

            Il y a des notions de property bindings dans EFL ?
            M'intéressant depuis un moment à la librarie Adam dans les ASL, j'avais découvert cet aspect de QML avec un certain intérêt.

            • [^] # Re: des possibilités graphiques hors du commun.

              Posté par . Évalué à  1 .

              Le property bindings, c'est justement un des trucs qui pose probleme en terme de perf, car tu peux mettre n'importe quelle expression JavaScript. Alors que au fond pour 80% voir meme 100% des cas, le positionnement relatif suffit. En plus ca simplifie beaucoup ton code de juste donner une reference sur un autre objet plutot que de partir dans des formules compliquees.

              Donc Edje fait que du positionnement relatif avec offsets, car il faut bien pouvoir prendre en compte des bordures ou d'autre petit decalage. Et c'est tout, cela permet de rendre une interface edje fonctionnelle quelque soit la resolution sans se compliquer la vie sur des formules de math. Pas d'effort du cote du designer pour mettre en place une telle solution.

    • [^] # Re: des possibilités graphiques hors du commun.

      Posté par . Évalué à  3 .

      non, le probleme des EFL n'est pas un probleme de publicité. C'est un probleme de finition de logiciel. Ca ne sert à rien un logiciel superbe mais inutilisable ou incomplet. Il faut que le logiciel soit magnifique ET terminé pour que l'on puisse l'utiliser.

      Parce que des démo, des vidéo de "ce que l'on peut faire d'extraordinaire avec les EFL" c'est bien, mais avoir le logiciel sur son pc installé et fonctionnel, c'est mieux. Et c'est même le minimum pour que ça sorte de la case "demo technologique". Certes, certains l'utilisent (free je crois), mais je n'ai pas le source, et ca ne tourne pas sur mon pc.

      Est ce que vous connaissez une seule application qui utilisent les EFL? moi pas. Des démo technologiques, j'en ai testé qque unes, et à chaque fois, je me suis dit "super, c'est beau.... mais je peux pas faire ce que je veux, je vire le programme".

      • [^] # Re: des possibilités graphiques hors du commun.

        Posté par . Évalué à  6 .

        Est ce que vous connaissez une seule application qui utilisent les EFL? moi pas.

        Euh, englightenment, ça ne compte pas ?

        • [^] # Re: des possibilités graphiques hors du commun.

          Posté par . Évalué à  -3 .

          Non, ça ne compte pas: c'est présenté comme une application "pas encore finie", où il reste toute la finition à faire. Dans l'état des choses actuel, E17 est encore en développement, principalement parce qu'il fallait finir les EFL avant de penser à finir Enlightenment.

          Donc (malheureusement) Enlightemment ne compte pas, non.

          • [^] # Re: des possibilités graphiques hors du commun.

            Posté par . Évalué à  6 .

            Il est suffisament fini pour etre utilise par la societe Ordissimo dans les ordinnateurs qu'elle fournit a des personnes qui decouvrent l'informatique. Donc oui, il est toujours en developpement, mais il est deja bien utilisable.

            Ce n'est pas parce qu'on release quelque chose que c'est utilisable et inversement ce n'est pas parce qu'on ne release pas quelque chose qu'on ne peut pas l'utiliser. La problematique d'une release impact uniquement les developpeurs, car une release implique une stabilite des interfaces de developpement et tres peu finalement les utilisateurs.

      • [^] # Re: des possibilités graphiques hors du commun.

        Posté par . Évalué à  1 .

        Les EFL ne sont pas un logiciel, mais une bibliotheque stable et utilisable, mais peu utiliser. La finition des EFLs en tant que tel est d'un tres bon niveau et largement comparable a ce que fournit Qt et GTK. Et ce n'est pas une demo technique, tu peux des aujourd'hui developper une application avec et obtenir une application fini, propre avec.

        Pour ce qui est de tourner sur ton PC, je crois que tu te meprends sur l'objectif des EFLs. La plus part des devs utilisent les EFLs dans l'embarque, et c'est le premier objectif aujourd'hui, car c'est la qu'il y a un marche a prendre et ou rien n'est joue. Sur le desktop, Linux est une niche de petite taille ou il y a deja 3 desktops qui se battent (kde, gnome, lxde). Et il n'y a aucun interet a recreer ce qui existe deja. Ca n'apporte rien au monde du libre.

        Maintenant, si tu veux quelque chose pour toi, sur ton pc, et bien les EFLs peuvent te permettre de le developper et tu ne rencontreras aucune limite quelque soit le materiel que tu as.

        Note: Free n'utilise que la version mainstream du svn du projet Enlightenment et les sources sont donc completement publique.

      • [^] # Re: des possibilités graphiques hors du commun.

        Posté par (page perso) . Évalué à  3 .

        Est ce que vous connaissez une seule application qui utilisent les EFL? moi pas.

        Bah, tu n'as qu'a en faire une pour voir. Moi, c'est ce que j'ai fait : ePeriodique

      • [^] # Re: des possibilités graphiques hors du commun.

        Posté par . Évalué à  5 .

        Comme application utilisant les EFL je pourrai citer :

        • Calaos : Logiciel de domotique
        • Enna : Mediacenter
        • Enki : Gestionnaire de photos
        • Enjoy : lecteur de musique pour mobiles
        • Le launcher ARM de Ubuntu dans sa version netbook
        • OpenMoko/SHR : le gestionnaire de fenêtre est enlightenment, et SHR compte un grand nombre d'applications développées avec les EFL.
        • Elixir : bindings javascript utilisant les EFL développé par free pour la freebox. Le code est libre ! vérifie tes sources avant d'avance quelque chose de faux !

        En applications profressionnelles non opensource plusieurs sociétés utilisent les EFL. Pour exemple la société Profusion qui a développée l'interface utilisateur d'un Frigo en EFL. En applications professionnelles je tient quand meme a citer le choix de la fondation LIMO qui depuis le moi de février a fait des EFL une brique de sont systeme au meme titre que GTK.

        J'oublie encore bcp de projets utilisants les EFL.

        Aujourd'hui la "mode" pour les mobiles est a Android/iOS. Personnellement j'ai une téléphone Android, 1Ghz 512MB de ram, chip graphique OpenGLES. Un petit bijou technologique au creux de ma main. Plus puissant qu'un pc d'il y a 5 ans. Une quantité incommensurable d'applications sur le market. Mais c'est LENT ! Ultra lent ! Et cela me désole que ma batterie ne dure qu'une seule journée juste parceque mon processeur est en permanence solicité.

        Alors oui c'est facile de dire regardez ce que nous pourrions faire avec les EFL, mais la communauté E ne comporte qu'une poignée de développeurs, c'est avant tout un projet opensource, qui a pour unique but d'avoir des librairies optimisées sur tout les plans, RAM, ROM, CPU et GPU. alors rejoignez nous, cette communauté n'est pas fermé, bien au contraire les esprits sont grand ouverts.

        Le probléme n'est pas le manque de finition des applications mais le manque d'applications tout court, le manque de logiciels que tout un chacun a l'habitude d'utiliser au quotidien (Mail, browser, ...) Mais ce qu'on peut voir c'est qu'il est bien implanté sur un d'autres secteurs bien différents celui des interface utilisateurs sur mesure et optimisées (calaos, enna, launcher ...) Et j'espére qu'il va y rester. La guerre des desktop est perdu certes, et les applications existante sont pour la plus part a mon gout, mais dans l'embarqué, c'est autre histoire.

        • [^] # Re: des possibilités graphiques hors du commun.

          Posté par . Évalué à  5 .

          Et pour utiliser les EFL, il faut aussi nécessairement donner l'impression que c'est jouissif ? J'avoue ne jamais avoir lu sur Linuxfr une dépêche et des commentaires aussi mégalomanes.

          • "cela me désole que ma batterie ne dure qu'une seule journée juste parceque mon processeur est en permanence solicité."

          Mais bien sûr avec les EFL cela va changer. Quand tu vas vouloir toucher l'écran, la magie va opérer et ton CPU ne va rien faire. C'est un truc, un machin, qui ne consomme rien qui va prendre le relais... ^_^

          J'ai été jeter un coup d'oeil sur la documentation du coeur des EFL à propos de la boucle principale. Dans l'énorme couche d'anglais indigeste bourré d'autosatisfaction, je n'ai rien trouvé de neuf : une boucle d'évènements qui dort lorsqu'il n'y a rien à faire ! Wahou ! Du coup, je n'ai pas voulu chercher plus longtemps pourquoi les EFL sont meilleures, j'en ai déjà eu marre. Si je veux lire une brochure publicitaire, je ne regarde pas une documentation supposée technique.

          • "le maximum de tous les matériels possibles"

          Le maximum de quoi ? Ça ne veut rien dire.

          • "des possibilités graphiques hors du commun"

          Même les pubs pour la lessive évitent ce genre d'argument...

          Bon, est-ce qu'il y a des comparatifs clairs et techniques entre les EFL, GTK3 et Qt, par exemple, mais qui sont sérieux ? Sans superlatifs hyper creux ?

          • [^] # Re: des possibilités graphiques hors du commun.

            Posté par . Évalué à  7 .

            comparatif purement qualitatif : sur MIPS 200 MHz (la freebox 5, mais cedric pourra en dire plus) : qt ne marche pas, gtk2 est ultra lent, les EFL font tourner les jeux à 25 fps. Quant à gtk3, sérieusement, depuis qu'ils sont passé à cairo pour le rendering, ce n'est même pas la peine d'essayer de faire des comparatifs...

            concernant les OS supportés par les EFL : linux, Solaris, *BSD, Windows XP et CE (je m'occupe du port). Mac OS X est pour ainsi dire pas supporté en natif mais fonctionne avec la couche X pour la partie graphique (E17 tourne sur Mac). Symbian n'est pas supporté, ni Android.

            concernant le support graphique: Linux : frame buffer, directfb, Xlib, XCB, Xrender (mais plus supporté, trop lent), OpenGL Windows XP : GDI et DirectDraw (Direct3D et OpenGL doivent être re-écrit) Windows CE : frame buffer, GDI, GAPI, DirectDraw Mac OS X : Quartz (hyper lent, il faut re-écrire le moteur OpenGL) cross plateforme : SDL (soft et OpenGL)

            Architectures suportées : x86, x86-64, ARM9, ARM11, Cortex A8

            Concernant l'accélération asm : MMX, SSE, SSE2, Neon, il ya aussi un peu de parallelisation dans le rendu d'evas.

            Donc je pense qu'au niveau support, on est pas mal.

            "Si je veux lire une brochure publicitaire, je ne regarde pas une documentation supposée technique."

            Parce que tu crois que qt et gtk ne font pas de la pub et des brochures publicitaires ? J'ai vu un blog d'un mec de QT qui voulait faire un truc graphique avec une nouvelle techno. Il a fait un blog d'une soixantaine de lignes pour dire qu'il avait réussi à afficher une fenêtre et qu'il ferait un blog quand il aura réussi à afficher 2 fenêtres. Ce blog a même eu de la pub sur phoronix. Tout le monde fait de la pub, plus ou moins bonne, et ceci chez les devs d'E, de GTK/Gnome et de QT/KDE. Il faut bien amener de nouveaux devs, du fric, etc...

            Si tu es dégouté de la pub, tu dois être souvent dégouté dans la vie.

            Mais sinon, concernant le wiki, je suis d'accord avec toi : je trouve le texte indigeste. C'est raster qui l'a pondu, pour ma part je lui ai dit que personne ne lira ces (ses) info.

            • [^] # Re: des possibilités graphiques hors du commun.

              Posté par . Évalué à  3 .

              là ou je le rejoins, c'est quand j'ai commencé à lire le journal, l'un des premiers mots qui m'est venu à l'esprit "bullshit marketing".

              je vais extraire ce qui me fait dire ça le maximum de tous les matériels possibles, en donnant une flexibilité et des possibilités graphiques hors du commun.

              Bien qu'il faille faire de la pub, dans le sens : "faire découvrir ce produit", il ne vaut pas tomber dans les travers de la pub "commerciale" avec force de superlatif, et humilité atrophiée, qui font quand même pas mal fuir les "techos".

          • [^] # Re: des possibilités graphiques hors du commun.

            Posté par . Évalué à  9 .

            Je te conseille la lecture complete de cette page : http://trac.enlightenment.org/e/wiki/EFLOverview qui t'expliquera toutes les differences entre un toolkit moderne et des toolkits plus ancien. Elle est longue et dense, mais il y a tellement de concept different a presenter qu'il n'y a pas le choix.

            Et oui, il y a vraiment des differences fondamentales dans la maniere de gerer le pipeline graphique avec les EFLs. Oui, chaque composant est etudie pour etre le plus efficace possible.

            Tu as donc regarde la main loop, c'est a dire la bibliotheque Ecore, tu as donc note la presence d'idler (enterer, exiter), d'animator et de poller. Chacun de ces types de timer ont leur utilite. Ainsi l'idler enterer sert a declencher le rendu du canvas, car c'est a ce moment la que Ecore sait qu'il n'a plus rien a faire et donc que le canvas est dans un etat stable et donc qu'on peut faire le rendu. Il n'y a donc pas de rendu intermediaire, on ne voit pas la fenetre se construire. Les animators eux sont tous execute de maniere synchronise a la vitesse des fps du systeme. Cela permet d'avoir toutes ses animations de maniere synchro. Cela peut paraitre trivial dit comme ca, mais certain toolkit ont quand meme des animators qui ne sont pas synchronise, ce qui fait qu'au lieu d'avoir une application qui doit fonctionne a 60fps, tu as une application qui tente de tourner a n * 60fps ou n est le nombre d'animator. Je te laisse imaginer les problemes que cela pose... Enfin les pollers sont des timer imprecis qui s'on appele lorsque d'autre timer ou evenement reveille le systeme. Cela evite de reveiller le systeme pour savoir l'etat de la batterie par exemple et profite plutot que le systeme est reveille pour faire cette tache.

            Tout cela concour a ce que la mainloop propose de nombreux mecanismes pour simplifier l'ecriture d'une application optimale et consommant effectivement moins de batterie. Mais clairement la main loop est une tache trivialle et ce n'est pas la que se passe les optimisations qui offrent le plus de gain. Evas est veritablement le coeur du systeme et de son design vient reellement la difference par rapport aux autres toolkit. Comme explique plus en detail sur le lien que j'ai mis en haut de cette page, le fait que l'on manipule des objets sur le canvas et non qu'on peigne dessus directement offre d'enorme facilite d'optimisation qu'aucun toolkit aujourd'hui ne peut mettre en place. C'est une difference architecturale majeur. Si tu ne me crois pas, je vais te referer au blog QT de Zack Rusin qui decrit comment il pense implementer ca dans QML et Webkit: http://zrusin.blogspot.com/2010/11/2d-musings.html .

        • [^] # Re: des possibilités graphiques hors du commun.

          Posté par . Évalué à  4 .

          Tiens, je viens de découvrir que Canola, un mediacenter pour Nokia N810, est développé en EFL pour tout ce qui est interface et animations.

          Et c'est vrai que c'est un chouette logiciel, assez joli eet n'empiétant pas sur l'autonomie (alors que c'est une interface au dessus de l'interface standard).

          Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

  • # Loisirs à Paris

    Posté par (page perso) . Évalué à  1 .

    Chouette, ça tombe le jour où j'arrêterai de recevoir la télévision !

    GNU's Not Unix / LINUX Is Not Unix Xernel

  • # Conférence filmée ?

    Posté par . Évalué à  5 .

    J'espère qu'un enregistrement vidéo est prévu, pour ceux qui ne peuvent pas se rendre sur place.

    • [^] # Re: Conférence filmée ?

      Posté par (page perso) . Évalué à  2 .

      De mon expérience, non, Parinux n'a pas forcément le matos, ni des volontaires pour ça ( aussi bien pour filmer que pour le montage en post production aprés ).

Suivre le flux des commentaires

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