Forums : Les possiblités de la plateforme Mozilla

Aller à la discussion :  Plus récente Plus ancienne

# XUL, Formulaire, et notion de Perspective/View

Envoyé par : indy

Date : 04/03/2008 08:49

Bonjour,

Je dois réaliser (dans le contexte professionnel) une application web.

Au début, il était décidé de partir sur Eclipse RCP, mais finalement, nous optons pour rester sur une application Web type "Remote" pour faciliter déploiement et mise à jour (avec éventuellement quelques extensions pour assurer la connexion avec des périphériques locaux, ce qui a d'ailleurs exclu pour le moment Abode Flex/AIR, non mature dans le domaine).

Ce qui commence à me faire peur, c'est que l'application aura énormément de formulaires et d'interactions avec le serveur. Et pour le moment, les services de notre middleware sont adressable uniquement en SOAP ou EJB.

J'ai regardé ce qui était disponible vie Firefox/XulRunner.

Côté SOAP, il n'y a plus rien d'utilisable en natif. Et côté formulaire, c'est assez pauvre à mon goût (mais je suis surement passé à côté de quelque chose !).

J'ai également regardé côté XForms, et ça a l'air très intéressant, complet mais surtout très (trop) complexe. Je n'ai, de plus, pas trouvé beaucoup de ressources qui traitent de XForms dans le contexte d'une appli XUL. Surtout côté événement (XML-Event ?) et interaction via JavaScript. Dommage.

Enfin, une des très grande puissance d'Eclipse RCP que je ne retrouve pas côté XUL, c'est la gestion "en natif" des concept de Perspective, et de View. Je trouve ça super pénalisant.

Ces concepts sont, après une veille ergonomique sur le sujet, de plus en plus utilisés dans le cadre des applications professionnelles.

Dans l'univers Mozillien, ce type de gestion (au moins pour la partie "View") se retrouve dans le debugger JavaScript Venkman. J'ai essayé de voir comment ça avait été géré. Et là, ça ressemble plus à un grand plat de nouilles qu'à quelque chose d'optimisé et réutilisable.

Dernière chose : dans l'éventualité de réaliser des extensions, toutes nos compétences en interne de l'entreprise sont orientées Java (pas de compétence C/C++). Du coup, nous aimerions les réutilisés si besoin. J'ai trouvé quelques ressources sur MDC, mais j'ai l'impression que c'est un peu buggué et pas très simple pour Java (comparé à C++ par exemple). Est-ce qu'il y a des améliorations de prévues ?

En bref :

  • Pour dialoguer facilement avec des services SOAP, quelles sont les solutions ? Dois-je obligatoirement demander à faire développer une couche d'accès XML-RPC ou REST pour dialoguer avec notre middleware ?
  • Quels sont vos conseils, vos outils (IDE), et surtout vos ressources (tutoriaux, livres, démos, etc) pour apprendre et gérer de manière efficace et rapide une application avec de nombreux formulaires et de nombreuses interactions client/serveur.
  • Comment réaliser ou réutiliser un composant View/Perspective ? Il y a-t-il déjà des XBL prêts à l'emploi qui existeraient ?

# Re: XUL, Formulaire, et notion de Perspective/View

Envoyé par : David Marteau

Date : 04/04/2008 18:59

Comparer Eclipse RPC et XUL ne me semble pas vraiment pertinent, XUL est juste une syntaxe déclarative pour construire des interfaces (comme mxml avec Flex) - A toi de construire les modèles que tu veux avec.

Concernant les services:

Un couche XML-RPC est disponible La gestion de SOAP est implémenté (et avec lui UDDI et WDSL).

Pour les IDE:

Personnellement j'utilise eclipse (CDT pour le C++,et Spek pour le js, qui a le bon goût d'intégrer la définition des interfaces XPCOM). Mais pas d'IDE spécifique pour développer les interfaces (c'est du XML après tout).

Si tu préfère utiliser Java, ce n'est pas un problème, les interfaces des composants XPCOM sont disponibles pour Java, et aux dernière nouvelles le couple Java <-> Xulrunner fonctionne bien. Ce qui marche bien est d'utiliser XulRunner via un processus Java (et non le contraire).

Le concept de 'Perspective' et de 'Vue' tel qu'il est utilisé dans Eclipse ne me semble pas être difficile à implémenter étant donné la l'aspect 'déclaratif' de l'interface et le fait que l'on manipule un DOM+CSS (à l'instar du HTML). ( A mon avis cela doit être même très facile :)

# Re: XUL, Formulaire, et notion de Perspective/View

Envoyé par : laurentj

Date : 05/05/2008 10:36

J'ai également regardé côté XForms, et ça a l'air très intéressant, complet mais surtout très (trop) complexe.

Là je m'insurge :-). Xforms n'est pas complexe, il est différent, et est surtout trés puissant. Les formulaires HTML sont d'une pauvreté absolue. Quant aux formulaires XUL, ils sont... inexistants.

Je n'ai, de plus, pas trouvé beaucoup de ressources qui traitent de XForms dans le contexte d'une appli XUL. Surtout côté événement (XML-Event ?) et interaction via JavaScript. Dommage.

Je crois qu'il faut que tu relises un peu des tutos sur xforms :-). Xforms est un format déclaratif. Tu n'as donc pas besoin de javascript. Tout l'intéret est là ! Tu lui indique ce que tu veux faire, et il fait tout à ta place (validation, envoi, interaction entre champs etc) !

Xforms avec XUL ça marche bien, en tout cas dans gecko 1.8, car il n'est pas tout à fait adapté à gecko 1.9 vu les changements qu'il y a eu.

Et sinon, Xforms, ça reste du XML, donc si tu veux faire des trucs de "sioux", pas de problème : manipulation DOM, events DOM etc.. Bref, la routine, rien de compliquer par rapport à de la manipulation de XUL ou HTML.

Pour ce qui est des perspectives et des views. Comme le dis David, c'est pas super complexe à mettre en place, à coup de XBL. En tout cas, c'est loin d'être impossible. J'avais déjà étudié la question, sans toutefois avoir eu le temps de l'implémenter.

Je confirme que dans Venkman, l'implémentations des views est une horreur, mais ils ont un alibi : c'est du trés trés vieux code, réalisé à une époque où XBL n'était pas super au point (ex: tout le javascript des XBL n'est pas dans les XBL mais a été externalisé). Depuis, ils n'ont rien fait pour adapter le mécanisme de Venkman avec les dernières possibilités de Gecko. (Après tout, ça fonctionne bien comme ça :-) )

Pour dialoguer facilement avec des services SOAP, quelles sont les solutions ? Dois-je obligatoirement demander à faire développer une couche d'accès XML-RPC ou REST pour dialoguer avec notre middleware ?

deux solutions : soit te compiler un firefox avec l'extension soap activée (pas sûr que ce soit toutefois une bonne solution, parce que si ce n'est plus dans firefox, c'est pour une bonne raison : l'implémentation n'a pas été maintenu activement, et reste assez buggée). Soit effectivement utiliser d'autres techniques.

Quels sont vos conseils, vos outils (IDE), et surtout vos ressources (tutoriaux, livres, démos, etc) pour apprendre et gérer de manière efficace et rapide une application avec de nombreux formulaires et de nombreuses interactions client/serveur.

Si vos formulaires sont assez complexes, je pense que ça vaut le coup d'utiliser XForms (mais avec FF 2.0). Sinon, il faut te faire quelques xbl qui faciliterai la validation et l'envoi des formulaires en XUL. J'en ai fait dans jelix. Pour les tutos, il y a des trucs pas mal sur w3.org :

Franchement, quand on s'y met, ça peut devenir trés sympa Xforms.

# Re: XUL, Formulaire, et notion de Perspective/View

Envoyé par : indy

Date : 05/05/2008 11:22

Bon, c'est encourageant tout ça ! :)

Je vais donc attendre un peu que XForm se stabilise avec Gecko 1.9 avant de me remettre sur mon projet.

Je que ça sera l'occasion d'écrire un petit tutorial ... (histoire de donner un peu le change à la communauté qui m'a beaucoup apporté !)

En ce qui concerne le concept de Workbench : Je suis un "habitué" de la conception d'application Eclipse RCP. Et j'affirme haut et fort que ce genre de fonctionnalité n'est pas un luxe pour un framework RIA/RDA ! :)

Du coup, je pense qu'il serai intéressant de monter un petit projet (si ce n'est pas déjà fait) pour donner à la communauté ces fonctionnalités.

Ensuite, je pense qu'il sera également intéressant de voir de quelle manière les avancés et fonctionnalités des autres frameworks RIA/RDA pourrai enrichir le toolkit Mozilla.

Laurent ... aurais-tu par hasard des conseils pour la mise en place d'un projet de briques fonctionnelles de ce type ?

Qui serait intéressé également pour participer à son développement ?

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.