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

JSF Java Discussion :

Besoin de conseils pour afiner le choix du framework


Sujet :

JSF Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 92
    Points : 48
    Points
    48
    Par défaut Besoin de conseils pour afiner le choix du framework
    Bonsoir, j'essaie de dégager un cadre pour commencer une application web, je débute plus ou moins, ayant utilisé jusqu'à présent ibatis, spring pour initialiser les couches métier et dao, et de simples jsp pour la présentation (+taglib jstl et standard) (alala les années 2000...)

    Je souhaite passer aux framework et me mettre à l'ajax, et il m'a déjà fallu pas mal de temps pour comprendre quel framework faisait quoi d'une part et savoir qui allait avec qui, bien que ça ne soit pas 100% clair non plus.

    Au niveau framework web, il faut donc faire son choix parmi Struts, JSF, GWT, Wicket, Tapestry et Spring Web si j'ai bien compris.
    Je préfère utliser un framework orienté composant, ce qui réduit le choix à jsf, et wicket, j'ai pu voir des exemples avec wicket et c'est plutot chouette a priori, mais mon choix se tourne vers jsf, étant beaucoup plus utilisé et standard.
    Et là on se rend compte qu'on a encore le choix quant au jeu de composant.
    Les plus utilisés étant RichFaces, IceFaces et ajax4jsf, ma question est utilise-t-on un seul de ces jeux de composant ou pioche-t-on dans l'un et l'autre suivant les besoins ? (ou encore l'un peut faire ce que l'autre propose)
    Dans tout ça j'y perds un peu mon vocabulaire, myfaces est-il un autre jeu de composants ? (il n'apparait pas dans le sondage du forum)

    J'ai pu voir également qu'il existait Seam JBoss qui regroupe différents outils, mais je ne suis pas sûr qu'il corresponde à ce que je cherche :
    Pour la partie persistance, je ne sais pas si je dois utiliser EJB3 ou hibernate3, les deux sont proches à mes yeux, mais EJB3 à l'air d'englober hibernate3. J'ai lu que si l'on voulait disposer d'une couche métier plus avancée que du crud, il fallait passer par ejb, or hibernate est très utilisé. Sachant que les 2 utilisent maintenant des annotations plutot que du xml, que reste-t-il comme différence entre les 2 ?

    En restant du côté open source, j'aimerais bien voir quelles sont les solutions concretes utilisées sur un projet actuel auquel vous participez, si possible en décrivant rapidement à quoi sert tel ou tel outil, même s'il est petit.
    (par exemple : j'utilise actuellement hibernate avec tel ou tel autre framework, pour la partie présentation on a ceci et cela...).

  2. #2
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Youuuuuuuuuuuuuh ca fait trop de question touyt d'un coup, on ne souvient plus laquelle répondre . En fait JSF parait être le framework de niveau 2 le plus utilisé, après ca se discute. Si ton choix se porte sur JSF tu peux maintenant choisir niveau couche 1 quel client riche choisir, si tant est que t'aies besoin d'utiliser un framework pour la gestion de l'affichage, la prise en main est un peu longue mais après ca t'aide à aller plus vite quand même dans les dev, plusieurs composants te facilitent les choses. Effectivement t'as plusieurs frameworks RIA que tu peux coupler à JSF (RichFaces, Myfaces, Icefaces tomahawk) etc... tu peux les utiliser séparement ou tous les charger dans un projet, mais dans ce dernier cas bien mesurer les consequences en terme de perf. Moi perso j'utilise plus RichFaces, mais il m'est arrivé de faire des appels Tomahawk pour certains composants qui n'etaient pas dispo coté RichFaces.
    Pour la persistance les EJB sont un peu contraignants je pense, ca t'exige certains serveurs spécifiques comme Jboss Jonas 5 etc... avec Spring desormais on utilise desormais de moins en moins les EJB3.

  3. #3
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Bon, ça fait effectivement beaucoup de questions...

    Je ne reviendrais pas trop sur les comparaisons entre les différents frameworks de présentation. JSF a "l'avantage" d'être intégré nativement dans JavaEE, ce qui en fait la technologie standard mais pas nécessairement la meilleure. Après, ça dépendra aussi beaucoup des besoins.

    Passons.

    JSF n'est qu'une spécification, autrement dit un gros document qui dit comment ça marche, et comment ça doit traiter telle ou telle chose. Passionnant, mais concrètement, c'est l'implémentation qui va nous intéresser. Là, avec JSF 1.2, on avait un minimum de choix. C'était l'implémentation de Sun ou MyFaces. Avec JSF 2.0, on est "limité" avec l'implémentation de Sun/Oracle (je n'en connais pas d'autre, peut-être y en a t'il ?).

    JSF fait donc la couche présentation. Donc dans 99,9% des cas, ce sera du HTML. Comme tu l'as dit, c'est un framework orienté composants. Il faut donc opter pour une librairie supplémentaire de composants, car si nous avons le minimum vital avec l'implémentation de base, si on veut faire du web 2.0 qui est tout joli, on est très vite limité (bien que JSF 2.0 ait introduit le composant ajax). On optera avant tout pour Richfaces (ajax4jsf est partie intégrante de cette librairie désormais), Icefaces ou Primefaces.

    Ce sont des librairies de composants, et donc normalement "superposables". En réalité, c'est un peu plus compliqué, car chaque librairie aura sa spécificité, imposera tel ou tel filtre, etc. Donc des incompatibilités peuvent survenir. Heureusement, ces librairies sont très riches, et on peut généralement satisfaire tous ses besoins avec une seule d'entre elles. Le mieux étant avant d'aller faire un tour sur les sites de ces librairies, car ils proposent toujours un showcase, démontrant l'utilisation de chaque composant (ex pour Richfaces : http://richfaces-showcase.appspot.com/)

    Un petit mot sur Seam : il a été introduit à l'époque de JSF 1.2 afin de pallier certains soucis de JSF (par exemple sur les limites des scopes), et offrir aussi un package complet, ne se limitant pas simplement à la couche présentation. J'ai vu que Seam 3 venait juste de sortir, mais peut-être serait-il bien de se limiter à JSF dans un premier temps...

    Sinon, en ce qui me concerne, j'utilise du JSF 1.2 avec RF, Spring et Hibernate. Mais j'aime aussi beaucoup Play Framework, qui a adopté une position très différente...

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 92
    Points : 48
    Points
    48
    Par défaut
    MERCI !!

    Je suis conscient que ça faisait beaucoup de questions, mais comme dit je débute et j'ai tout découvert d'un coup sans présentation, donc tout est un peu confus, mais vos 2 posts m'ont franchement bien éclairé sur la situation.

    Du coup, je pense opter pour les mêmes outils que romaintaz vu leur popularité. J'hésite seulement pour la libraire de composants, en visitant les showcase, iceface avait l'air plus chouette, ou plus fourni, mais je me trompe peut-être. Qu'est-ce qui vous fait pencher entre l'un ou l'autre ?
    (et si j'ai bien saisi, si j'opte pour iceface je dois également prendre une lib Aussi, pour utiliser Spring correctement, pensez vous que l'achat du livre Spring par la pratique 2.5 et 3.0 soit utile ou bien les tutos sont suffisant pour la plupart des cas ?

  5. #5
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Citation Envoyé par gabz57 Voir le message
    Qu'est-ce qui vous fait pencher entre l'un ou l'autre ?
    Moi c'était surtout historique, car lorsque mon projet a démarré, il y a 4 ans, il n'y avait pratiquement pas le choix. C'était soit Tomahawk, un projet finalement plus maintenu, soit RF, qui était à l'époque bien moins complet qu'aujourd'hui, mais déjà très actif...

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 92
    Points : 48
    Points
    48
    Par défaut
    Merci pour la réponse, bien qu'elle ne m'éclaire pas vraiment plus cette fois.
    A la vue de votre signature, j'en profite pour vous poser une question à propos de maven, car je le croise souvent dans les tutos, mais je ne saisi pas ce qu'il pourrait apporter à un projet. Certes il gère visiblement les dépendances avec les libs, bien que je n'ai pas compris comment, mais comme avec ant il sert aussi à compiler un projet, et là pourquoi ne pas simplement utiliser le petit raccourcis dans netbeans par exemple ? C'est plus utile si l'on bosse à plusieurs ??

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 92
    Points : 48
    Points
    48
    Par défaut
    En fait c'est réglé je viens de tomber sur les pages de baptiste wicht, et c'est carrément clair !

    A propos des IDE, j'utilise netbeans actuellement, mais comme il existe des plugins desfois pour eclipse et pas netbeans, lequel choisir si j'utilise les frameworks Spring, hibernate, richfaces, log4j et maven 2 ?

  8. #8
    Membre expérimenté
    Avatar de Patriarch24
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 047
    Points : 1 640
    Points
    1 640
    Par défaut
    Avec JSF 2.0, on est "limité" avec l'implémentation de Sun/Oracle
    MyFaces couvre aussi JSF-2.0, Tomahawk, Trinidad et Tobago ont été mises à jour pour supporter cette version aussi.

    avec Spring desormais on utilise desormais de moins en moins les EJB3.
    Ce n'est pas forcément vrai, au contraire les EJB3 remettent en question l'utilisation de Spring pour les nouveaux projets.

    A propos des IDE, j'utilise netbeans actuellement, mais comme il existe des plugins desfois pour eclipse et pas netbeans, lequel choisir si j'utilise les frameworks Spring, hibernate, richfaces, log4j et maven 2 ?
    L'un comme l'autre t’apportera satisfaction. Je connais plus Eclipse, et la gestion des projets maven n'est pas encore tout à fait au point (j'utilise encore souvent la console...). Concernant Spring et Hibernate, tu as des outils fournis par l'IDE mais aussi par maven, à toi de voir (personnellement, j'utilise systématiquement les outils maven quand c'est possible).

    Bon courage !

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 92
    Points : 48
    Points
    48
    Par défaut
    Merci, il m'en faudra !

    Je vais quand même partir vers l'outil spring plutôt que EJB3, on croise spring partout.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Besoin de conseils pour choix DP
    Par MrBeb dans le forum Design Patterns
    Réponses: 1
    Dernier message: 28/05/2011, 21h28
  2. Besoin des conseils pour choix de CMS
    Par kira'an dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 18/09/2008, 14h10
  3. besoin de conseil pour choix compilateur
    Par nzaero dans le forum Autres éditeurs
    Réponses: 0
    Dernier message: 26/05/2008, 20h03
  4. Réponses: 4
    Dernier message: 20/05/2005, 13h30
  5. Réponses: 3
    Dernier message: 24/12/2004, 12h21

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