Journal Librairie graphique pour prototype d'application embarquée ?

Posté par  (site web personnel, Mastodon) .
Étiquettes : aucune
0
4
déc.
2007
Bonjour,

Je suis à la recherche d'une librairie graphique pour faire l'interface graphique du prototype d'une application embarquée.

Qui dit "prototype" dit que ça peut être une librairie qui tourne uniquement sur un PC à priori. Qui dit embarqué, dit aucune intégration avec le desktop ni de manipulation de fenêtres. L'appli sera exportée sur un petit écran tactile depuis un PC afin de démontrer le principe du logiciel (dont l'interface n'est en fait pas réellement nécessaire pour le moment).


Ce que je veux :

- une librairie facile à prendre en main (il s'agit d'un proto, la rapidité de dev est importante)
- des bindings python (indispensable)
- une librairie relativement stable (je n'ai pas 6 mois pour contribuer et rapporter des bugs, malheureusement)
- le plus d'effets "blink" possible. Il va falloir convaincre des commerciaux de la valeur ajoutée de ce prototype, si possible avec des effets inutiles genre fondus enchainés, etc...


Ce qui serait bien :

- une certaine portabilité (QNX et éventuellement cygwin. Mais ce n'est pas requis)


A priori, j'ai trouvé Clutter, qui semble pas mal du tout :
http://www.clutter-project.org/

Seulement, c'est encore jeune, il y a très peu de doc (voire pas du tout en ce qui concerne python).

Il y a aussi je pense EFL , GTK+Cairo et puis toutes les librairies python qui permettent de programmer des jeux qui pourraient être utilisées (SDL ou pourquoi pas PyGame ?). PyGame me semble en effet une approche possible dans ce genre de cas.

Je précise également que, sur le long terme, le but est de pouvoir développer rapidement des prototypes et de généraliser l'usage de cette lib à différents protos (C ou Python. eventuellement d'autres languages).

Voilà, j'aimerais avoir vos retours, vos expériences, vos avis et éventuellement vos conseils.

Merci d'avance

PS : si vous avez des idées de hardware pour ce genre de chose (un écran tactile, une plateforme dédiée ou n'importe), n'hésitez pas à laisser également un commentaire, je suis preneur d'absolument toute suggestion :-)
  • # Qt/Qtopia

    Posté par  . Évalué à 5.

    Je sais c'est pas un réflexe naturel pour un gnomers mais la version 4 de Qt claque !
    Qtopia est une très bonne alternative pour l'embarqué et la documentation est très riche.
  • # N800 + EFL + Python

    Posté par  . Évalué à 4.

    J'aurais essayer les EFL. C'est portable, rapide et ca marche vraiment bien pour l'embarque. Surtout que si tu ne connais pas ta plateforme cible, tu as pas mal de backend de dispo en plus de X11.

    Pour la plateforme hard, j'aurais pris un N800 pour faire la demo. Les gens qui developpent Canola ont fait des trucs extra avec les EFL et Python sur N800. Regarde sur google a Canola 2, tu devrais trouver tout ce que tu veux.
    • [^] # Re: N800 + EFL + Python

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

      Ah, Canola utilise donc EFL ! Je me demandais ce qu'ils utilisaient.

      J'ai juste pas encore trouvé une bonne doc EFL/Python pour me faire une idée.

      Mes livres CC By-SA : https://ploum.net/livres.html

  • # Matériel... logiciel

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

    Tu peux aller vers des UPMC avec écran de 7'. J'ai un collègue qui a pris des tout petit modèles de chez Sony, qui tournent nativement Windows, ça te permet de développer avec tes outils habituels, et tu as une machine très puissante par rapport à la taille.

    Côté interface graphique... du pyQt ?
    Avec Qtopia pour l'embarqué (voir s'il y a des bindings Python pour celui-ci)...

    Python 3 - Apprendre à programmer dans l'écosystème Python → https://www.dunod.com/EAN/9782100809141

  • # Pigment?

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

    Pigment est un projet un peu similaire à Clutter.

    https://code.fluendo.com/pigment/trac/

    L'interface graphique d'Elisa utilise ce framework. cf http://elisa.fluendo.com
  • # Clutter

    Posté par  . Évalué à 2.

    En fait, tout dépend du type de ton application. Un media player par exemple se fait très bien avec Clutter ou Pigment. Ce dernier est le coeur d'Elisa, le media center de Fluendo, avec beaucoup de Python donc tu pourrais y trouver ton bonheur.

    Ceci dit, je préfère nettement Clutter. Malgré sa jeunesse, elle fait déjà pas mal de choses que Pigment ne gère pas apparemment. La prise en main me semble intuitive malgré GObject (le C++ du pauvre^Wgtk). Elle supporte OpenGL ES aussi.

    Je précise que Clutter fournit la base (canvas, événements, effets, etc.) et pas de widgets (boutons & co). Il en est de même pour Pigment. Donc, si tu veux un toolkit avec des widgets complets, il faudrait se tourner vers une autre solution ou bien les implémenter soi-même.

    PS: j'utilise un snapshot de Clutter/trunk d'il y a un mois + "quelques" autres patches, ça me convient tout à fait.
    • [^] # Re: Clutter

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

      - Clutter et Pigment sont tous 2 basés sur GObject.
      - Pigment n'est pas le "coeur" de Elisa. On peut très bien réaliser un frontend Clutter pour Elisa (mais ne divergeons pas du sujet de ce journal)
      - Un plugin OpenGL|ES devrait prochainement être développé pour Pigment, mais a priori pas à court terme
      - Pigment fournit des widgets en Python, ca bouge d'ailleurs pas mal en ce moment
      - Pigment a un framework d'animation implicite (en Python) ma foi très facile à utiliser
    • [^] # Re: Clutter

      Posté par  . Évalué à 2.

      J'ai tatouillé un peu Clutter et ça a l'air pas mal.

      Pour les widgets, moi je pensais plutôt à une interface hybride, en utilisant clutter-gtk : une GUI GTK avec des parties en clutter pour les effets "blink".

      Je précise ça car moi aussi j'aimerais bien bidouiller en peu les interfaces utilisateurs tactiles. Je commence à bidouiller un petit prog en python/clutter/gtk pour faire une sorte de "studio d'essai" des possibilités de clutter. Et j'espère avoir bientôt un N800 pour faire mumuse dessus avec...

      Sinon, ploum, tu veux pas essayer avec ton N770 ? Ou alors tu l'as déjà offert à ta boulangère ?
      • [^] # Re: Clutter

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

        L'écran du 770 est trop petit et le hardware trop limité pour une démo qui pète vraiment. C'est mon patron qui paye donc autant y aller franco :-)

        Mes livres CC By-SA : https://ploum.net/livres.html

        • [^] # Re: Clutter

          Posté par  . Évalué à 2.

          Si t'as de l'argent et que tu veux un truc plus grand, peut-être aller voir du côté des joujoux de JazzMutant ? http://www.jazzmutant.com/
          Bon, après faut voir si ce truc est hackable. Mais vu comme c'est pour un public restreint, ya des chances qu'ils ne l'aient pas blindé niveau protection ....

          Bon, si c'est pour un truc professionnel, ton patron risque de ne pas trop aimer cette méthode ...

Suivre le flux des commentaires

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