This article is part of a project which tries to measure the ease of learning and development for several frameworks with a practical experiment. In this article, the selected web frameworks and the reasons for their selection will be presented.
- First, web frameworks chosen.
- Second, the reasons to choose them.
I want to say I would like to have enough time to review more frameworks. Specially, all those component-based frameworks such as GWT or Tapestry, which have a great usage and are growing nowadays. Unfortunately, there is no enough time to compare every framework.
Selected web frameworks
In case you do not want to read the whole article: Web frameworks which have been chosen are:
- Ruby on Rails
- Grails
- Django
- Code Igniter
Reasons why they have been selected
Figure 1 shows the most popular frameworks, those which have better characteristics of usage and ease of development. Perl language has been excluded because, despite being a highly used technology, its frameworks are not considered in comparisons. Python has been included although without being named in comparison because it presents a significant use in high traffic sites and Django usage is increasing.
Although there are more frameworks to choose in Ruby and Python frameworks universe, Ruby on Rails and Django are the most widely used. Community focus on one framework is said to be a good characteristic. On the other hand, there are plenty of Java and PHP based frameworks.

Component-based frameworks are an approach to desktop application development. Their http request abstraction is not accurate for CRUD and classical websites development. A request-based approach is closer to web development and this project will focus on developing a CRUD website. Therefore, component-based frameworks are excluded from the group of web frameworks to choose from.

Figure 2 lists request-based frameworks and compares their features. All of them support every feature in some way. The objective of this project is evaluating the ease of development in different frameworks with different based technologies. Therefore, a cross-language set is chosen, one framework of each programming language.
In a previous article, Raible’s matrix was used to modify weights according to priorities in this project. Results showed that Grails and Rails were the request-based framework winners.
Consequently,
- Ruby on Rails and Django have been chosen due to being the only famous frameworks in these technologies.
- In PHP, CodeIgniter presents the best performance and it is said to be easier than Symfony, CakePHP and Zend. Yii could be an alternative but, due to its less adoption, CodeIgniter seems the best option.
- There are so many JVM frameworks that more than one should be in the comparison. Nevertheless, because of time limitation, only one can be chosen. According to the old Villamor article, agile Java web frameworks are Roma, Grails and Trails. Roma was also compared in Wähner article but it is not very popular. On the other hand, Grails is in the second position in the adapted Raible’s matrix and Villamor considered it an agile web framework. Therefore, Grails has been chosen.
Warning: Declaration of Social_Walker_Comment::start_lvl(&$output, $depth, $args) should be compatible with Walker_Comment::start_lvl(&$output, $depth = 0, $args = Array) in /homepages/17/d418276000/htdocs/websitesframeworks/blog/wp-content/plugins/social/lib/social/walker/comment.php on line 60
Warning: Declaration of Social_Walker_Comment::end_lvl(&$output, $depth, $args) should be compatible with Walker_Comment::end_lvl(&$output, $depth = 0, $args = Array) in /homepages/17/d418276000/htdocs/websitesframeworks/blog/wp-content/plugins/social/lib/social/walker/comment.php on line 60
Web frameworks selected to be compared and the reasons why. It’d be great to have time to compare more
http://t.co/JBaB9d2AhK
I wrote up my thoughts on your choices on my blog.
Comparing web frameworks is hard, especially because your audience likely has different criteria and biases. You might want to narrow your audience focus, unless it’s students you’re targeting. In the corporate/startup world, I believe it’s rare that folks include all languages/frameworks when choosing a web framework.
I haven’t thought of that. Thanks for the information, it is great to have advices from experience people. I hope it would be useful for students and rare corporates/startups.
A cross language framework comparison would be interesting. A couple of points: while the original list looks comprehensive, there seems to be a heavy bias towards JVM based frameworks, perhaps because your literature review focussed on such source like Matt Raible, Kai Wähner and Devoxx presentations. What about NodeJS for instance? Several large companies use this, e.g. LinkedIn migrates from Ruby to Node.js
A discussion on evaluation methodology, developing/choosing consistent benchmark metrics would be helpful, grounded in the taxonomy work of Wähner, Raible matrix, et. al.
Thanks for sharing this, I am looking forward to the next instalment.
Hi Nigel V Thomas,
You are right, NodeJS should be compared. Some people has talked me about this framework and statistics of Javascript usage are increasing. Unfortunately, I don’t have enough time. The selection is based on priorities.
Maybe it could be a little biased. But, first, It is based on the comparisons I have found and I looked quite deeply. Second, it is not only based on comparisons: Benchmarks and statistics of usage have been taking into account. Java is used by the highest traffic sites, for example.
I can not think of web frameworks comparison without considering JBoss Seam specially when it comes to productivity and pace of development
Unfortunately, I haven’t heard pretty much about this framework, it is not highly used based on usage statistics and is not considered in benchmarks. These are the reasons why it has not been selected.
I also agree with the opinion of Omid