I was pleased to see today that on Eclipse’s downloads page it now lists the top 10 downloads from eclipse.org. And AJDT (the AspectJ plugin for Eclipse) was #10 on the list. That’s great news to see! J It's another nice validation of the traction AOP is getting.
I’d be interested in knowing what the download rates for AspectJ and AJDT are these days… I think it was 10,000-20,000 per month late last year. Moreover, when I looked recently, the core Spring framework is at at least 50,000 downloads per month these days. And as Adrian, Alex, Jonas and others have blogged Spring 2.0 promises to be a big step forward in the maturity of aspects, making incremental adoption easier than ever. Of course JBoss 4 is building their EJB 3 container on AOP too.
I had a great time last fall speaking at places like Software Development West, OOPSLA, and the Colorado Software Summit. At the Colorado Software Summit, Roberto Chinnici of Sun talked about including proxy-based AOP as a promising future for the J2EE specification, which would be great validation.
I think this year we are going to see more developers using AOP as an effective tool to get work done, and they are going to find it easier to pick up prebuilt tools that can be extended with AOP. For example, our Glassbox Inspector open source project lets you monitor performance and failures in Java applications. And if you want to monitor something new, you can write an aspect in a few lines of code (or XML) and extend the framework. You can even package this as a jar and just deploy it with the Glassbox Inspector and with load-time weaving it just works. And I believe this is going to be the year where we will see more and more interesting aspect libraries and interesting ways that plain old open source projects start capitalizing on aspects for extensibility (e.g., publishing pointcuts instead of old-school callback hooks, or adding in optional features through aspects).
p.s. I'm also glad that Jonas is moving to the Bay Area this month. Maybe we can do some hacking together and integrate some of the optimizations I've made to load-time weaving into AspectJ's CVS HEAD. In the meanwhile, stay tuned for an experimental release if you'd like to test out a much lower memory version of load-time weaving ...