Otho,
   Indeed, as Alex mentioned my attempt at Tapestry & Grails integration
never went much further than he pointed out. Also, it must be noted that at
the time I was trying to use Tapestry 4.1, so most of what you'll see on
that blog post doesn't apply to T5.

   The bottom line on that attempt was that there is way too much overlap
between Tapestry and Grails in order for them to make a good marriage. My
motivation was exactly as Otho mentioned : I very much preferred Tapestry as
the front end and I was completely enchanted by GORM on the back end.
However, especially w/ T5 both Grails and T5 provide :
 * a nice and integrated way of creating UIs
 * An IoC / DI container
 * Integration w/ Hibernate back end.

   Now, if you decide to replace the default Grails controllers w/ T5, you
would lose all the nice integration that both Grails provide and you'll have
to do a whole bunch of work to make T5+Grails work just as good as either
just Grails or just T5. Additionally, if replace the Grails controllers w/
T5, you'll lose ALL nice frontend integration (e.g. plugins, etc).

   A potentially better approach would be to plug the GORM back end into T5
(which is partially reverse to what I did there). That approach could still
be viable, if the Grails project does separate GORM (as they've mentioned
that they have plans to do).

   On the flip side, after working on a couple of Grails projects for the
last year, after you get beyond the basic UI that you can quickly set up w/
Grails, as nice as GORM is it really doesn't help you all that much. The
equivalent of Foo.findAllByBarAndBaz('bar','baz') is just marginally shorter
than session.createQuery("from Foo f where f.bar=:bar and
f.baz=:baz").setParameter('bar','bar').setParameter('baz','baz').list() ,
and gives you pretty much the same deal (if you really dislike DAOs). For
the simple queries the Grails approach is nice; however, I often found
myself just going back to HQL quite often (which pretty much obliterates any
advantage of dynamic methods) as in Foo.query("from Foo f where f.bar=:bar
and f.baz=:baz", [bar:'bar',baz:'baz']).

   I do recall a while back Howard blogged about using Groovy classes as the
page or component classes, which after compilation end up as Java classes.
Now, if / when standalone GORM releases, that might be the best way to go
(although, the last time I saw it, it still required Grails like directory
layout, which would just be a bitch to integrate into T5).

Cheers,

Alex Kotchnev

On Fri, Nov 7, 2008 at 8:51 AM, Alex Shneyderman <[EMAIL PROTECTED]>wrote:

> On Fri, Nov 7, 2008 at 1:35 PM, Otho <[EMAIL PROTECTED]> wrote:
> > Yes of course, but Tapestry and Groovy integrate quite well.
>
> yes I recall an attempt I do not know if anything beyond basic page
> was ever implemented.
>
>
> http://www.troymaxventures.com/2007/08/grails-tapestry-grapestry-part-1-of-n.html
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to