Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

JSF ? Struts ? Echo ? Que faire ?

12 réponses
Avatar
Zouplaz
Bonjour, ma question n'a sans doute rien d'original mais j'aimerais avoir
votre avis ou votre aide pour trouver mon chemin ;-)

Voici ma situation : j'ai développé au cours des années de nombreuses
applications PHP (après être passé par les CGI, ColdFusion et surtout
ASP).
Actuellement, je suis à classer dans la catégorie des "freelances".

Je vise le marché local (ma région) : peu ou pas de SSII, un potentiel
qui reste à déterminer pour ce qui est du marché des sociétés privées
(clients finaux), beaucoup d'institutionnels.
Jusqu'à présent PHP s'est révèlé un outil adapté et efficace, en regard
des budgets et des types d'applications (intranet, sites web et leurs
outil s de backoffice).


Combien de temps les choses resteront comme ça ? Aucune idée. Mais je
suis à peu près certain qu'à un moment ou à un autre je serai confronté à
des marchés pour lesquels la connaissance soit de dot.net, soit de java
(jsp/servlet à défaut de J2EE) sera nécessaire.
Pour ce qui me concerne je préfère choisir Java.

J'ai un niveau intermediaire en programmation objets (C++), et également
pratiqué Java il y a fort longtemps.

Actuellement, je cherche à déterminer :
- les quelles étapes par lesquelles je vais devoir passer pour mon auto-
apprentissage
- et surtout quels outils choisir (et m'y tenir)

Pour les étapes, pas trop de soucis, je vais me faire mon plan de
bataille pour l'apprentissage des bases (bosser le langage, apprentissage
d'eclipse, potasser JSP et Servlets, les coins et recoins de TomCat, Ant,
etc.)

Par contre là où je coince sérieusement c'est que je n'arrive pas à
déterminer quel framework ou technologie complémentaire exploiter.
A mon avis, apprendre à développer uniquement des pages JSP est
restrictif et développer des servlets truffés de code générant du XHTML
est un non sens. En tout cas, j'ai la nette impression que c'est
"mal" ;-)
Ce qui m'amène à penser que le couple JSP/Servlet est insuffisant et que
je peux aussi bien rester à PHP dans ce cas...

Il y a quelques mois j'ai fais quelques tests avec les JSF...
Globalement, j'ai trouvé ça tordu, lourd et verbeux, peut-être à tord.
(Peut-être que mon niveau actuel était trop faible pour pouvoir en tirer
toute la quintescence ?)



Et j'en arrive à ma question : puisque j'ai un choix à faire, vers quoi
me tourner ? Sur quels critères opter pour JSF ou Struts ou Typestry ou
Echo ou que sais-je encore, sachant qu'il me semble difficile de
maitriser correctement plusieurs frameworks ?

Y a-t-il d'autres alternatives ? Est-ce que focaliser sur le choix du
framework est une erreur ?


Si vous avez des retours d'expérience en ayant vécu une situation
similaire, ou si vous être de l'autre côté de la barrière (SSII, client
final) votre avis est le bienvenu !!


Merci d'avance

10 réponses

1 2
Avatar
Vincent Cantin
Plus les processeurs sont rapides, et plus les fantasmes des gens sur la
lenteur de java disparaissent.

A part ca, du concret : Java gagne peu a peu du terrain par le fait qu'il
reduit enormement le temps de developpement et qu'il permet d'aboutir dans
les plus souvent des cas a du code plus stable.

Mon avis : Il faut mieux taper dans du java que dans le C++, ce language
prendra le dessus sur le C++ quand les vieux programmeurs seront
minauritaires par rapport aux jeunes qui eux l'apprenne en fac et
representent le dynamisme et l'innovation.

Vincent
Avatar
Vincent Cantin
Actuellement, je cherche à déterminer :
- les quelles étapes par lesquelles je vais devoir passer pour mon auto-
apprentissage


Le site www.javasoft.com apporte quasiment tout ce dont tu peux avoir besoin
... tutoriaux, liens, doc, etc ... Tu peux aussi utiliser des bouquins, ca
aide.

- et surtout quels outils choisir (et m'y tenir)


Eclipse ou JBuilder 2005, ou un autre ...


Pour les étapes, pas trop de soucis, je vais me faire mon plan de
bataille pour l'apprentissage des bases (bosser le langage, apprentissage
d'eclipse, potasser JSP et Servlets, les coins et recoins de TomCat, Ant,
etc.)

Par contre là où je coince sérieusement c'est que je n'arrive pas à
déterminer quel framework ou technologie complémentaire exploiter.
A mon avis, apprendre à développer uniquement des pages JSP est
restrictif et développer des servlets truffés de code générant du XHTML
est un non sens. En tout cas, j'ai la nette impression que c'est
"mal" ;-)


Si tu en as l'impression, c'est que c'est mal. Essaie de voir plus haut dans
le meta-codage ... soit "faineant" .. si tu trouves que tu programmes trop
... genere !

Avatar
Zouplaz
Zouplaz - :

Et j'en arrive … ma question : puisque j'ai un choix … faire, vers quoi
me tourner ? Sur quels critŠres opter pour JSF ou Struts ou Typestry ou
Echo ou que sais-je encore, sachant qu'il me semble difficile de
maitriser correctement plusieurs frameworks ?


Pour le "ou que sais-je d'autre", cf.
http://www.waferproject.org/index.html

Avatar
Cédric Chabanois
Par contre là où je coince sérieusement c'est que je n'arrive pas à
déterminer quel framework ou technologie complémentaire exploiter.
A mon avis, apprendre à développer uniquement des pages JSP est
restrictif et développer des servlets truffés de code générant du XHTML
est un non sens. En tout cas, j'ai la nette impression que c'est
"mal" ;-)
Ce qui m'amène à penser que le couple JSP/Servlet est insuffisant et que
je peux aussi bien rester à PHP dans ce cas...


En fait historiquement il y a eu :
1) servlets : tout le code HTML au milieu du code Java
donc =>
2) JSP : tout le code java au milieu du JSP
3) frameworks MVC2 exploitant Servlet et Jsps

Il y a quelques mois j'ai fais quelques tests avec les JSF...
Globalement, j'ai trouvé ça tordu, lourd et verbeux, peut-être à tord.
(Peut-être que mon niveau actuel était trop faible pour pouvoir en tirer
toute la quintescence ?)



Et j'en arrive à ma question : puisque j'ai un choix à faire, vers quoi
me tourner ? Sur quels critères opter pour JSF ou Struts ou Typestry ou
Echo ou que sais-je encore, sachant qu'il me semble difficile de
maitriser correctement plusieurs frameworks ?

Y a-t-il d'autres alternatives ? Est-ce que focaliser sur le choix du
framework est une erreur ?


Je pense que c'est une question que tout le monde se pose en ce moment.
Il y a quelque temps, beaucoup auraient répondu Struts mais les choses
évoluent assez vite dans le domaine des frameworks.
Les plus en vogue en ce moment sont Struts, JSF, Spring, Tapestry.

Je te conseille de regarder les différents frameworks et de te faire ton
opinion. En connaître plusieurs (pas forcément à fond) permet de
connaître les forces et les faiblesses de chacun.

Cédric

Avatar
Trognon Patrice
bonsoir,

Je suis d'accord avec toi Cédric, mieux vaut connaitre les 2,
je me permet d'apporter mon petit grin de sel.

Struts est solide, fait pour développer proprement des applications web
tenant la route et devant utiliser bcp de ressources.
Par contre Struts nécessite un niveau un peu plus poussé en développement,
bref, c'est un framework de techos.

JSF est né suite à la pression de .NET de crosoft qui est plus simple
que Struts, et qui permet de développer plus rapidement.
JSF permet cela c'est un framework de RAD, seulement attention :
1) l'interet est d'utiliser un outil de conception qui permet de 'tout'
faire à la souris, aujourd'hui les boites a outils JSF sont encore
assez pauvres, comparées à la pletore d'objet qu'on retrouve dans un
visual studio .NET, y'a rien à voir.
En clair, faut attendre que les IDE JSF s'enrichissent d'objets
digne de ce nom ! (style calendar, etc...)

2) ca va etre valable pour faire du RAD, ne pas espérer faire avec
ce framework une applie de qualité comme en struts, les bidouilles
effectuées par le framework pour gérer tous les cas sont lourdes lourdes.
Tout cela pour que le développeur gere un minimum de choses !!!
Pour l'instant je suis assez reservé sur cette techno, cela me semble
valable uniquement pour faire du trash-code, en maintenance j'ai des doutes.

Bref, aujourd'hui le choix est impossible, Struts est loin d'etre en fin de vie,
et JSF vient tout juste de naitre, il va devoir grandir .

Faudrait un framework rassemblant les avantages des 2 pour s'approcher de quelque
chose de potentiellement supportable.

voila ce que j'en pense.

Cordialement,

Patrice Trognon.
http://www.javadevel.com



Par contre là où je coince sérieusement c'est que je n'arrive pas à
déterminer quel framework ou technologie complémentaire exploiter.
A mon avis, apprendre à développer uniquement des pages JSP est
restrictif et développer des servlets truffés de code générant du XHTML
est un non sens. En tout cas, j'ai la nette impression que c'est
"mal" ;-)
Ce qui m'amène à penser que le couple JSP/Servlet est insuffisant et que
je peux aussi bien rester à PHP dans ce cas...


En fait historiquement il y a eu :
1) servlets : tout le code HTML au milieu du code Java
donc =>
2) JSP : tout le code java au milieu du JSP
3) frameworks MVC2 exploitant Servlet et Jsps

Il y a quelques mois j'ai fais quelques tests avec les JSF...
Globalement, j'ai trouvé ça tordu, lourd et verbeux, peut-être à tord.
(Peut-être que mon niveau actuel était trop faible pour pouvoir en tirer
toute la quintescence ?)



Et j'en arrive à ma question : puisque j'ai un choix à faire, vers quoi
me tourner ? Sur quels critères opter pour JSF ou Struts ou Typestry ou
Echo ou que sais-je encore, sachant qu'il me semble difficile de
maitriser correctement plusieurs frameworks ?

Y a-t-il d'autres alternatives ? Est-ce que focaliser sur le choix du
framework est une erreur ?


Je pense que c'est une question que tout le monde se pose en ce moment.
Il y a quelque temps, beaucoup auraient répondu Struts mais les choses
évoluent assez vite dans le domaine des frameworks.
Les plus en vogue en ce moment sont Struts, JSF, Spring, Tapestry.

Je te conseille de regarder les différents frameworks et de te faire ton
opinion. En connaître plusieurs (pas forcément à fond) permet de
connaître les forces et les faiblesses de chacun.

Cédric



Avatar
Jaypee
Bonjour, ma question n'a sans doute rien d'original mais j'aimerais avoir
votre avis ou votre aide pour trouver mon chemin ;-)

Voici ma situation : j'ai développé au cours des années de nombreuses
applications PHP (après être passé par les CGI, ColdFusion et surtout
ASP).
Actuellement, je suis à classer dans la catégorie des "freelances".

Je vise le marché local (ma région) : peu ou pas de SSII, un potentiel
qui reste à déterminer pour ce qui est du marché des sociétés privées
(clients finaux), beaucoup d'institutionnels.
...

Merci d'avance
Bonjour,

Dans ma surveillance du paysage technologique de ce métier, je suis
tombé sur les avancées récentes d'un autre framework MVC, pas en Java.
Loin de moi l' idée de démarrer ici une discussion Java vs. autre chose.

Je travaillle depuis deux ans avec Struts (j'ai aussi touché au .Net)
dont je continue à découvrir certains mérites, pas tous visibles pour
l' utilisateur final (je pense aux logs par Log4J par exemple)

Celà dit, il y a dans le newsgroup comp.lang.ruby pas mal de discussions
autour d'un framework MVC nommé Rails.
Il y a un concept intéressant, celui de l' échaffaudage (scaffolding)
qui permet très rapidement de créer une webapp simple devant une BD.
Il y a des "mappage" de nom implicite entre le nom des objets de la
webapp et celui des tables (même nom que les objets, mais au pluriel)
et l' échaffaudage fournit implicitement les méthodes CRUD classiques
(creation, rename, update, delete)

Rails a encore du chemin à faire mais propose une approche intéressante
à mon avis.
En cherchant un peu dans google, on peut trouver une démo en video de
création d'un mini-forum en 10 minutes avec rails, ou un pdf de
présentation ou quelques chiffres de métriques de développement (en
ligne de code) qui font un peu rêver (4000 lignes pour une grosse appli,
5 lignes en moyenne pour une Action)
Si j' étais freelance, je n'essaierais pas de vendre Ruby ou Rails,
mais je m'en servirais volontiers pour du maquettage.

J-P

Avatar
jlp
Zouplaz wrote:
Bonjour, ma question n'a sans doute rien d'original mais j'aimerais avoir
votre avis ou votre aide pour trouver mon chemin ;-)

Voici ma situation : j'ai développé au cours des années de nombreuses
applications PHP (après être passé par les CGI, ColdFusion et surtout
ASP).
Actuellement, je suis à classer dans la catégorie des "freelances".

Je vise le marché local (ma région) : peu ou pas de SSII, un potentiel
qui reste à déterminer pour ce qui est du marché des sociétés privées
(clients finaux), beaucoup d'institutionnels.
Jusqu'à présent PHP s'est révèlé un outil adapté et efficace, en regard
des budgets et des types d'applications (intranet, sites web et leurs
outil s de backoffice).


Combien de temps les choses resteront comme ça ? Aucune idée. Mais je
suis à peu près certain qu'à un moment ou à un autre je serai confronté à
des marchés pour lesquels la connaissance soit de dot.net, soit de java
(jsp/servlet à défaut de J2EE) sera nécessaire.
Pour ce qui me concerne je préfère choisir Java.

J'ai un niveau intermediaire en programmation objets (C++), et également
pratiqué Java il y a fort longtemps.

Actuellement, je cherche à déterminer :
- les quelles étapes par lesquelles je vais devoir passer pour mon auto-
apprentissage
- et surtout quels outils choisir (et m'y tenir)

Pour les étapes, pas trop de soucis, je vais me faire mon plan de
bataille pour l'apprentissage des bases (bosser le langage, apprentissage
d'eclipse, potasser JSP et Servlets, les coins et recoins de TomCat, Ant,
etc.)

Par contre là où je coince sérieusement c'est que je n'arrive pas à
déterminer quel framework ou technologie complémentaire exploiter.
A mon avis, apprendre à développer uniquement des pages JSP est
restrictif et développer des servlets truffés de code générant du XHTML
est un non sens. En tout cas, j'ai la nette impression que c'est
"mal" ;-)
Ce qui m'amène à penser que le couple JSP/Servlet est insuffisant et que
je peux aussi bien rester à PHP dans ce cas...

Il y a quelques mois j'ai fais quelques tests avec les JSF...
Globalement, j'ai trouvé ça tordu, lourd et verbeux, peut-être à tord.
(Peut-être que mon niveau actuel était trop faible pour pouvoir en tirer
toute la quintescence ?)



Et j'en arrive à ma question : puisque j'ai un choix à faire, vers quoi
me tourner ? Sur quels critères opter pour JSF ou Struts ou Typestry ou
Echo ou que sais-je encore, sachant qu'il me semble difficile de
maitriser correctement plusieurs frameworks ?

Y a-t-il d'autres alternatives ? Est-ce que focaliser sur le choix du
framework est une erreur ?


Si vous avez des retours d'expérience en ayant vécu une situation
similaire, ou si vous être de l'autre côté de la barrière (SSII, client
final) votre avis est le bienvenu !!


Merci d'avance
Tu poses là les bonnes questions !!

JSF semble tenir la corde :
- a pour lui le standard ( sera intégré à J2EE 1.5). Le père de JSF est
Graig Mac Clanahan ( père de Struts et Tomcat), et est persuadé
évidemment de la réussite de JSF. Un projet d'implémentation licence
Apache est en incubator (myfaces). Des outils de création graphique
existent Java Studio Creator ( Sun), pluggin Eclipse de la société
Exadel => je te recommande la démo flash faite de développement de pages
JSF d'Exadel.
D'une manière plus modeste j'ai écrit un petit tutorial sur JSF et
Hibernate => voir site http://stessy.developpez.com/
Echo / Echopoint ( je suis en train de regarder). Licence LGPL permissive :
- a pour lui une programmation full java ( par opposition à une
programmation xml / jsp + java (backing bean) de JSF)=> ne nécessite pas
de connaitre JSP ni HTML. Cependant n'est pas un standard.

Effectivement, il y a d'autres alternatives de framework de présentation
comme Tapestry. Spring a aussi une partie présentation, mais son domaine
est plus large, sa particularité essentielle est d'être un container
implémentant le principe Inversion Of Controle ( IOC) ou renommé
Dependency Injection ( c'est le conteneur qui fournit aux objets, les
objets dépendant dont ils ont besoins) . Il supporte aussi l'Aspect
Oriented Programming => les deux mécanismes utilisent la reflexion et
l'injection de code .

D'autre part, il te faudra regarder aussi autour des conteneurs gérant
les objets métiers ( Spring / Hivemind ) ou conteneur EJB ( JBOSS,
JONAS, Websphere, Weblogic ...), sans oublier les framework de mapping
O/R ( Hibernate, Ibatis, Cayenne) et les frameworks autour de la norme
JDO ( Kodo, Genie/Versant, speedo ...)...

L'outil de dev le plus connu et générique est certainement Eclipse. Il y
a des plugin gratuits open-source et des plugins commerciaux pour tout
les types de developpement autour de java ( Client lourd, client web,
container applicatif Servlet/Jsp,JSF,EJB,Mapping O/R ...)

Je ne peux hélas deviner ce que l'avenir nous réserve. Je n'ai pas parlé
non plus des WebServices à ne pas négliger non plus.

Bon courage.
JL Pasturel

Avatar
Zouplaz
Cédric Chabanois - :


Et j'en arrive à ma question : puisque j'ai un choix à faire, vers
quoi me tourner ? Sur quels critères opter pour JSF ou Struts ou
Typestry ou Echo ou que sais-je encore, sachant qu'il me semble
difficile de maitriser correctement plusieurs frameworks ?

Y a-t-il d'autres alternatives ? Est-ce que focaliser sur le choix du
framework est une erreur ?


Je pense que c'est une question que tout le monde se pose en ce
moment. Il y a quelque temps, beaucoup auraient répondu Struts mais
les choses évoluent assez vite dans le domaine des frameworks.
Les plus en vogue en ce moment sont Struts, JSF, Spring, Tapestry.

Je te conseille de regarder les différents frameworks et de te faire
ton opinion. En connaître plusieurs (pas forcément à fond) permet de
connaître les forces et les faiblesses de chacun.



Juste une question complémentaire : j'ai l'impression que selon le
framework que l'on choisi le formattage des pages est plus ou moins aisé
(si on se réfère au V de MVC).

Lorsque j'ai expérimenté avec les JSF j'ai beaucoup beaucoup galéré pour
formatter les pages de manière précise (ex. les messages d'erreur de
validation qui apparaissait là ou ils voulaient, le positionnement d'images
au pixel près qui est parfois important).

Est-ce que certains framework sont mieux ou moins bien dotés de ce point de
vue ?

Afin d'être bien compris : les clients réclament des interfaces utilisateur
propre pour ce qui est des applis intranet ou des backoffice et des pages
qui ont de l'allure lorsqu'il y a une partie publique (le site web). Je me
demande si le choix du framework n'impose pas des restrictions ?

J'ai lu dernièrement une intervention d'un développeur de Typestry qui
insistait sur ce point.


Avatar
Zouplaz
jlp - :


Merci d'avance
Tu poses là les bonnes questions !!

JSF semble tenir la corde :
- a pour lui le standard ( sera intégré à J2EE 1.5). Le père de JSF
est Graig Mac Clanahan ( père de Struts et Tomcat), et est persuadé
évidemment de la réussite de JSF. Un projet d'implémentation licence
Apache est en incubator (myfaces). Des outils de création graphique
existent Java Studio Creator ( Sun), pluggin Eclipse de la société
Exadel => je te recommande la démo flash faite de développement de
pages JSF d'Exadel.
D'une manière plus modeste j'ai écrit un petit tutorial sur JSF et
Hibernate => voir site http://stessy.developpez.com/
Echo / Echopoint ( je suis en train de regarder). Licence LGPL
permissive : - a pour lui une programmation full java ( par
opposition à une programmation xml / jsp + java (backing bean) de
JSF)=> ne nécessite pas de connaitre JSP ni HTML. Cependant n'est pas
un standard.

Effectivement, il y a d'autres alternatives de framework de
présentation comme Tapestry. Spring a aussi une partie présentation,
mais son domaine est plus large, sa particularité essentielle est
d'être un container implémentant le principe Inversion Of Controle (
IOC) ou renommé Dependency Injection ( c'est le conteneur qui fournit
aux objets, les objets dépendant dont ils ont besoins) . Il supporte
aussi l'Aspect Oriented Programming => les deux mécanismes utilisent
la reflexion et l'injection de code .


Et que penser de Echo ??


D'autre part, il te faudra regarder aussi autour des conteneurs gérant
les objets métiers ( Spring / Hivemind ) ou conteneur EJB ( JBOSS,
JONAS, Websphere, Weblogic ...), sans oublier les framework de mapping
O/R ( Hibernate, Ibatis, Cayenne) et les frameworks autour de la norme
JDO ( Kodo, Genie/Versant, speedo ...)...



Oui, ça serait la deuxième étape. Aujourd'hui c'est trop tôt je risque de
me noyer sous la quantité d'informations à digérer ;-)


Bon courage.



Merci !


Avatar
Jaypee
Afin d'être bien compris : les clients réclament des interfaces utilisateur
propre pour ce qui est des applis intranet ou des backoffice et des pages
qui ont de l'allure lorsqu'il y a une partie publique (le site web). Je me
demande si le choix du framework n'impose pas des restrictions ?
Pour parler du cas que je connais, un certain constructeur à développé

pour ses propres besoins, une extension de Struts pour prédéfinir le
"C": bandeau, menu gauche et pied de page, ainsi que la feuille de style
pour la palette des couleurs et les applis ne s'occupent que de remplir
l'intérieur du C. Et il y a en effet deux versions Internet et
Intranet. Même si çà délire un peu au milieu, le "C" impose déjà un
certain look constant entre les pages.
Idéalement, il faudrait commencer par développer ce "toolkit".

Il faut aussi discipliner les développeurs pour éviter au maximum les
scriplets, c-à-d le code Java dans la vue. Si l' appli est bien
construite, l' ActionForm contient toutes les données utiles à la vue,
et l' attribut property=nom de la donnée de la plupart des tags suffit
pour y accéder.

On peut "vendre" Struts comme moyen de normaliser les applis et
faciliter leur gestion centralisée. Les problèmes de performances
peuvent alors être résolus globalement et bénéficient à toutes les
applis, et non par un traitement au coup par coup qui profitera à une
seule d' entre elles. Idem pour la sécurité ou pour une architecture de
web services. L' activer au nivau du toolkit, c'est l' activer dans
toutes les applis. Pareil pour les métriques, les mêmes logs sont
disponibles dans toutes les applis, plus des logs spécifiques. Les
outils d'analyse des logs fonctionnent partout.

J-P

1 2