I’ve used SOFIA in the past, and I’ve been quite satisfied with it. I am strongly committed to working with a POJO domain layer, however, and that doesn’t fit with the core Salmon team’s development methodology. SOFIA has very many nice features, but making my domain objects play nicely with framework constructs is getting harder and harder, and there are plenty of other tasks that I need to spend time on. Also, the controllers are very tightly coupled to SOFIA, almost by necessity. There’s simply no way that an application could be meaningfully ported away from SOFIA with any sort of ease. I’m learning there are other options.
Tapestry already got dismissed WebWork2 is very simple and quite small, yet contains many of the features needed by all web application frameworks. I’ve gotten familiar with Spring, and some of the usage patterns with WebWork look very very similar to Spring’s IOC functionality. I’m still in the beginning stages of working up a small test application, but I’ve already gotten farther more quickly with WebWork than with SOFIA, and that’s having never worked with WebWork before. It’s very easy to test and it’s trivial to generate precisely the HTML that you want. That will likely be an important requirement for our product.
- Spring MVC
I’ve got Rod Johnson’s new book and reading through that didn’t give me the best feeling towards Spring MVC. As a matter of fact, I read a post on the WebWork2 mailing list, that a useful summary, and I haven’t used WebWork for more than a couple of weeks. Thanks to Matt Raible, I at least have a couple places to check out for some easier examples.
- Ruby, the dark horse
Thanks to this thread on the Ruby forum, I was able to get RubyGems up and running, and Rails came shortly thereafter. Rails has its own forum and is mind-bogglingly simple to start using, as . The real barrier is my familiarity with Ruby syntax, which leads to pointers to the first Pragmatic Programmers’ book and why’s poignant guide to Ruby, which is the single funniest technical document I’ve ever read.
That’s it! I’ll keep you informed.