Here at WWW we have recently been spending some significant time looking at various frameworks. We put together a list of several required criteria – here is a short list:

  • Strong separation of Data, Logic and Presentation (MVC)
  • OOP
  • Strong naming conventions and smart English recognition
  • Web 2.0 support and preferably libraries built in
  • Built for automated testing (especially unit testing) preferably with an existing unit testing framework
  • A great IDE (preferably Eclipse)
  • Rapid development features (scaffolding etc.)
  • Robustness (able to handle large volumes of traffic and data)

Due to a number of our existing projects being build in PHP we endevoured to find the best PHP framework for taking those projects and plugin applications forward. We also looked for the best framework across all languages.

The best PHP framework according to our evaluation (all things considered) is CakePHP.

The best framework overall for our needs according to our evaluation is Ruby on Rails.

Another framework that we will be keeping a close eye on is Django (Python).

Some sites/articles worth reading on the subject:

http://www.cakephp.org/

http://www.rubyonrails.org/

http://www.djangoproject.com/

http://cleverdevil.org/computing/29/

http://www.owahab.com/node/11

http://www.killersites.com/blog/2006/php-vs-ruby/