Il y a de tres grosse difference entre la maniere de fonctionner des EFL et QT. Rien qu'en lisant le lien que tu fournis sur la genese de l'application, tu peux en comprendre les differences.
Tout d'abord, les EFL sont bases sur un canevas qui enregistre l'etat dans lequel sont les primitives graphiques et qui lors d'une demande de rendu ne vas afficher que la difference entre l'etat precedent et le nouvel etat. Ensuite la boucle de rendu n'est appele que lorsque l'application n'a plus rien a faire. Ainsi il n'y a pas de flickering ou d'objet qui apparaisse vide ou quoi que ce soit comme anomalie graphique lors de toute phase de demarrage, animation ou autre tache qui change le layout de l'application. Il n'y a donc pas besoin de mettre en place un benchmark qui va desactiver les effets qui ralentiront ton application. Ceux-ci ne seront afficher que si le systeme le peut au moment ou l'application le demande.
C'est entierement dynamique et ca s'adapte automatiquement a la charge de ton systeme au court du temps. Enfin le but des EFL a toujours ete d'etre extremement optimise sur tous les plans possible: consomation memoire, bande passante, ressource CPU. Ce qui fait qu'aujourd'hui l'engine software est plus rapide que la version OpenGL pour certaine configuration.
Enfin Edje est la bibliotheque de theme qui utilise Evas (la lib de canvas), Ecore (la lib d'evenement) et Eet (la lib de serialisation et de stockage) pour proposer un systeme permettant de themer et de changer le layout des applications, widgets tout en gardant les performances necessaire a des systemes embarques. Et effectivement, c'est une des fonctionnalites les plus interressantes des EFL que l'ont ne trouve pas dans Gtk ou Qt et qu'il est logique qu'ils la reprennent. Dans le lien que je te fournis, il est facile pour un designer/graphiste de changer les animations, le layout de l'application sans toucher a une seule ligne de C.
Pour ce qui est de Qt, ou de Gtk, ils sont a ma connaissance tous les deux entrain de se diriger vers le meme systeme de pipeline graphique que celui utilise par les EFL. Mais ca va prendre du temps avant d'avoir quelque chose du meme niveau de performance et de fonctionnalite.
Enfin pour ce qui est du reste du framework, les EFL, ca reste du C, donc pour le SQL par exemple, il est plus simple d'utiliser directement l'API de SQLite plutot que de reinventer une abstraction entre les deux qui ne serviraient pas reellement a grand chose vu la simplicite d'une tel API. La meme chose va pour quasiment tout le reste sauf peut-etre WebKit qui est la fonctionnalite qui manque le plus aux EFL, mais necessiterait bien trop de ressource pour la faire fonctionner.
Enfin pour ce qui est de la portabilite des EFL, je crois qu'on a pas trop a ce plaindre, on a des engines natif pour Linux/Windows/Windows CE/MacOsX, et les EFL fonctionnent sur des machines tres minimaliste comme des ARM a moins de 100Mhz avec des ecrans noir&blanc (genre ebook) jusqu'a des PC de bureau multi coeur et des giga de ram. Et par experience personnelle, les EFL tournent plus que correctement la ou meme QTopia fait des OOM. C'est d'ailleur pour ca que je travaille maintenant sur les EFL.
[^] # Re: Le futur
Posté par cedric . En réponse au journal E17, ça avance. Évalué à 10.
Tout d'abord, les EFL sont bases sur un canevas qui enregistre l'etat dans lequel sont les primitives graphiques et qui lors d'une demande de rendu ne vas afficher que la difference entre l'etat precedent et le nouvel etat. Ensuite la boucle de rendu n'est appele que lorsque l'application n'a plus rien a faire. Ainsi il n'y a pas de flickering ou d'objet qui apparaisse vide ou quoi que ce soit comme anomalie graphique lors de toute phase de demarrage, animation ou autre tache qui change le layout de l'application. Il n'y a donc pas besoin de mettre en place un benchmark qui va desactiver les effets qui ralentiront ton application. Ceux-ci ne seront afficher que si le systeme le peut au moment ou l'application le demande.
C'est entierement dynamique et ca s'adapte automatiquement a la charge de ton systeme au court du temps. Enfin le but des EFL a toujours ete d'etre extremement optimise sur tous les plans possible: consomation memoire, bande passante, ressource CPU. Ce qui fait qu'aujourd'hui l'engine software est plus rapide que la version OpenGL pour certaine configuration.
Enfin Edje est la bibliotheque de theme qui utilise Evas (la lib de canvas), Ecore (la lib d'evenement) et Eet (la lib de serialisation et de stockage) pour proposer un systeme permettant de themer et de changer le layout des applications, widgets tout en gardant les performances necessaire a des systemes embarques. Et effectivement, c'est une des fonctionnalites les plus interressantes des EFL que l'ont ne trouve pas dans Gtk ou Qt et qu'il est logique qu'ils la reprennent. Dans le lien que je te fournis, il est facile pour un designer/graphiste de changer les animations, le layout de l'application sans toucher a une seule ligne de C.
Pour ce qui est de Qt, ou de Gtk, ils sont a ma connaissance tous les deux entrain de se diriger vers le meme systeme de pipeline graphique que celui utilise par les EFL. Mais ca va prendre du temps avant d'avoir quelque chose du meme niveau de performance et de fonctionnalite.
Enfin pour ce qui est du reste du framework, les EFL, ca reste du C, donc pour le SQL par exemple, il est plus simple d'utiliser directement l'API de SQLite plutot que de reinventer une abstraction entre les deux qui ne serviraient pas reellement a grand chose vu la simplicite d'une tel API. La meme chose va pour quasiment tout le reste sauf peut-etre WebKit qui est la fonctionnalite qui manque le plus aux EFL, mais necessiterait bien trop de ressource pour la faire fonctionner.
Enfin pour ce qui est de la portabilite des EFL, je crois qu'on a pas trop a ce plaindre, on a des engines natif pour Linux/Windows/Windows CE/MacOsX, et les EFL fonctionnent sur des machines tres minimaliste comme des ARM a moins de 100Mhz avec des ecrans noir&blanc (genre ebook) jusqu'a des PC de bureau multi coeur et des giga de ram. Et par experience personnelle, les EFL tournent plus que correctement la ou meme QTopia fait des OOM. C'est d'ailleur pour ca que je travaille maintenant sur les EFL.