IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Frameworks Web Java Discussion :

Struts ou JSF. Lequel retenez vous ? [Débat]


Sujet :

Frameworks Web Java

  1. #1
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut Struts ou JSF. Lequel retenez vous ?
    Bonjour,

    Pour quel framework MVC Strus optons nous? telle est la question posé par plusieurs développeurs ou architectes lors de la conception d'une application J2EE.

    Struts dispose d'une base de connaissances bien utile aux développeurs, il a fait ses preuves. contrairement à ce qu'on lui a prédit à la sortie de JSF : la mort.. il est entrain de passer maintenant à la version 2.0, la version beta est déjà en ligne...
    JSF quant à lui avait du mal à s'imposer, il possède néanmoins beaucoup d'avantages, et il a intégrer Java EE 5.

    Alors pour quel framework optez vous? et pourquoi?

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2005
    Messages : 42
    Points : 48
    Points
    48
    Par défaut
    Il me semble (mais je peux me tromper) que JSF n'est pas un framework MVC à proprement parler...
    Qui plus est beaucoup d'experts expliquent clairement que JSF vient en complément de struts... donc perso je ne suis pas sur que la question du choix soit judicieuse...

  3. #3
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    Citation Envoyé par Marnor
    Il me semble (mais je peux me tromper) que JSF n'est pas un framework MVC à proprement parler...
    Qui plus est beaucoup d'experts expliquent clairement que JSF vient en complément de struts... donc perso je ne suis pas sur que la question du choix soit judicieuse...
    Je pense que JSF dispose de tous les éléments pour faire du MVC 2, un controleur, le model, et la vue..

  4. #4
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Mouaip, enfin l'optique n'est carrément pas la même JSF est un système beaucoup plus gros, complet et complexe que struts. Struts c'est souvent du do it yourself alors que JSF est une énorme boite noire (vas analyser le cycle de vie d'un request en JSF tu comprendras).
    D'ailleurs il existe autre chose que struts et JSF, par exemple tapestry qui est quand même plus récent que struts et plus souple , spring ou plein d'autres encore...

    Soit il faut étrendre le débat soit il faut en rester là
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  5. #5
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    Citation Envoyé par sinok
    Mouaip, enfin l'optique n'est carrément pas la même JSF est un système beaucoup plus gros, complet et complexe que struts. Struts c'est souvent du do it yourself alors que JSF est une énorme boite noire (vas analyser le cycle de vie d'un request en JSF tu comprendras).
    D'ailleurs il existe autre chose que struts et JSF, par exemple tapestry qui est quand même plus récent que struts et plus souple , spring ou plein d'autres encore...

    Soit il faut étrendre le débat soit il faut en rester là
    le but est de comprendre pour quel besoin pourrait t'on choisir Struts au détriment de JSF ou vice-versa.

    ps: struts est certenement le plus anciens, mais il n'a cessé de se developper, on ne peux pas dire qu'il est 'dépassé'.

  6. #6
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Dans ce cas je comparerais plus Spring et JSF que Struts et JSF. On va dire que sortir JSF pour simplement en utiliser la partie MVC c'est sortir le bazooka pour tuer une mouche.

    Je verrais plutôt la comparaison sur les divers conteneurs MVC comme SpringMVC, Tapestry, Struts et une autre sur des frameworks plus évolués commpe Spring et JSF.

    Grosso modo le problème se pose surtout par rapport à la taille de ton projet.
    Si c'est relativement petit tu vas te diriger vers un conteneur MVC agrémenté de quelques petits outils supplémentaires (genre taglibs et autres).

    Par contre sur quelquechose de plus grand tu vas te diriger vers un framework plus complexe comme Spring ou JSF.

    Pour moi la comparaison Struts / JSF ne tient pas trop car ce sont des outils dont le but n'est pas forcément le même
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  7. #7
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    Vu de ce coté là, il est difficile aussi de comparer JSF et Spring; mise à part les points communs: MVC et l'IOC , spring offre beaucoup plus d'outils et de souplesse que JSF. De plus, JSF et spring s'integrent facilement ensemble.
    Struts dipose maintenant de pluging interessants: tiles, layout...
    Est ce qu'il judicieux de former des développeurs Struts au JSF?
    Est ce que ce que la version 2.0 de struts peut vraiment concurrencer JSF ?

    moi je penche plus pour JSF, la richesse des composants n'est pas à negliger, de plus, y'en a de plus en plus qui integrent AJAX.

  8. #8
    Membre expérimenté
    Avatar de azerr
    Homme Profil pro
    Ingénieur Etude JEE/Eclipse RCP
    Inscrit en
    Avril 2006
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Etude JEE/Eclipse RCP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 942
    Points : 1 464
    Points
    1 464
    Par défaut
    Je ne suis pas un expert en JSF, mais je l'ai etudie il y a a peu pres un an (donc depuis ca a du pas mal evoluer). Je pense que JSF est concu pour s'adapter a un outil de developpement RAD, autrement dit pouvoir designer sa page WEB comme si on designe une application SWING. On depose un bouton, on double click dessus, ca genere une methode onClick, on met son bout de code,...
    En effet JSF tente de faire abstraction du HTML. Lorsque l'on clique sur un bouton on ne fait pas un submit sur une URL mais on declenche un evenement onClick (meme si c'est ceci qui s'effectue). Pour ce point ci JSF ressemble tres fortement au WebForm de .Net.

    Mais la specification JSF ne parle pas de certains points qui me paraissent importants comme l'evenemment onLoad d'une page. Du coup chaque IDE a developpe sa solution pour gerer cet evenement. Il est donc impossible de passer d'un IDE a un autre (c'etait il y a un an, a verifier aujourd'hui).

    Un sous projet de Struts, appele Struts Shale apporte une solution a ce manque de specification (avec les View je croies).

    En definitive, je pense que faire du JSF sans un IDE qui permet de faire du RAD, n'a pas vraiment d'interet. Si je devais faire du JSF, je pense que je partirais sur Struts Shale qui permet de communiquer avec Spring.

    Concernant Struts2, je suis en train de l'etudier, et je trouve le concept plutot pas mal (il est base principalement sur WebWork), et ca n'a presque plus rien a voir avec Strus 1.x. Struts2 integre AJAX, mais son integration n'est pas encore tres claire (c'est mon avis) notemment sur le toolkit AJAX. J'ai pose la question sur le forum de Struts, et il ont decide de partir sur Dojo (et DWR je croies pour la validation). Mais ils reflechissent a comment integrer facilement d'autre Toolkit comme Prototype/Scriptaculous.

    Pour utiliser Ajax avec Struts, en ce qui me concerne j'utilise AjaxTags qui me convient et mon projet Open Source JSControlsTags qui ajoutent d'autres widget comme un slider/treeview,swap, (bientot AjaxMessageQueue pour gere des messages stockes dans une queue (eg : recuperer les log de log4j).

    Maintenant je ne suis pas un expert en JSF et certains points que j'ai dit peuvent ne plus etre vrai aujourd'hui.

    Angelo

  9. #9
    Membre confirmé
    Avatar de grishka
    Inscrit en
    Janvier 2003
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 285
    Points : 499
    Points
    499
    Par défaut
    un lien sur le blog de Craig McClanahan, créateur de Struts et JSF :

    http://blogs.sun.com/craigmcc/date/2...jsf_struts_and

    Il date un peu, donc certains points ont surement évolué, mais pas dans les grandes lignes.

    D'après Craig, Struts et JSF sont complémentaires. On peut utiliser le contrôleur Struts pour les gérer enchainements applicatifs et JSF pour les évèments générés par les Widgets (onButtonClick, onItemSelected, ...) . Et effectivement Struts propose une sorte d'adaptateur pour JSF depuis la version 1.3.x. De même pour Struts 2.0.

    Ensuite JSF est utilisé par l'IDE de Sun Java Creator Studio. Mais d'après ceux qui l'ont utilisé, ca produit du code difficile à maintenir, et pas toujours performant... bref a réservé au prototypage ?

    Enfin l'intérêt de JSF est de faire partie des spécifications J2EE 5.0. (http://java.sun.com/javaee/technologies/webapps/)
    "Les gens normaux croient que si ca marche, c'est qu'il n'y a rien à reparer. Les ingénieurs croient que si ca marche, c'est que ca ne fait pas encore assez de choses."
    --Scott Adams

Discussions similaires

  1. [Antivirus] lequel conseillez vous ?
    Par Maxoo dans le forum Sécurité
    Réponses: 18
    Dernier message: 12/01/2006, 20h21
  2. [Débutant][Framework] Spring vs Struts vs JSF
    Par Saloucious dans le forum JSF
    Réponses: 2
    Dernier message: 13/07/2005, 09h42
  3. [ARCHITECTURE] Struts ou JSF ?
    Par bgonline dans le forum JSF
    Réponses: 2
    Dernier message: 20/04/2005, 12h21
  4. [ JSF ][ Struts ] Intégration JSF et Struts
    Par tiSioux dans le forum JSF
    Réponses: 10
    Dernier message: 26/07/2004, 11h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo