in Technology

Choosing a web development framework

Web Development Frameworks

Illustration from Wordle.net

Web Dev FrameworksWhich one is right for you?


So you have decided you want to start your startup, or may be you just want to build a hobby site. Choosing the web framework is going to be one of the most important decisions you will make, and this decision is going to influence most of your future decisions, so choose wisely. Recently at uswaretech.com, I helped a client evaluate frameworks and make a choice, so here is some help for you from my experience.

Step 1. What are the choices?

Of course the first step to choosing is to enumerate the choices. Lets try some,

  1. Java with Struts framework.
  2. PHP with or without a framework. Let’s assume Symfony.
  3. Ruby with Ruby on Rails.
  4. Python with Django.

… And others.

Step 2. What are your constraints? What are your strengths?

You are a startup, (or a single person, or two). You have limited budget and timeline. You need to hit production yesterday! In such a scenario, Java is something you do not want. You want an Agile framework, something which allows you to develop quickly and iteratively.

A detour – Why Oracle uses Java, but you should not.

For a large organization using Java is a no brainer. “No body got fired for using IBM.” Java is the default option, and for risk averse managers the only option. As Michael Trier succintly put, “You can pick up the phone and get three .NET developers tomorrow. Regardless of whether your company is based in Louisville, Kentucky or White Plains, New York.” This flexibility of swapping programmers is useful to large corporations, but as a startup, you need your development team to stick with you.

Step 3. What libraries are available.

For this project, the client needed to to do a lot of statistical and numerical processing. Scipy is a fast, optimised library to do numerical and scientific processing. So choosing Python over PHP was a no brainer for us. Your requirement might be that the developed application be deployable on a variety of vanilla shared hosting, PHP scores way over anything in this respect. There is no way WordPress could have become so popular if it was not written in PHP.

Step 4: What do you already know?

Do you have some legacy code in a given language you would like to reuse? Do you and your team have experince with some framework? For us, the client had a team experienced with PHP, but the presence of a killer library tilted the balance in favor of Python. Similarly you need to weigh the what value your previous experience has in relation to other factors.

Step 5: How large is the community. How good is the documentation?

When you get stuck in a deep, challenging framework problem would you be able to ask a question in the framework forums and get a quick response? Do a lot of people hangout in the IRC channels? Is the documentation top notch and comprehensive. Once we had decided on Python as the language, we had the choice between Turbogears and Django. We choose Django for its larger community and better documentation..

Finally

Choosing a framework is one of the major decisions you make, and will influence a lot of your development choices. I hope you can use this step by step method to come to a correct decision. I recommended Django after evaluating my client’s requirements, but your needs and requirements are unique, and your framework most suited to you may be different.
So choose the best framework, and go build the next Google.

Write a Comment

Comment

15 Comments

  1. yeah jsf is good too it is a presentation layer of j2ee and useful to design complex web component without codding single line of java script. But it has some limitation for eg: it only support post form method you can not use get form method. and its too complicated. Thats why struts is more popular.

  2. yeah jsf is good too it is a presentation layer of j2ee and useful to design complex web component without codding single line of java script. But it has some limitation for eg: it only support post form method you can not use get form method. and its too complicated. Thats why struts is more popular.

  3. On PHP. What was I looking for in a framework?

    1. Easy to install on any configuration
    2. Decent documentation
    3. Clean design and code readability
    4. Simplicity and Scalable
    5. Ability to extend easily with other classes/libraries
    6. Uses commonly known design Patterns
    7. Agile well-tested code base principles
    8. Latest Web Development Features (RIA ,AJAX)
    9. High-quality, OO class library – unit testing & loose coupling
    10.Backward compatibility
    11.Caching preferably
    12.Significant developer/support community
    13.Tested

  4. On PHP. What was I looking for in a framework?

    1. Easy to install on any configuration
    2. Decent documentation
    3. Clean design and code readability
    4. Simplicity and Scalable
    5. Ability to extend easily with other classes/libraries
    6. Uses commonly known design Patterns
    7. Agile well-tested code base principles
    8. Latest Web Development Features (RIA ,AJAX)
    9. High-quality, OO class library – unit testing & loose coupling
    10.Backward compatibility
    11.Caching preferably
    12.Significant developer/support community
    13.Tested

  5. We are using SmartGWT (a GWT extension) and it works better than ever and has a great API and GUI interface. GWT is a good starting point but SmartGWT has expanded on this and wrapped the SmartClient Javascript library within it.

    Our group is very impressed with SmartGwt and our clients think that the program is progressing very fast because of the ease of development. Plus we don't need to do any Javascript! All Java code then debugged in Java then compiled to JavaScript. SmartGwt needs more credit for its ease of use.

  6. We are using SmartGWT (a GWT extension) and it works better than ever and has a great API and GUI interface. GWT is a good starting point but SmartGWT has expanded on this and wrapped the SmartClient Javascript library within it.

    Our group is very impressed with SmartGwt and our clients think that the program is progressing very fast because of the ease of development. Plus we don't need to do any Javascript! All Java code then debugged in Java then compiled to JavaScript. SmartGwt needs more credit for its ease of use.

Webmentions

  • 6 Things to Consider when Choosing a Framework | Bruno Bugatti Apr 16, 2014

    […] Image credits and further reading: http://brajeshwar.wpengine.com/2008/web-development-frameworks/ […]

  • rpsblog.com » A week of symfony #80 (7->13 july 2008) Apr 16, 2014

    [...] Choosing a web development framework [...]

  • Bookmarks for July 8th & July 9th | isuckatdesign.com Apr 16, 2014

    [...] Choosing a web development framework - Luckily, I can usually choose the framework I use for clients. Usually. [...]