<i>To me, it looks like all these frameworks provide the same functionality, but with different languages, databases, and web servers.</i><p>Basically, yeah.<p><i>Is there some kind of way to choose, or do you just pick one that youre familiar with?</i><p>To be honest? There are too many out there, to actually do a thorough analysis / review of each, on your own. It'd take you 10 years, and by the time you got done, it would all be obsolete. So, ultimately, you have to fall back to <i>some</i> kind of heuristic: recommendations from trusted friends / colleagues / etc., simple popularity, some "back of the envelope" calculations of some meaningful metric (availability of developers for that platform, for example), the aforementioned point of "go with what you know," size and activity level of the community around each one, ease of learning, etc., etc.<p>All of that said, I'm a big fan of Groovy on Grails, which I find has a lot going for it. But there are far more frameworks I haven't used, than ones I have, so I can't even begin to make a claim that Grails is objectively "the best" in any sense. In my case, I picked it because I already knew Java, was familiar with the JVM ecosystem, libraries, app servers, messaging systems, etc., and because Groovy is very easy to learn if you know Java. The pros I see for Grails:<p>1. Open source (most of them are these days, but still)<p>2. Easy to learn (this is relative, since I'm coming from Java)<p>3. Rapid development using convention of configuration (same as Rails, etc.)<p>4. allows me to leverage a lot of existing knowledge of using Java app servers, tools, and infrastructure.<p>5. Easy use of tons of useful java libraries that already exist. I can easily incorporate Tika, Lucene, Mahout, HttpClient, Commons Math, etc., etc., etc.<p>Cons to Grails:<p>1. There is some question as to the future of Groovy, since the creator of the language said something along the lines of "If I'd known about Scala when I created Groovy, I wouldn't have created Groovy." That said, the Groovy and Grails community seem to be very active, and I don't see any particular reason to think either will be dying off anytime soon.<p>2. Performance: Groovy has a reputation for being a little bit of a performance dog, compared to some of the other JVM based languages. But it has gotten a lot better with recent releases, and there's reason to think that the JDK7 changes (MethodHandles API, invokedynamic opcode) will make Groovy even faster.<p>So there ya go, a few thoughts and comments on Grails. I'd highly recommend at least giving it a look, especially if you know Java already.