|
02-10-07 / 20:53 : Naked Objects 3 : comme WebObjects/DirectToWeb ? (cjed) | TSS présente un article sur Naked Objects 3.0, un nouveau framework qui permet la génération d'applications complètes (client riche ou HTML) à partir d'un modèle objet. La particularité annoncée est qu'il n'utilise pas de contrôleur comme la plupart des frameworks MVC (Struts, etc.)... Les méthodes de traitement doivent être définies exclusivement sur les objets du modèle (POJO). Tout cela est bien marrant, car l'auteur présente cette approche comme presque révolutionnaire. Et alors, WebObject et son générateur DirectToWeb c'est quoi ? Ca exist depuis presque 15 ans, et WO est bien plus riche (framework de composants évolué, complet et testé depuis longtemps, qui n'a rien à envier à JSF et dont Tapestry s'est inspiré, couche de mapping O/R EOF qui sur certains aspects est mieux pensée qu'Hibernate ou Toplink) ! D'ailleurs on peut lire dans cette interview de JSFCentral sur Exadel/Ajax4JSF une remarque honnête :
M: Some would argue that WebObjects, Tapestry, and ASP.NET introduced component-oriented web development first. Do you think JSF offers anything different than these frameworks?
MK: I wouldn't argue otherwise. I believe JSF builds on a lot of features from these frameworks such as component web development and Tapestry-like features with the Facelets extension. There are a few areas where JSF provides even more. For example, it's an open standard, which is very important
Bref WO n'aurait qu'un seul défaut, ce n'était pas un standard. Pourtant lorsqu'on voit le succès de Struts puis Hibernate (standards de fait, pas normes) cela fait sourire...
Dans JSF également le contrôleur est masqué, les propriétés et méthodes des POJO sont directement accédées dans les tags (objets injectés par IOC). Bref ces deux frameworks masquent déjà le fonctionnement HTTP (génèrent des liens particuliers lors du rendu des tags pour maintenir l'était des composants côté serveur. En .NET l'approche est assez similaire, via des informations encodées dans une chaîne/paramètre très long). | | Commentaires | Poster un commentaire | |
|