There is a lot of buzz about Rails, a simple web app framework for Ruby. Rails runs in the classic (pre-spawned) CGI setup; it does not run inside a container but in a web server process.
Anyway, Rails is very simplistic (yet very effective for people) and I don't want to start a flameware by comparing it to Spring.
The one thing that I do want to start a discussion about is web app development. What I really liked about Rails is that you can edit basically everything live without redeploying your application every time. It is something I would really like to see in Java. Or at least, a better version of what we have now.
With Rails you can add new controllers and models (their imlementation of the Active Record pattern) live. You don't have to restart your web app. Change a few lines of code and they will be picked up immediately. Same with 'rhtml' templates.
Compare this to the edit -> build -> package -> redeploy -> test cycle that we now use in Java.
Wouldn't it be great if there was a standard setup where you could:
- Edit JSP or other templates live
Create Spring beans and plug them in live
Create new controllers live
Change your *-servlet.xml bean descriptors live
Reload code in DAO and Application Logic object live
Most IDEs already compile and check your code realtime, so why can't they make they make that code available to the spring container immediately. Or with a simple 'publish' or 'synchronize' button when you think you are done with a set of changes.
Anyone interested in a Spring/IDE/ServletContainer integration that tries to do things like this? I think it would be really cool to kick off a discussion here to see what things are possible and maybe try to implement some.