Win a copy of Testing JavaScript Applications this week in the HTML Pages with CSS and JavaScript forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Bear Bibeault
  • Ron McLeod
  • Jeanne Boyarsky
  • Paul Clapham
Sheriffs:
  • Tim Cooke
  • Liutauras Vilda
  • Junilu Lacar
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • fred rosenberger
  • salvin francis
Bartenders:
  • Piet Souris
  • Frits Walraven
  • Carey Brown

Could Spring Roo be written in another JVM language?

 
clojure forum advocate
Posts: 3479
Mac Objective C Clojure
  • 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.
 
author
Posts: 63
Mac OS X Spring Ubuntu
  • 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
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
    Bookmark Topic Watch Topic
  • New Topic