2Fermer4
OLLe 13/12/2014 à 14:21
Vin67 (./1) :
Bonjour,

Je bricole une petite appli GEM sur ST et évidemment j'ai l'impression de réinventer la roue avec ma gestion des évènements etc. Il existe de nombreuses librairies GEM. Je voudrais savoir ce que vous en pensez (sans lancer une guerre de religion).

Ce que je trouve le plus "dur" avec une librairie GEM (mais c'est un peu valable avec n'importe quel framework) c'est qu'il abstrayent la couche d'en dessous (ie AES) à leur sauce. Ce qui implique que pour bien comprendre ce que la librairie fait, il faut bien comprendre ce qui se passe en dessous de toute façon. Certes on peut difficilement en faire les frais. Mais autrement dit, au lieu de simplifier ce qui se passe en dessous, ça ne fournit que des "macros", mais les concepts restent les mêmes (c'est un constat, pas une critique). Et plus les librairies sont sophistiquées, plus ça devient dur de s'y mettre.

Je ne souhaite parler que des librairies donc le code source est disponible, parce que sauf à avoir une doc de la mort, le source est la meilleure manière de comprendre ce qui se passe vraiment (en plus ça sert de tuto).

J'ai donc exclu WDIALOG, MYDIAL, WINX (pas vraiment une lib mais bon c'est quand même super), EasyGEM.

EGEM: Marche avec Pure C (rapide sur un simple ST), doc en allemand, utilisée dans plusieurs apps (par exemple l'éditeur text Qed, je crois).
BIG: Marche avec Pure C, doc en français, je crois qu'il y a des articles/tuto dessus dans des ST Magazines.
Windom: Les premières versions marchaient avec Pure C, la doc est très bonne et en français.

(je parle de Pure C parce que GCC avec un simple ST, on oublie, n'est-ce pas?).
Existe t'il des librairies pour le compilateur AHCC ?

Ca fait plusieurs années que j'ai pas vraiment fait d'Atari... j'ai raté quoi dans ce domaine ?
Etant fan de Delphi, j'ai vaguement essayé de créer un framework qui fonctionne pareil, avec des callbacks, des composants etc., mais en utilisant un language fonctionnel plutôt qu'un language objet nuit énormément à la lisibilité. Je rêvais d'avoir un RAD à la Delphi sur Atari parce permettre aux gens de créer des applis facilement est une bonne manière de faire grandir une logithèque.
Merci !

Vincent


BIG tu oublies, c'est complètement obsolete
EGEM connait pas.
Windom a bonne réputation, ca doit se compiler pour GCC, PureC et AHCC je pense. Librairie appel GEM indispensable GEMLIB qui marche très bien et est complète.

Il y a 20 ans (déjà!) j'avais écrit un truc qui s'appelait GNUGENC, ca gérait une interface de programme (menu, fenetre, boite de dialogue, enchainement d'actions + fonction test), basic mais fonctionnel basé sur une librairie personnelle et un ressource GEM et j'ai toujours quelques applis construites avec (comme Kronos), bon aujourd'hui je me dis que la lib recréait la roue et à un moment faut peut être arrêter de faire des applis pour un simple ST de base! C'est pareil pour les libs, à l'époque cela avait vraiment du sens aujourd'hui j'en suis moins persuadé car c'est un frein à l'utilisation des nouvelles fonctionnalités et le GEM en lui même est en fin de compte assez simple à utiliser surtout avec quelques petites extensions comme la barre d'outil que l'on associe à une fenêtre et qui permet de faire une boite de dialogue en fenêtre sans écrire plus d'une ligne de code!
Les AES ont évolués un peu XaAES et MyAES permettent plus d'excentricités que par le passé.
Si j'avais un RAD a écrire alors cela irait beaucoup plus loin car en fin de compte on ne simplifie qu'une petite partie du problème et pour ceux qui connaissent le modèle ce serait Labview ou tout est graphique, ou on ne se pose pas de problème de gestion mémoire et très peu de problèmes de debugguage, cela fait 15 ans que je dis cela mais j'ai rien fait ;-) , mais bon ce n'est pas bon pour tout écrie non plus, mais j'ai fait de sacré morceaux de programmes avec ce logiciel à titre professionnel.

Perso plutôt que d'essayer de se prendre la tête à comprendre une lib haut niveau plutôt repartir de l'API système ou alors tenter de porter une lib plus universelle comme GTK par exemple.


Olivier