Win a copy of Clojure in Action this week in the Clojure forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Could Spring Roo be written in another JVM language?

 
Hussein Baghdadi
clojure forum advocate
Bartender
Posts: 3479
Clojure Mac Objective C
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,
AOP (AspectJ I guess?) is behind the magic of Spring Roo. Could Spring Roo be written using a JVM language (such as JRuby or Clojure maybe) that provides the AOP capabilities?
What are the advantages of the AOP solution behind Spring Roo over a dynamic and macros-powered JVM language?

Thanks.
 
Ken Rimple
author
Ranch Hand
Posts: 63
Mac OS X Spring Ubuntu
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hussein Baghdadi wrote:Hi,
AOP (AspectJ I guess?) is behind the magic of Spring Roo. Could Spring Roo be written using a JVM language (such as JRuby or Clojure maybe) that provides the AOP capabilities?
What are the advantages of the AOP solution behind Spring Roo over a dynamic and macros-powered JVM language?

Thanks.

Hussein,

Ah yes, but would it be Roo then? ;)

The Roo - AspectJ configuration has the advantage of being compile-time, therefore it's in the bytecode and fast as possible. The downside is that you aren't really going to generate aspects for Groovy classes for example (currently I think that's not working for ITDs as I've tried and banged my head against the wall). However, I currently have a Spock add-on that I can use to test Roo add-ons or other Roo code and it's working rather well so far. You can learn more about that one at http://www.rimple.com/roo-spock-add-on/ - although I have to update all of those add-ons for Roo 1.2.2 (which I'll do this week).

So, it's really a choice of the creators of Roo to focus on staying within Java and weaving features into the bytecode, rather than going to a dynamic language and adding features through DSLs and "method missing" approaches. Could they have done it in another language? Maybe in Scala + AspectJ? But would that be appropriate? I'm unsure.

Ken
 
I agree. Here's the link: http://aspose.com/file-tools
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic