Lorsque vous souhaitez développer votre propre wizard Eclipse - un wizard permettant de générer le code du composant de votre architecture - ceci nécessite de :
- vous familiariser avec l'architecture d'Eclipse qui, certes, est très puissante mais demande un énorme investissement.
- vous familiariser avec les bibliothèques sur lesquelles Eclipse se base (SWT, JFace...).
- développer le moteur de génération de code.
Avec Akrogen vous pouvez décrire vos wizard pages Eclipse en XML/XUL. Chaque page d'un wizard est associé à un template écrit en Freemarker, Velocity, ou XSL. Le bouton Finish du wizard permet pour chacun des wizard pages de fusionner les valeurs des champs (contrôles XUL) du wizard page avec le template associé pour générer le code d'un composant.
Avec Akrogen vous pouvez ainsi écrire votre propre catalogue Akrogen de wizard, templates qui permettent de générer les composants de votre architecture à travers des wizards Eclipse.
HelloWord est un exemple concret de wizard page (décrits en XUL) et template qui permet de générer un fichier de type "Hello word".
Aujourd'hui Akrogen fournit les catalogues :
- Struts1.x qui permet de générer les composants Struts1.x Action, ActionForm...
- Blank catalog pour démarrer rapidement votre catalogue Akrogen qui permet de générer vos composants.
Je suis à la recherche de personnes motivées pour m'aider à concevoir des catalogues Akrogen pour générer les composants de n'importe quelle architecture et technologie (JSF, Struts2.x, DOJO Toolkit, PHP...)
Si vous êtes intéressés par le sujet, n'hésitez pas à me contacter. Les connaissances requises pour créer son propre catalogue Akrogen sont :
- XML/XUL qui s'apprend très rapidement, car Akrogen utilise uniquement XUL pour décrire les wizards et wizard pages
- avoir des notions sur les moteurs de templates Freemarker, Velocity ou XSL
- avoir des notions en JavaScript qui dans Akrogen est utilisé pour gérer la logique des wizard pages.
Toutes les critiques seront les bienvenues, afin d'améliorer Akrogen. Si vous n'avez pas bien saisi l'intérêt d'Akrogen, je serais ravi de pouvoir vous en parler plus.
Aller plus loin
- Site Akrogen (10 clics)
- Site Akrogen (2 clics)
- Blog Akrogen (12 clics)
- Forum Akrogen (11 clics)
# Compatibilité hibernate et scriptaculous
Posté par ovidiu . Évalué à 1.
J'aimerais pouvoir l'utiliser pour générer des mappings entre scriptaculous et hibernate. Existe-t-il un catalogue déjà établi pour cela ?
Merci
[^] # Re: Compatibilité hibernate et scriptaculous
Posté par Angelo ZERR . Évalué à 1.
Je m'excuse mais je ne comprends pas bien votre besoin et ce que vous souhaitez générer.
Aujourd'hui il existe un catalogue Akrogen qui permettent de génerer les composants Action, ActionForm,... de Struts1.x.
Un catalogue pour Struts2.x est à l'étude.
Angelo
# ETOOMANYBUZZWORDS
Posté par Zakath (site web personnel) . Évalué à 6.
[^] # Re: ETOOMANYBUZZWORDS
Posté par Angelo ZERR . Évalué à 3.
Vous dites cela car les mots wizards, Eclipse apparaissent plusieurs fois dans l'article.
J'ai tenté de rédiger un article qui puisse décrire et présenter au mieux Akrogen mais il est difficile de résumer Akrogen dans un petit article.
Je suis desolé que mon article ne vous plaise pas., mais si vous avez des questions n'hesitez pas.
Angelo
[^] # Re: ETOOMANYBUZZWORDS
Posté par z a . Évalué à -2.
[^] # Re: ETOOMANYBUZZWORDS
Posté par Angelo ZERR . Évalué à 2.
Concernant les problèmes de mémoires, j'ai un PC avec 512mo et je n'ai pas eu de problèmes.
Angelo
[^] # Re: ETOOMANYBUZZWORDS
Posté par floriang . Évalué à 1.
Il fait exactement ce que moi je voulais faire ! Enfin, presque. Moi ç'aurait été plus contraignant !
re-Woaw™ !
Merci de m'avoir fait découvrir cet outil, je m'en vais le tester de suite !
[^] # Re: ETOOMANYBUZZWORDS
Posté par Angelo ZERR . Évalué à 1.
Dans Akrogen j'ai du étendre Wazaabi pour gerer le Javascript et pouvoir utiliser directement les jars. Parce que Wazaabi fonctionne avec OSGI (notion de services), ce qui imposait d'installer Wazaabi puis Akrogen.
L'un des createur de Wazaabi Olivier Moïses est tres occupé mais bien sympa. C'est un francais.
Autrement votre projet consiste en quoi? Vous voulez utilisez Akrogen pour générer quel type de composants? Ou peut etre ce qui vous intéresse est plus la partie XUL->SWT gere par Wazaabi.
Angelo
[^] # Re: ETOOMANYBUZZWORDS
Posté par Stéphane Traumat (site web personnel) . Évalué à 1.
http://about.me/straumat
[^] # Re: ETOOMANYBUZZWORDS
Posté par Angelo ZERR . Évalué à 2.
J'ai l'impression que je vous ai enervé avec mon article. J'ai l'impression que vous me prenez pour quelqu'un qui veut se faire mousser et qui veut en mettre plein la vue avec des mots techniques. Loin de moi cette idée. Alors s'il vous plait dites moi ce qui ne vous plait pas dans la façon dont j'ai rédigé mon article et je ne veux pas que ce forum deviennent un point de dispute, je souhaiterais uniquement rencontrer des gens et pouvoir faire évoluer Akrogen en fonction des critiques postés.
Angelo
[^] # Re: ETOOMANYBUZZWORDS
Posté par Stéphane Traumat (site web personnel) . Évalué à 1.
En fait, mon post répondait à la phrase "Je suis sûr qu'il y a de quoi faire une grille de business loto rien que dans le texte de la dépêche..."
Donc, ce n'était pas pour vous :)
J'adore ce que vous avez fait :)
http://about.me/straumat
[^] # Re: ETOOMANYBUZZWORDS
Posté par Angelo ZERR . Évalué à 2.
Mon but n'est surtout pas d'avoir de conflits, mais je voulais comprendre et tenter de vous expliquer l'interêt de cet article. J'essaie de faire connaître comme je peux Akrogen et je me suis dis qu'un article sur LinuxFR était un bon moyen de faire connaître Akrogen et surtout de rencontrer des gens pour échanger.
Akrogen commence à être stable et les fonctionnaliés qu'ils proposent peuvent générer pas mal de choses. Mais il reste encore beaucoup de choses à faire. Si vous avez besoin de nouvelles fonctionnalités ou si vous trouvez la documentation légère, n'hésitez pas à laisser un message sur le forum d'Akrogen http://www.developpez.net/forums/forumdisplay.php?f=728
Encore désolé de ce mal entendu et n'hésitez pas à critiquer Akrogen pour qu'il puisse évoluer. Et merci pour vos encouragements.
Angelo
[^] # Re: ETOOMANYBUZZWORDS
Posté par blobmaster . Évalué à 0.
J'imagine que ce doit être encore plus énervant quand on fait, comme toi, l'effort de répondre à tous les messages.
Sinon je trouve ton greffon très intéressant et je suis en train de regarder comment je pourrais l'utiliser (c'est histoire de générateur franchement c'est top).
Seb,
Qui mérite quand même parfois de se faire toquer.
[^] # Re: ETOOMANYBUZZWORDS
Posté par Angelo ZERR . Évalué à 1.
merci beaucoup pour ton message de soutien. Je suis en effet au taquet. Que l'on me critique je suis tout a fait d'accord, c'est comme ca que l'on avance. Mais il est vrai que des critiques du style "Je suis sûr qu'il y a de quoi faire une grille de business loto rien que dans le texte de la dépêche...", je t'avoues que ca n'apporte rien et ca blesse, car mon but est de pouvoir rencontrer des gens et echanger avec d'autres personnes et les critiques qui font avancer je les attends avec plaisir.
En tout cas n'hesites surtout pas à me poser toutes les questions que tu as sur le forum Akrogen (http://www.developpez.net/forums/forumdisplay.php?f=728) . Akrogen commence à gérer pas mal de fonctionnalités, mais il y a encore pas mal de choses à développer. En ce moment il y a une personne qui étudie Akrogen pour créer un catalogue qui générera les composants Struts2.x.
Si tu as besoin de générer d'autres composants (JSF, Spring, PHP, ...) n'hesites pas à me solliciter, je t'aiderais à concevoir ton catalogue.
Angelo
# l'avenir ?
Posté par Axel . Évalué à 2.
Ce projet est peut être à mettre en parallèle au MDA, ne eserait-il pas intéressant/possible de l'intégrer dans la plateforme acceleo ?
Après tout le but est le même.
Pour en revenir à la génération de code, je trouve ça très intéressant, surtout avec l'essor des technologies Java par exemple. Elles sont tellement bloated qu'il est carrément rébarbatif de tout coder soi même. Et je ne parle même pas de la longueur des noms de classe et de fonction. Dans un tel cadre, la génération de code prend tout son sens !
[^] # Re: l'avenir ?
Posté par Angelo ZERR . Évalué à 2.
Akorgen a une philospohie différente que MDA. En effet la génération de code ne s'effectue pas à partir de modèle UML. Ellle s'effectue à l'aide de Wizard Eclipse que l'on écrit en XML/XUL.
MDA si je me trompe permet d'effectuer de la génération en masse (générer toute la couche DAO, Service,...). Akrogen est orienté composants, autrement un WIzard permet de générer ou mettre à jour un fichier.
La génération des getters/setters dans une classe JAVA intégrés à Eclipse est ce type de génération que Akrogen tente d'effectuer.
Les wizards peuvent générer des fichiers mais aussi mettre à jour des fichier XML. Le composant action-mapping ( http://akrogen.sourceforge.net/fr/struts-catalog/struts1x/ac(...) ) du catalogue Struts1 permet de mettre à jour le struts-config en ajoutant l'element XML action.
Il est possible d'ecrire ses wizard pages avec un XUL dynamique (http://akrogen.sourceforge.net/fr/catalog/components/input/d(...) qui permet d'afficher des wizards qui dépendent des fichier sélectionnés. La dernière copie d'écran montre une combo qui affiche tous les form-beans définis dans le fichier struts-config déja défini. Ceci s'effectue avec un XUL dynamique qui ressemble à l'écriture d'une JSP.
Angelo
[^] # Re: l'avenir ?
Posté par Angelo ZERR . Évalué à 2.
Angelo
# Ce n'est pas du XUL
Posté par Laurent J (site web personnel, Mastodon) . Évalué à 0.
Bref, cela ne fait qu'apporter confusion chez les développeurs, c'est dommage.
[^] # Re: Ce n'est pas du XUL
Posté par Angelo ZERR . Évalué à 3.
Lorsque j'ai commencé Akrogen j'avais créé ma propre grammaire XML. J'ai découvert XUL et je me suis dit que XUL permettrait d'éviter aux concepteurs de catalogues de ne pas ré-apprendre une nouvelle grammaire.
Mais Akrogen n'a pas la prétention de ré-implementer Mozilla, il utilise seulement la grammaire XUL pour décrire ses wizards.
Angelo
[^] # Re: Ce n'est pas du XUL
Posté par Laurent J (site web personnel, Mastodon) . Évalué à 0.
Donc ce n'est pas du XUL. Tu ne dois donc pas appeler ça du XUL.
Quand tu veux parler d'une renault megane, tu n'appelle pas ça une 307, bien que ce soit toutes les 2 des automobiles, avec 4 roues, 1 moteur, un volant...
On pourrait dire pareil pour C# ou Java. Ça se ressemble sur certains points, mais on n'a pas appelé ça avec le même nom.
En clair : trouve un autre nom pour ce langage XML.
[^] # Re: Ce n'est pas du XUL
Posté par Angelo ZERR . Évalué à 4.
Je suis désolé de t'offencer sur ce sujet, je voies que ca te tient à coeur.
Angelo
[^] # Re: Ce n'est pas du XUL
Posté par Laurent J (site web personnel, Mastodon) . Évalué à 2.
[^] # Re: Ce n'est pas du XUL
Posté par Angelo ZERR . Évalué à 1.
Akrogen est base sur Wazaabi http://wiki.wazaabi.org/index.php/Main_Page qui transforme une description XUL vers SWT qui implemente pas mal de widget XUL. C'est pour cela que j'ai parle de XUL.
Pour des raisons de facilites d'écriture du XML component je n'ai pas mis sur les attributs non xul (il y en a tres pres) de namespace particulier. Mais je comprends que pour un puriste, cela puisse choquer.
[^] # Re: Ce n'est pas du XUL
Posté par Axel . Évalué à 3.
Si j'écris du C pour le compiler avec ICC ou GCC, je ne me dis "je fais du C" et je fais du "autre chose" pour chaque compilateur.
Et XUL est bien un langage : XML-based User interface Langage. Un langage est composé de texte, puisque la syntaxe du XUL est utilisée, alors autant appeler ça du XUL, même s'il n'utilise pas la plateforme mozilla pour la compilation/génération.
[^] # Re: Ce n'est pas du XUL
Posté par Laurent J (site web personnel, Mastodon) . Évalué à 4.
Ton exemple du C est un mauvais argument. Si tu dis "voici mon programme en C", alors je m'attend à ce que ton programme compile avec n'importe quel compilateur C.
Si je prend un source pour Akrogen, non seulement ça ne va pas s'afficher (ou mal) dans un moteur qui sait interpréter le vrai XUL, mais dans l'autre sens, si je passe du vrai XUL à Akrogen, il y a également de forte chance (vu la faible implémentation de XUL dans Akrogen) que ça ne fonctionne même pas (et pour cause, puisque je n'aurais pas les balises spécifiques à Akrogen).
[^] # Re: Ce n'est pas du XUL
Posté par Bozo_le_clown . Évalué à 3.
Car XUL n'est pas Mozilla XUL
http://luxor-xul.sourceforge.net/
# mauvais lien
Posté par Achille Fouilleul (site web personnel) . Évalué à 2.
[^] # Re: mauvais lien
Posté par Angelo ZERR . Évalué à 1.
je m'excuse de mon erreur, mais je ne peux pas modérer mon message.
Voici le lien sur JSF http://java.sun.com/javaee/javaserverfaces/
Angelo
# On saisie le code dans un wizard ?
Posté par Cédric Brun (site web personnel) . Évalué à 1.
Comment se passe l'ajout de code dans l'action, le générateur va-t-il garder ce que j'ai ajouté ?
Lorsque je veux mettre à jour cette action, dois-je relancer le wizard ?
Puis-je garantir la cohérence entre mes actions, mes pages jsp, mes forms et mon struts-config avec Akrogen ?
[^] # Re: On saisie le code dans un wizard ?
Posté par Angelo ZERR . Évalué à 1.
tout dépend comment vous écrivez votre wizard. Par exemple dans le catalogue Struts1 le composant ActionForm http://akrogen.sourceforge.net/fr/struts-catalog/struts1x/ac(...)
permet de générer une classe ActionForm.
Le nom de la classe et le package doit être saisi. Par contre la saisie du package met à jour le répertoire de sortie et le nom de la classe JAVA met à jou rle fichier de sortie. Cette logique est écrite en Javascript sur les évenements onchange,... des controle XUL du wizard. Mais si cette logique ne vous plait pas vous pouvez modifier le fichier Javascript pour changer le comportement du wizard.
Aujourd'hui la mise a jour de contenu dans un fichier ne fonctionne qu'avec des fichiers XML (ex ajout form-bean dans struts-config) et properties. Pour l'instant le fichiers JAVA ne peuvent pas se mettre à jour mais je suis en train d'etudier l'API Eclipse qui permet de gérer un AST d'une classe JAVA.
Le point sur la cohérence est exactement ce que peut apporter Akrogen. En effet le catalogue Struts1 contient un wizard Struts1 qui permet d'enchainer plusieurs composants (Action,ActionForm, ...) .
Les champs d'un wizard page peut se mettre à jour avec un champs d'autre wizard page. Toute cette logique est gérée encore en Javascript. Si la logique du catalogue Struts1 que fournit Akrogen ne vous plait pas, vous pouvez la modifier.
Angelo
[^] # Re: On saisie le code dans un wizard ?
Posté par Angelo ZERR . Évalué à 1.
Angelo
[^] # Re: On saisie le code dans un wizard ?
Posté par Angelo ZERR . Évalué à 1.
La nouvelle version d'Akrogen permet de gérer des valeurs persistentes dans les wizard pages. Ces valeurs persistentes doivent être stockés dans un fichier de proprietes auqel fair réference (modèle) le XML component.
Dans la nouvelle version du catalogue Struts1.x les packages action et form peuvent etre persistent, ce qui évite de resaisir les packages.
J'ai aussi créer un XML component qui permet de gerer ces propriétés http://akrogen.sourceforge.net/fr/struts-catalog/struts1x.ht(...) settings (voir section Struts1.x settings)
Ceci permet d'avoir le bouton Browse pour rechercher les packages existants dans le projet.
Angelo
# Akrogen
Posté par Jean-Marc (site web personnel) . Évalué à 1.
Merci pour ce projet qui a l'air de bien dépoter.
Je vais m'empresser de le tester sur mes projets java, je pense que ca va grave améliorer ma productivité.
[^] # Re: Akrogen
Posté par Angelo ZERR . Évalué à 2.
si t'as des fonctionnalités dont tu as besoin (par contre les mickey c'est interdit) n'hésites pas à me les demander.
Angelo
[^] # Re: Akrogen
Posté par Michael CATANZARITI . Évalué à 2.
Fais attention quand même de ne pas partir en free style, on ne sait jamais.
Michaël
[^] # Re: Akrogen
Posté par Sylvain Sauvage . Évalué à 1.
# Portabilité du code
Posté par cdeblesson . Évalué à 1.
Je n'ai pas l'intention de lancer un débat sur les IDEs, mais il se trouve qu'après plusieurs années d'utilisation d'eclipse, je me tourne vers netbeans.
Est-ce que le code d'Akrogen est modulaire ? Y'a-t-il des composants (génération de code, création de wizards) pouvant être facilement (enfin sans avoir à tout réécrire) réutilisés pour pouvoir faire la même chose, mais pour l'IDE netbeans ?
Akrogen peut-il être vu comme un framework ?
Merci.
[^] # Re: Portabilité du code
Posté par Angelo ZERR . Évalué à 1.
J'ai tente de decomposer Akrogen dans plusieurs jar net.sourceforge.akrogen.core_1.0.3.jar (pour la generation de code),...
Mais une migration vers Netbeans demanderait un gros effort, notemment l'appropraition de l'architecture de Netbeans. Je ne connais pas Netbeans, mais je pense que ca doit etre comme Eclipse puissant mais demande un effort considerable. Ca fait a peu pres un an que je travaille sur Akrogen et je commence tout juste a obtenir une version stable, car il m'a fallu du temps pour apprendre Eclipse.
Mais si vous etes interesses par le sujet je pourrais tenter de vous aider, mais je ne prevoies pas personnelement de migrer Akrogen vers Netbeans, sauf si je me fais aider, car sinon je n'aurrais plus de temps pour dormir un peu.
Desole que Akrogen ne puisse pas être utilisé dans Netbeans.
Angelo
[^] # Re: Portabilité du code
Posté par cdeblesson . Évalué à 1.
Effectivement, Eclipse et Netbeans ont des fondations totalement différentes.
Disons que si le code est suffisamment modulaire (je n'ai pas encore regardé), je serai éventuellement intéressé par le développement d'une interface pour netbeans.
Et donc j'aurai sans doute besoin d'aide pour la bonne compréhension du code d'Akrogen, bien sûr je ne demande pas au développeur de créer ce dont j'ai besoin ;)
En ce moment je n'ai pas beaucoup de temps a y consacrer, mais je te contacterai sans doute lorsque j'aurai le courage de m'y mettre.
Salutations,
cdeblesson
[^] # Re: Portabilité du code
Posté par Angelo ZERR . Évalué à 1.
je serais ravi de pouvoir travailler avec toi et migrer Akrogen vers Netbeans. Je n'ai aucune expérience dansNetbeans, et je pense qu'il y aura surement du refactoring a faire (meme si j'ai essaye de faire au mieux).
Par contre d'apres ce que je viens de lire Netbeans est base sur Swing alors qu'Elcipse est base sur SWT. Akrogen etant base sur Wazaabi (pour transformer XUL->SWT), cela signifiera aussi qu'il faille migrer Wazaabi pour qu'il gere Swing.
Autrement dit il y a plein de choses a developper. Le jour ou tu aurras le temps, je demanderais a la fondation Waaabi si ils ont l'intention de gerer aussi Swing.
N'hesites pas à me contacter le jour ou tu aurras le temps et tu decideras a te mettre à la tache.
D'ici la bonne continuation.
Angelo
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.