What's Your Favourite Web Development Framework?

framework

Web development frameworks are wonderful things. They can generally help to make web development much simpler, by providing easy-to-use tools for common tasks such as database access, templates and session management. Many of them also include features to generally speed up development, such as use of a Model-View-Controller (MVC) pattern, and more.

Because there are so many frameworks out there, many with similar uses, it can be difficult to choose which one to use in your web application. So here is a list of excellent frameworks that everyone should try out.

CodeIgniter

This is probably one of my favourite web development frameworks, and the first that I learned to use. CodeIgniter is an open source PHP framework developed by EllisLab. It is known for being a relatively light framework (under 4MB), while still providing tons of great features for quick and easy PHP development.

CodeIgniter uses an MVC pattern, which pretty much means that you have models that handle the site's data (the database), views that take care of what the user sees, and I'd say that the controller is the part that actually does stuff.

Zend Framework

Zend Framework is another great PHP framework. It is open source, released under the New BSD License. Zend Framework is a use-at-will type of framework, meaning that its users aren't forced to follow any specific paradigm, providing many individual components to be integrated into web applications.

Ruby on Rails

Ruby on Rails is often considered as the web development framework for Ruby. It is designed to be used with an Agile software development methodology, which allows for rapid development by its users. Rails is another web development framework that follows an MVC pattern, and it also includes various features such as ActiveRecord (for database access), and many more.

Django

Django is a web development framework for Python, Ruby's mortal enemy. This, again, follows the MVC architecture pattern. The main goal of Django is to simplfy the development of complex, database-driven websites. This framework emphasizes modularity (or "pluggability"), the ability for rapid application development, and tries to follow the principle of DRY (Don't Repeat Yourself).

Sinatra

Sinatra is another web development framework for the Ruby programming language. However, unlike most other web development frameworks, Sinatra does not follow the typical MVC pattern. Instead, Sinatra is mainly focused on "quickly creating web-applications in Ruby with minimal effort."

CakePHP

CakePHP is yet another web application framework for, you guessed it, PHP. It is another framework that follows the popular MVC pattern. Like Ruby on Rails, CakePHP allows for easy database access through a system similar to the active record pattern. Overall, it is an excellent framework for rapid web application development.

These are some excellent web development frameworks. Which framework is your favourite (even if it's not on this list)? Even if it's not a web development framework, let me know what you think is the best framework of all!

Stay Updated

Did you enjoy this post? Don't miss a single post by getting free updates!

34 Comments

  1. March 22, 2010

    I chose CodeIgniter because it had simple and understandable user guide and it was not hard to program with it. On the other hand Zend is quite a thing if you even want to read all the manual.

  2. March 22, 2010

    My favorite is Zend Framework. It is easy and user friendly.

  3. March 24, 2010

    I think another consideration for Web development frameworks should be the community surrounding them. I agree with Richard, that the CodeIgniter user guide is an amazing resource and would add that the forums have been a huge help. As far as the others, I like Rails for Ruby and Django for Python.

    • March 24, 2010

      That is an important consideration. It's always nice to be able to find nice tutorials and have great people helping out with the framework you choose!

  4. EllisGL
    March 24, 2010

    My vote is for Kohana PHP (http://www.kohanaphp.com) which is a fork of CodeIgniter

    • April 6, 2010

      I stared with CI and shifted to Kohana. Love the php5 features.

  5. nicolas melendez
    March 24, 2010

    Wicket! an apache java framework

  6. zak89
    March 24, 2010

    One word. Grails.

  7. Jeremy
    March 24, 2010

    I've worked with Zend, Symfony, CodeIgniter, Django and a few others.

    Most of my work is done with Zend (and Doctrine), for very small sites I've used CodeIgniter.

  8. John
    March 24, 2010

    Http:\\www.yiiframework.com

  9. March 24, 2010

    I miss in the list Symfony (http://www.symfony-project.org/) , a very agile framework (doctrine is a must)

    • March 24, 2010

      Yes, Symphony is a very good framework! I can't believe I missed that one!

  10. Thomas Menga
    March 24, 2010

    My vote goes to KohanaPHP (http://www.kohanaphp.com/).

    A lightweight, simple, easy-to-use framework that has all the common functions only (not that useless stuff loaded on every page load... You know, the one you say "it kicks ass !" but never used it ^^)

  11. JOhn
    March 24, 2010

    I recently found Play! framework. This a a Java framework. Very different from any other Java web framework, along the lines of Rails.

    • emt
      August 3, 2010

      Recently discovered play framework and must say so far it rocks!

  12. Thai Dang Vu
    March 24, 2010

    It's interesting that Java EE 6 and Spring are not mentioned by anybody.

    • March 24, 2010

      I didn't want the list to get too long, but I can't believe I forgot the Java frameworks! If I have the time, I might just add a couple.

  13. March 24, 2010

    Play! framework is my choice after evaluating cakephp, django and Grails.

  14. March 25, 2010

    My vote goes to the Zend Framework, and EZ Components (http://ez.no/ezcomponents). Both dynamic and flexible frameworks where you can pick and choose the bits that are relevant for your project, or you can use the whole application stack.

  15. Schäbo
    March 25, 2010

    http://vaadin.com

    for Java

    Zend

    for PHP

  16. Alex
    March 26, 2010

    Try HybridJava!

    The only web framework in the world that provides MVC components.

  17. April 4, 2010

    CodeIgniter is great.

    Mind you, they are all pretty good. Depends largely on how much extra you want to learn.

    Try writing your own :)

    • Alex
      April 4, 2010

      HybridJava is an absolute champion in the ratio features/learning. The documentation is about 20 pages.

      I may only guess what exactly you mean telling "Try writing your own". But I have already followed that advice of yours and HybridJava IS the result.

      BTW "MVC component" is a component that icorporates M, V and C.

      • April 5, 2010

        I simply meant that developing a framework is a good way to learn how they work.

        Much like developing a simple CMS before using Joomla for example.

        I don't mean a full on functioning product per se. Simply a means to learn the 'guts' of a method or system.

        I've found this helps to understand the mechanics of things.

        It might be a bit pedantic i know :)

        • EllisGL
          April 5, 2010

          I'd rather develop a full on CMS before using Joomla ever again. =)

    • April 5, 2010

      I've thought about putting together a framework before. I need to add that to my list of things to do sometime :)

  18. Jack
    April 6, 2010

    I dislike CakePHP and Zend with a passion.. Anything that takes a month to get properly into and has classes and conventions for everything you can think of is bloated, overcomplicated and restricting in my opinion.

    I've build sites in both Kohana and CodeIgniter. CodeIgniter just rocks!

    • Jeremy
      April 6, 2010

      I don't see how you can say Zend is bloated when you only include what you need. Classes for everything means I don't have to reinvent the wheel.

  19. Fill
    April 6, 2010

    I'm a big fan of and consider myself an expert in Ruby on Rails, but it's really hard to find good RoR programmers. One of my clients tried for a couple years to maintain their RoR site, but they are throwing it away and starting over in PHP because it's easier (and most importantly, cheaper) to find good PHP programmers. Sort of sad. :'(

  20. April 15, 2010

    Good post! :) Currently I'm using CodeIgniter. Btw, its easy to learn for beginner like me. And I suggest to peoples that want to learn a PHP MVC-based framework can start with CodeIgniter.

    • April 15, 2010

      Yep, I agree that CodeIgniter is a great framework for beginners. It was the first web development framework that I ever used, and I found it quite easy to pick up.

  21. July 19, 2010

    Symfony, of course!

Trackbacks/Pingbacks