Witt, Mike (OH35) wrote:
I'm planning to spend some time experimenting with AOP. I'm wondering if a
de facto AOP framwork is emerging. Right now, I'm looking at AspectJ and
Spring, there are probably others as well. So, I'm looking for an opinion
on which framework to use based on:
- What's the standard
Standard? There is no standard -- at least not yet. At this stage,
you'll probably have to use popularity as a criterion instead. I
believe that AspectJ is the most established AOP framework presently.
An up 'n' coming one, though, is dynaop (https://dynaop.dev.java.net/).
It's gaining a lot of "mindshare," or whatever the trendy word for
people having heard of a product is.
- Which one is the most newbie friendly - available documentation and
tutorials
As for documentation and tutorials, I don't really know. I think most
all of them have "good enough" documentation to get one started. I
think the main problem is getting into the AOP mindset, since it's quite
different from the "plain" OO mindset. (I certainly haven't gotten
there yet.) As far as I can tell, most of the frameworks have
comparable feature sets (with minor differences), although they
implement those features in different ways. I kinda like dynaop's
approach: they use JSR-175-style metadata comments in regular Java code
to implement aspects. This means that you can use your existing tools
and augment them if desired with aspect-related functionality. That
sounds like a fun AOP project, actually. :)
- Eclipse plug-in support
AspectJ now lives under the Eclipse umbrella, so they probably have the
best (most integrated) Eclipse support.
- Hibernate support
Not sure what you want here. Hibernate is an existing library; how
would aspects "support" hibernate, except for in the generic sense that
they would support any type of library?
- Most active development community
Not sure on this one either. AspectJ is probably the biggest, most
established project. However, this may be because some of the other
projects achieve the same functionality in much less code.
- Eric
|