Frameworks for Web 2.0

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/

Share this article: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • NewsVine
  • Slashdot
  • StumbleUpon
  • Technorati

16 Responses to “Frameworks for Web 2.0”


  1. Gravatar Icon 1 Ilia Mogilevsky Jun 16th, 2006 at 1:07 am

    Hi Guys,

    very good summary, but which frameworks using PHP did you have a look? There are so many http://www.phpwact.org/php/mvc_frameworks have you seen Qcodo?

  2. Gravatar Icon 2 Mutant Jun 16th, 2006 at 5:04 am

    I’m really happy to see CakePHP to make the list. It has a really wierd adoption right now.. Folks that try it typically like it, but nothing really big has been built with it. ROR has it’s foot in the door with the “wizbang” factor, only — I don’t like Ruby.. Python’s Django is pretty cool, but adoption is very slow as well.

  3. Gravatar Icon 3 Krzysztof Danek Jun 16th, 2006 at 9:23 am

    Could you please elaborate more on why did you choose CakePHP as the best PHP framework?

    I’m currently using symfony, and although I am pretty impressed with it’s flexibility, it has several drawbacks. Biggest of them would be no support for PHP4, which is a big no no for most of hosting companies out there. Still, learning a new framework is like learning a new languague (quote from Jonathan Snook) so I need a good reason to make the switch

  4. Gravatar Icon 4 Peter Flynn Jun 16th, 2006 at 10:22 pm

    Hi Ilia
    Yes - I actually know Mike Ho (developer of QCodo) pretty well and have a great respect for him and his work. When researching frameworks, we corresponded with Mike often and got his feedback on various issues. QCodo is set to be awesome - a load of thought has gone into it and it works well with Zends products. The disadvantage is that QCodo is still quite new and does not have some of the advanced features of CakePHP. I believe QCodo will be a fantastic framework when it is matured I just wouldn’t yet recommend it as our top choice.
    I will blog a more extensive comment on QCodo when I have time and perhaps get some input from Mike.

  5. Gravatar Icon 5 Ilia Mogilevsky Jun 17th, 2006 at 1:53 am

    Hi Peter,

    That would be great, I think Mike is doing a fantastic job and Zend team should take a look at what he has done. I will be watching Qcodo closely for now.

    Hope to see your comment soon… until then lets Bake!

    Ilia

  6. Gravatar Icon 6 Larry E. Masters Jun 17th, 2006 at 3:47 am

    @ Mutant

    Actually the Cake Software Foundation developed a rather large application for a client:
    http://www.cakefoundation.org/pages/clients
    And you will see some really nice applications being released from cakeforge soon.

    @ Krzysztof Danek

    Jonathan Snook may have changed his mind a little read these blog post he has wrote over the last few days.
    http://www.snook.ca/archives/php/cakephp_initial/
    http://www.snook.ca/archives/php/cakephp_bake/

    @ Peter Flynn

    Thanks for the write up.
    Have you tried using the bake script that is shown in one of the screen cast we have?
    Also the links in the “Some sites/articles worth reading on the subject:” go to the the last site in the list.

  7. Gravatar Icon 7 Jason Jun 17th, 2006 at 6:17 am

    I like Code Igniter it’s small and fast easy to use, and stays out of your way.

  8. Gravatar Icon 8 Peter Flynn Jun 17th, 2006 at 11:28 am

    Hi Mutant
    Why don’t you like Ruby? Please elaborate…

  9. Gravatar Icon 9 Peter Flynn Jun 17th, 2006 at 12:03 pm

    Hi Jason
    Here is a great, balanced and unbiased article kinda summarising what most people seem to be saying about the CakePHP vs Code Igniter question: http://codyfoss.com/blog/2006/03/22/php-frameworks-phpcake-vs-code-igniter/

    Because OOP (strong and enforced MVC separation) and built in Web 2.0 libraries are both important considerations for us (WWW) Cake still comes out tops for us. Built in framework enforced coding standard/conventions really assists the team when there are multiple developers. I think Cake has stronger standards in this regard.

    We will certainly keep Code Igniter on our list of PHP Frameworks to monitor.

    The frequent comment from those who prefer Code Igniter seems to be the simplicity and the documentation that Code Igniter has which makes it strong.

  10. Gravatar Icon 10 Peter Flynn Jun 17th, 2006 at 12:14 pm

    Hi Krzysztof

    Here is an article worth looking at which came to the conclusion that Symphony is the best PHP Framework: http://www.mustap.com/phpzone_post_73_top-10-php-mvc-frameworks

    This is also cool for a quick comparison: http://www.phpit.net/article/ten-different-php-frameworks/

    Symphony and Cake seem to compare very closely except for Cake’s PHP4 support/backward compatibility.

    I would say if you already have projects running on Symphony and you are familiar with it, it is a good call. the Symphony community is good and the framework isn’t going anywhere. It seems to have all the right pieces…

  11. Gravatar Icon 11 Peter Flynn Jun 17th, 2006 at 2:43 pm

    Currently at BarCamp Cape Town - Jeremy Thurgood spoke about Nevow, a Python based framework/”web application construction tool kit.” Looks powerful and I would like to get some thoughts about Nevow vs. other frameworks in the debate - so please contribute if you have any thoughts…

    Here are some links I found useful:
    http://divmod.org/trac/wiki/DivmodNevow
    http://divmod.org/projects/nevow

  12. Gravatar Icon 12 Michal Slaby Jul 4th, 2007 at 3:24 pm

    It’s over year after original posting, but hell ;-)

    I started developing Tigermouse AJAX framework for PHP with pretty much the same goals in mind. Now, after nearly 1 year of development it is staging well and offers all that you pointed, except for IDE (but as it uses HTML templates, any HTML IDE will do) and scaffolding.
    Strictly OOP, MVC architecture based, with native AJAX support and good environment separation (command line or web) for easy testing. Good development tools built-in. Robust and lightweight - scales well.

    Take a look at http://tigermouse.epsi.pl

  13. Gravatar Icon 13 Peter Flynn Jul 4th, 2007 at 3:38 pm

    Thank Micheal - we will check it out if/when we have a chance. The theory/promise sounds good…

  14. Gravatar Icon 14 Tim F. Apr 17th, 2008 at 3:55 am

    Has anything changed in terms of what is the best overall framework and/or best framework with php?

  1. 1 BarCamp Cape Town at Web 2.0, AJAX Pingback on Jun 17th, 2006 at 2:39 pm
  2. 2 php.devcorner.info » Blog Archive » Once upon a time there were … PHP Frameworks Pingback on Jun 18th, 2006 at 2:30 am

Leave a Reply