Choosing a web development framework

Choosing a framework is one of the major decisions you make, and will influence a lot of your development choices.

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.

This was a guest post by Shabda Raaj from Uswaretech, which specializes in Django web development. They have built a number of Django webapps, such as 42topics.com, a social news site which find links tailored to an user’s needs.


Don't like it? There are lots of published articles, pick a random one.

Brajeshwar posted this article on Wed, Jul 9th, 2008 at 6:34 am
Categorized under Featured, Technology and has the following tags

Prev Article:

Next Article:

Archives: Visit the Archives for more articles.

Comments Post Yours

There are 9 responses so far. You can follow any responses to this entry through the RSS feed. You can leave a response, or trackback from your own site.

  1. What about Perl and Catalyst as an option for us old timers?

    http://catalyst.perl.org/

  2. another good framework is also there in java : JSF.
    This post is very informative.
    most of the things i don’t know thanks

  3. 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.

  4. i have not work on struts so i don’t have any idea about the struts. but u r right jsf is very complicated

  5. If you’re curious about MVC frameworks, have a gander at MVC Marathon.

    It takes longer to write about it than it does doing the code, but I hope to make it all the way through.

  6. 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

  7. Nigel Heywood July 13th, 2009 at 7:30 pm 7

    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.

  1. Pings & Trackbacks Sites, articles & blog posts linking back to this article.

Post yours

Sidenotes

Quick notes, scribbles, somehow related to this website and to what I do. Or perhaps I'm just plain lazy to make them into a full article.

12 Hottest Geek Girls on Twitter

So, you have seen the 12 Hottest Geek Girls (via Digg). However, they forgot to link them to their, hmmmmmm errrr, Twitter profiles so you can follow them. Or perhaps they felt -- they're popular ...13th Oct, 2009

Great Indian Developer Summit 2009

I got a Press Release of the upcoming GIDS '09 and here is an excerpt. The summit's program covers Java, REST, Unit testing, Groovy, Spring, Struts 2.0, SOA, Cloud Computing, Web Services, JRuby, RoR, Ruby, JVM, ...21st Jan, 2009

The flourishing gun market in Pakistan

VICE Travel: Darra, Pakistanby Top-Notch112 (Via: Deep Green Crystals) 20th Jan, 2009

Angry Ringtone for iPhone and others

[audio:http://audio.brajeshwar.com/angry-ring-ring.mp3] The ANGRY RINGTONE for iPhone. (Click the PLAY button above!) Download * iPhone Ringtone (.m4r) * MP3 Ringtone (.mp3) * Zipped (both .m4r and .mp3) To use it as an iPhone Ringtone; just double click the file "angry-ring-ring.m4r" and it ...15th Jan, 2009

IIM Ahmedabad's Leverage 2009

Leverage, the Venture Capital and Private Equity Club of IIM Ahmedabad and the Centre for Innovation Incubation and Entrepreneurship bring to you the 1st edition of the Venture Capital and Private Equity Conference on the ...12th Jan, 2009

View the Sidenotes Archive

Play the Penguin Game

Recommended

  • ActionScript 3.0 Reference Flash/Flex ActionScript 3.0 Reference.
  • Downloads All downloads, Free and Open Source.
  • AS 2.0 Reference Reference for ActionScript 2.0 Programming Language used in Flash. Primarily stashed here for my own personal reference.
  • Ode to Apple Dedicated to Apple – Mac, iPhone, iPod, iTunes, Quicktime, Apple TV and all the awesome softwares for the Apple Mac.
  • o! Just Me Of colorful cultures, entertainment, media, life hacks, music, books and movies from hollywood & bollywood.
  • Not Safe for Work Ever clicked a link and felt embarrassed with the content in front of your co-workers? Ever caught unaware because the funny link your friend sent was a little beyond funny? Let’s minimize that with NSWF.

Download free Brajeshwar Wordpress Theme

Brajeshwar

Brajeshwar I firmly believe in keeping things simple, easy for users and I envison pushing the technical envelop time and again for the betterment of viable commercial and practical applications. More about me.

Photos

More photos on Flickr

Member of 9rules Network

Since its inception on 11th June, 2001, "Brajeshwar" has 972 Articles and 6,637 comments, contained within 17 categories and 1,567 tags.