There’s an article on wikipedia comparing different web frameworks:
The scope and breadth of these frameworks is quite vast, and it would be nice to do a more thorough comparison, especially among the ones using the same language.
ASP.NET for example, has no less than six different web frameworks; quite daunting if you wanted to start your own project. The variety of choices makes it hard to settle on one web framework to use. It’s similar to Joomla vs Drupal vs WordPress; they’re all good CMS but for different purposes depending on how much flexibility and usability you want.
Flex is the widely used for flash applications; Lift vs Grails is much like the comparison of Scala vs Groovy; both has its ups and downs. Ruby on Rails is still quite popular, but honestly the language itself isn’t as widely used as Java, PHP, or Python. As for those three languages, there’s just way too many frameworks there to choose from. PHP programmers have the choice of Zend vs Cake vs Symphony vs Codeignitor, etc while Java and Python have a plethora of different frameworks to choose from. C++, ASP.NET and Smalltalk round out the rest, which aren’t as widely used for developing web applications as the former ones.
I think to pick one framework you think you can work with is a good thing, but the variety of frameworks out there makes it hard, because its hard to see which ones will last, and to which extent the community will support those frameworks. I hope that someday each language will have one or two frameworks, instead of having five or six; having less means having more support around it, instead of diversifying the architecture around several different ones.
Most have some themes in common; Ajax, JSON+REST for HTTP services, support for open source, a form of ORM, the MVC methodology, and some have my personal favorite practices including convention over configuration and don’t repeat yourself, which makes it easy to set things up. I’ll stick with PHP, Java and Python though, the three languages I’m most familar with. *Sigh* Decisions, decisions…
Edit: Ok, so I used Appfuse at first but runnig into too many errors when I try to integrate with Oracle and Maven. SpringSource has a bunch of other web frameworks including Grails (my personal fav, but no one knows Groovy) and SpringRoo. Gonna take a look at that later… and if not there’s still a ton more -_- (Seams? Cmon)
Edit: Frameworks are stackable. Example: Oracle->Hibernate->SpringRoo->GWT->Jquery/Prototype->Client, any idea how many frameworks are bundled in that? It gets more complicated when you debug.