I've heard that one of the reasons Seam has been created was the poor productivity when building a JEE application, because you had to choose between many frameworks (Spring, Wicket, Struts 2, and so on). So, I'd like to know if are there any studies comparing Seam productivy versus Ruby on Rails, when you build the same application.
No, there is no Mojave experiment for Seam. We have not yet locked people in a room and told them to create an application as fast as they can with Seam and then tell them it isn't Ruby on Rails. I am just going to have to share my personal experiences.
Here is what I can tell you. Using seam-gen, I probably generate about 10 projects a day. No, I am not actively working on 10 projects (well, okay, maybe I am but not the 10 I'm talking about). I can crank out an application with seam-gen, bring it up in an IDE and test out an idea in less than 5 minutes. I have gotten so good at doing that, that when it comes time to develop a real application, that part is second nature to me.
After that point, you get into how difficult it is to write the application you are working on. Here, you are comparing apples to elephants, because some applications are trivial while others are tremendously complex. My feeling is that if you can get your tools working for you, then you can focus on the application.
So what about application development? One of the coolest parts about Seam is that it can bootstrap an environment using SeamTest where you can test your components as they will run in a container. In fact, they are running in a container because SeamTest + Embedded JBoss is an application server turned inside out, where the application runs the container to suit its needs. This is a great tool because you skip the deploy step, but you don't have to mess with mocking tools. The only downside is that it takes a couple of seconds to start Embedded JBoss. Until the startup time of that tool improves, my advice is to spend the money on the fattest machine you can buy because it is a waste of time and money if you cap out your RAM, and dumb because computers are so cheap (eve in a crappy economy).