Equivalent de RoR en Java

Bonjour à tous,

Dans le cadre du boulot j’ai developpé et alimenter une BDD, maintenant
il
ne reste plus que l’ihm…
Du coup je me demandais si vous connaissiez un framework java avec une
approche MVC comme RoR.
Je ne pense pas pouvoir influencer mon chef de projet pour aller vers
RoR…
Sinon tout conseil est le bienvenu…
J’espère que ma question n’est pas trop déplacée… :wink:

Xavier

En Java c’est Struts, même si l’approche n’est pas forcement identique Ã
RoR, c’est l’implémentation du pattern MVC2 donc le principe de base y
est.

Maintenant il y a surement pas mal de différence avec RoR.

Je croit avoir lu quelque part un projet de reprise des principe de RoR
pour
Java. Surement basé sur struts quand même, mais avec toute les petites
chose
qui font que RoR n’est pas JUSTE une implémentation du MVC2. Mais je
sais
plus où le trouvé, si ça me reviens je te tiens au courant.

Yannick Aka Pouype

2006/8/31, Xavier P. [email protected]:

Le Jeu 31 août 2006 11:29, Xavier P. a écrit :

Bonjour à tous,

Dans le cadre du boulot j’ai developpé et alimenter une BDD, maintenant
il ne reste plus que l’ihm…
Du coup je me demandais si vous connaissiez un framework java avec une
approche MVC comme RoR.

Des frameworks MVC ce n’est pas ce qui manque en Java. En fait quasi
tout
est fait pour du MVC sous Java, du J2EE de base au struts rajouté par
dessus.

Par contre si tu cherche de l’initialisation laxiste (on définit des
objets dynamiques qui vont contenir des attributs dépendant des champs en
base de données), du dynamique (les méthodes find_by_* par exemple) et de
la méta programmation (les méthodes de déclaration dans les classes active
record ou dans les controleurs), j’ai peur que ce soit beaucoup plus
dûrvoire impossible pour certains aspects.

Rien qu’en PHP, qui reste tout de même plus proche de ruby que Java, les
tentatives de portage de rails ne sont pas forcément super convaincantes :
il manque pas mal le “ruby way” et les raccourcis dûs à la meta
programmation.

Puis bon, si on prend Java c’est généralement aussi en grande partie pour
profiter des typages et déclaration statiques. La philosophie de rails me
parait un peu l’inverse.

J’espère que ma question n’est pas trop déplacée… :wink:

Je ne vois franchement pas pourquoi elle le serait.


Eric D.

Dans le cadre du boulot j’ai developpé et alimenter une BDD, maintenant
il ne reste plus que l’ihm…
Du coup je me demandais si vous connaissiez un framework java avec une
approche MVC comme RoR.
Je ne pense pas pouvoir influencer mon chef de projet pour aller vers
RoR…

Un projet assez “proche” de Rails est RIFE http://rifers.org/ (jamais
testé cependant)

On 8/31/06, Zambra [email protected] wrote:

Un projet assez “proche” de Rails est RIFE http://rifers.org/ (jamais
testé cependant)

Il y a aussi grails http://en.wikipedia.org/wiki/Grails_(Framework)
Jamais essayé non plus, je ne sais pas ce que ça vaut.

Il y a Grails qui vient de sortir :
http://developpeur.journaldunet.com/breve/java-j2ee/4485/grails-le-rapprochement-entre-rails-et-groovy.shtml

Merci bcp pour vos réponses, ça me donne de bonnes pistes
d’investigation !
Cependant j’ai oublié de préciser un petit truc, c que l’ihm ne passera
pas
par un site web…
Je me mélange pe les pinceaux, est-ce que l’approche MVC est surtout
valable
pour les site web ?
En gros mes vues ce serait du bon vieux swing bien lourd

2006/8/31, Frédéric Logier [email protected]:

2006/8/31, Xavier P. [email protected]:

Merci bcp pour vos réponses, ça me donne de bonnes pistes d’investigation
!
Cependant j’ai oublié de préciser un petit truc, c que l’ihm ne passera
pas par un site web…
Je me mélange pe les pinceaux, est-ce que l’approche MVC est surtout
valable pour les site web ?
En gros mes vues ce serait du bon vieux swing bien lourd

Non, c’est pour cela que j’ai préciser MVC2. A la base le motif MVC est
une
approche client “lourd”. Le pattern à été adapter dans une deuxième
version
(appeler MVC2) pour le web. Certain element du pattern original ne
peuvent
être mis en place dans un environnement WEB.

Par contre pour la peine, y’a pas grande librairie disponible pour ce
genre
d’implémentation, tu pourrais surement re-utiliser quelque morceau de
Struts
ou J2EE, mais faudras adapter beaucoup pour la partie IHM.

Il y a quelques projets “in the spirit of Ruby on Rails” :

Trails :
https://trails.dev.java.net/

Grails :
http://grails.codehaus.org/

Je n’ai pas eu le temps de tester réellement Trails. A première vue je
dirais qu’il est quand même beaucoup plus complexe à mettre en place
que Ror (il y a toujours plein de tag xdoclet).

Mais il y a Grails (Groovy on Rails) qui à l’air plus sympa :
http://grails.codehaus.org/

Basé sur Groovy (http://groovy.codehaus.org/) Grails possède :

  • un générateur de code (tout comme Ror)
  • respecte également le modèle MVC
  • gère les vues et templates avec ces Groovy Server Pages (GSP)
  • gestion de plusieurs bases de données avec un data-source (il suffit
    d’avoir le bon driver JDBC, mais ça c’est pas nouveau)
  • integre un serveur web/application : Jetty servlet engine
  • mapping Objet-Relationnel avec GORM (Grails Object Relational
    Mapping) (pas encore super au point, mais d’après le site on peut
    intégrer Hibernate)
  • Gestion d’AJAX
  • Gestion du scaffolding
  • Gestion des tests unitaires
  • Gestion des tests fonctionnels avec canoo (http://webtest.canoo.com)
  • etc…

Je pense que ce dernier se rapproche plus de l’esprit de Ror.

Il y en surement d’autres mais je ne connais que ces deux
là.Je n’ai testé aucun des deux framework précédement cités donc je ne
peux pas t’aider sur le choix de l’un ou de l’autre…

Voilà en espèrant t’avoir aider un peu…
Bon retournons à Rails maintenant :slight_smile:

Mathieu

Merci bcp pour vos réponses, ça me donne de bonnes pistes d’investigation
!
Cependant j’ai oublié de préciser un petit truc, c que l’ihm ne passera
pas par un site web…
Je me mélange pe les pinceaux, est-ce que l’approche MVC est surtout
valable pour les site web ?
En gros mes vues ce serait du bon vieux swing bien lourd

Le MVC est un peu plus simple (à mon goût) à implémenter en cliend lourd
qu’en web, car tu peux généralement stocker l’état sans crainte (alors
qu’en
web en particulier sous rails l’approche est plutôt d’éviter de stocker
trop
d’état, pour éviter des soucis d’échelle).

Si tu pars en client lourd et en java, tu pourrais peut être opter pour
SWT
(Eclipse) qui fournit un bon canevas UI (que j’ai pris plaisir Ã
utiliser),
avec un look and feel plus proche de l’OS (sous windows on dirait
vraiment
du natif, par exemple). Regarde par ici pour quelques éléments sur le
MVC +
SWT : http://www.toutprogrammer.com/article_21.html

a+

Thibaut

2006/8/31, Xavier P. [email protected]:

Cependant j’ai oublié de préciser un petit truc, c que l’ihm ne passera
pas par un site web…
Je me mélange pe les pinceaux, est-ce que l’approche MVC est surtout
valable pour les site web ?
En gros mes vues ce serait du bon vieux swing bien lourd

Dans ce cas je ne pense pas que tu t’adresses à la bonne liste … Il en
existe sûrement dédiées au développement java sur desktop.

Le framework MVC le plus complet et le plus ancien dans le domaine
reste WebObjects. Si tu es sur Mac, tu peux le télécharger avec ses
outils de dev. Si tu es sur pc, je sais plus comment ça marche. Il
faut utiliser wolips pour eclipse plutôt que xcode pour développer,
c’est bien plus rapide et eclipse a un vrai debugger java etc (ce
que xcode n’a pas).

J’ai fait un screencast sur WO il y a quelques mois:
http://www.cyrilgodefroy.com/fr/index.php/2006/06/20/40-decouvrir-
webobjects-en-15-minutes-et-en-francais
Découvrir WO:
http://www.apple.com/webobjects

Le gros inconvénient de WO: il n’est pas (encore!) open source. Mais
au moins maintenant il est 100% gratuit.

Bye,
Cyril

Cyril G.
+33 6 63 16 45 41 | [email protected]

Le Aug 31, 2006 à 11:29 AM, Xavier P. a écrit :

Le 31/08/06, Cyril G. [email protected] a écrit :

Le framework MVC le plus complet et le plus ancien dans le domaine reste
WebObjects.

Heu, mais WebObjects c’est pas vraiment Java ? c’est un héritage de
NextStep
non ?

//""""""""""""
Support for J2EE technologies, including Servlet integration and an
Object
Request Broker (ORB), allows you to mix and match. JSP programmers can
use
the automated data persistence of WebObjects as an alternative to
complex
EJBs. Others can host third-party beans or write their own. And your
deployment platform is up to you: Choose virtually any J2EE-capable
server
or use the included WebObjects J2SE application server.
“”"""""""""""""//

Oups pardon, c’est pas Java, mais ça le supporte. Ok désolé. Mais du
cout
autant bricoler du rails qui appel des règles métier en java :smiley: non ?

Depuis la 5.0, WebObjects c’est vraiment 100% Java. Donc depuis 2003.
Par contre, il a encore fallu du temps pour que ce soit J2EE
compliant (mais vu que J2EE c’est pas terrible). Avant, il y avait un
bridge pour la partie EOF (Enterprise Objects Framework) entre Java
et ObjectiveC, mais c’est tout.

Et c’est un héritage de NextStep, en effet. Enfin, non, c’est plutôt
dbkit+webkit. Et donc c’est du mvc avec de l’ORM et des outils de
développement dignes de ce nom depuis … 1995.

Cyril G.
+33 6 63 16 45 41 | [email protected]

Le Aug 31, 2006 à 5:02 PM, Yannick F. a écrit :

J’ai oublié l’avantage de WO pour quelqu’un qui pense swing: java
client qui est une couche swing d’accès données.
Et pour quelqu’un qui apprécie le scaffold de rails pour faire en 10
secondes un CRUD, il y a l’objet displayGroup: un scaffold à lui tout
seul…

Promis, j’arrête avant de faire de cette liste une liste WO…

Cyril G.
+33 6 63 16 45 41 | [email protected]

Le Aug 31, 2006 à 5:02 PM, Yannick F. a écrit :