WebMotion, le framework web libre arrive dans sa deuxième version

Posté par . Édité par Xavier Claude et Bruno Michel. Modéré par Lucas Bonnet.
Tags : aucun
13
8
déc.
2011
Java

Après six mois de développement, le framework web Java WebMotion vient de sortir sa deuxième version.

Pour rappel, WebMotion est un framework web Java EE 6, son but est de lier des URL ou des événements à des actions à exécuter.

Pour la réalisation de cette nouvelle version, une grande partie des efforts a été concentrée sur la possibilité d'étendre le framework par le biais d'extensions. Les extensions permettent de rajouter du comportement sur une application WebMotion ainsi que de réutiliser des composants applicatifs entre projets. Une extension Spring et une extension wiki ont d'ores et déjà été implémentées. Une des prochaines étapes concernant le développement de WebMotion sera la création d'un ensemble plus large d'extensions (sécurité, mesure d'audience, etc.) permettant un développement encore plus rapide d'applications web.

La documentation a été complétée. Un ensemble d'exemples a été écrit pour mettre en évidence les fonctionnalités de WebMotion.

De nombreuses améliorations et corrections de bugs ont été réalisées dont, en vrac :

  • création d'un parser ANTLR pour valider la syntaxe du fichier de mapping de votre application ;
  • simplification de la syntaxe dans le fichier de mapping dans le cas d'un rendu direct de vue ;
  • suppression de la contrainte de la présence du contexte dans les URL de l'application ;
  • validation des paramètres fondée sur une implémentation de la JSR 303 ;
  • nouveaux rendus pour les statuts HTTP (par ex. : retour simple d'un statut 404) ;
  • possibilité d'accéder au contexte web directement en paramètre de la méthode d'un contrôleur ;

Pour plus de détails, il est possible de consulter la forge du projet.

  • # Sympa

    Posté par . Évalué à 2.

    Je ne connais Play que de nom, mais je viens de regarder un peu la doc de WebMotion. J'aime bien le principe d'avoir un fichier de mapping. Mais je me demande s'il ne pourrait pas y avoir des annotations pour définir les parties statique avec le fichier de mapping et des annotation pour le reste ainsi on pourrait écrire ça :

    public class Hello extends WebMotionController {
        @Mapping("/hello?user={user}")
        public Render sayHello(String user) {
            return renderView("hello.jsp", 
                "name", user); // couple clé = valeur
        }
    }
    
    

    Les logiciels sous licence GPL forcent leurs utilisateurs à respecter la GPL (et oui, l'eau, ça mouille).

    • [^] # Re: Sympa

      Posté par . Évalué à 1.

      L'idée est vraiment d'avoir un fichier de mapping centralisé et de ne pas avoir d'annotations réparties dans plusieurs fichiers.

      Spring MVC va dans ce sens.

      • [^] # Re: Sympa

        Posté par . Évalué à 1.

        Je ne connais pas ce framework mais la notion d'extension et de fichier centralisé pour le mapping me semblent quelque peu contradictoires non ?

        • [^] # Re: Sympa

          Posté par . Évalué à 1.

          La contradiction semble présente, mais ne l'est pas.

          Le fichier de mapping d'une extension est écrit par le développeur de l'extension, qui répond à un domaine fonctionnel défini. De ce fait, lorsque vous créez votre application, vous pouvez utiliser plusieurs extensions (donc, plusieurs fichiers de mapping), mais vous n'en écrirez finalement qu'un unique fichier de mapping.

  • # Un concept similaire dans GWT

    Posté par (page perso) . Évalué à 1.

    Juste pour info, GWT (une suite qui compile du Java vers du Javascript et propose un système de RPC permetant de comuniquer facilement avec un serveur ou un mobile sous Android) a un concept sympa dans le genre mais appliqué aux GUIs.
    L'idée est d'avoir une classe, appellée ActivityMapper qui réalise cette fonction d'associer des adresses (des « places ») à des « activités ». Les activités étant typiquement un ensemble constitué d'une vue (des widgets) et d'un présenteur (la logique de la vue, qui peut être identique pour différentes vues réalisant la même fonction). Le framework aide en implémentant tout ce qui est gestion de l'historique, recyclage des vues etc.

    Ça c'est pour les similitudes. La grosse différence c'est que tout se passe côté client. Ce qui est parfois un plus quand on fait une application dans le navigateur, mais est certes gros inconvénient quand on fait un site.

    Il reste qu'en utilisant GWT et en consultant quelques tutos associés, j'ai découvert des manière d'organiser une GUI qui me semblent sympathiques quelque soit le langage (MVP, le couplage faible grâce à un EventBus…).

  • # Ca me fait penser à

    Posté par (page perso) . Évalué à 2.

    http://www.restlet.org

    Ces projets sont-ils en concurrence?

    http://devnewton.bci.im

    • [^] # Re: Ca me fait penser à

      Posté par . Évalué à 1.

      Non c'est pas un concurrent direct puisqu'il ne repose pas sur les mêmes technos. De plus, à ma connaissance, Restlet ne permet pas retourner des pages jsp comme peut le faire WebMotion (par exemple).

      • [^] # Re: Ca me fait penser à

        Posté par . Évalué à 1.

        Restlet possède différentes extensions dont freemarker et velocity. C'est donc très facile de retourner une représentation HTML en utilisant le pattern MVC avec Restlet.

      • [^] # Re: Ca me fait penser à

        Posté par . Évalué à 1.

        De toute façon les JSPs c'est le mal. C'est moche.

        Vive les frameworks "tout java" (genre GWT). Vive le vendredi !

        • [^] # Re: Ca me fait penser à

          Posté par . Évalué à 0.

          Vendredi, c'est permis.

          Autant dire que les JSPs c'est le mal, je le conçois. Autant dire vive GWT ... ça me donne des frissons. Même si je reste presque convaincu de l'intérêt de GWT pour des appli de gestion (professionnelles, entreprise), autant pour faire un vrai site web, avec les contraintes logiques inhérantes au web comme l'accessibilité, gestion réelle de l'historique de navigation, référencement des URLs, ça me SEMBLE tout pourri, au mieux laborieux.

          GWT c'est juste une techno pour ceux qui ne savent pas ou qui n'ont jamais fais de web (et qui font du Java).

          Pour en revenir à WebMotion, ça peut être une idée de ne plus s'appuyer sur les JSPs / Servlets, j'ai vu plusieurs discussions / témoignages qui allaient dans ce sens. Peut-être pour une version future du framework ?

        • [^] # Re: Ca me fait penser à

          Posté par . Évalué à 0.

          Wicket !

Suivre le flux des commentaires

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