I see a lot of folks asking for the best web application frameworks for web development. My question is - do we really need to start with a web application framework? what's the pros and cons of having it? or in another way, what's the pros and cons of web development without a web application framework?

  • Maybe off topic on SO – user774411 Jun 25 '11 at 19:35
  • hmmm, any reasons? people asking for the best web frameworks on SO, and those are allowed and legitimate. why this isn't? – tom Jun 25 '11 at 19:37
  • When you say framework do you mean server or client side? – Raynos Jun 25 '11 at 19:41
  • Raynos, I see most of the web app framework today covers both client and server side, so my question is in general cover those. – tom Jun 25 '11 at 19:47
  • @Ken, SO has been growing fast. It's not limited to programming questions anymore. Take a look at the questions for the web-frameworks tag, I see many are non-code related questions but more of questions in general. – tom Jun 25 '11 at 20:50

Any framework is there to save you time. It should let you write application code, rather than boilerplate code. A framework should let you do a lot of configuration, to get it to do the stuff you wont want to have to implement yourself.

So if you want to save time, use a framework - unless you have a really simple app to write. E.g. you don't need a framework for a website consisting of a few static pages and a contact form.

| improve this answer | |
  • 2
    Even a contact form, improperly done, is a spam vector. It's so easy to do this sort of thing incorrectly (thus the attraction of frameworks). – Scott Jun 25 '11 at 19:37
  • What I am concerned about is that the web app frameworks would give no flexibility to be able to control whatever you want to have, and at the same time the web apps have to inherit the internal problems of the frameworks themselves - for example, performance, scalability etc. – tom Jun 25 '11 at 19:44
  • @Scott: good point :-) – Ant Kutschera Jun 25 '11 at 19:44
  • A good framework should have little or no performance problems, and support scalability, so you have less programming to do! And it should be flexible, for those cases where you really need it. You need to put effort into choosing the right framework :-) – Ant Kutschera Jun 25 '11 at 19:47
  • As an example, the Java EE "framework" supports deploying webapps to a cluster, such that nodes within the cluster can share sessions so that if a node goes down, another one picks up the next request in the session, so that the user doesn't know the node went down. I wouldn't want to program all that, just because I thought I could do better than a framework. – Ant Kutschera Jun 25 '11 at 19:49

The trouble with writing software on the web is that what you don't know can really hurt you. Add to that the fact that you're not reinventing the wheel, and using a framework looks more and more attractive.

| improve this answer | |

Assuming you are building a web app, then the primary advantage is that using a web framework will help you move faster. Or, to put it another way, if you decide to go from scratch, you will have to build everything from the ground up. Which is probably not practical unless you are doing it for learning.

One principal of software engineering is code reuse. Don't reinvent the wheel. People have solved common problems and done a good job of it -- leverage their work to make your life easier. If you find a problem, fix it and contribute back.

| improve this answer | |

A Web Framework will certainly help you acccomplish your goals faster most of the times. Except if you are either creating a really easy site or a really complicated one.

If you are going to code a big project then you should think of developing such a framework on your own, you can add features you need and adjust it however you want. Certainly you wouldn't have to learn another framework from scratch.

Last but not least you can always expand it whereas other frameworks maybe be closed or stopped being developed.

But for most things a web framework that is already there is the best way to go.

| improve this answer | |
  • For highly complex projects your better of integrating multiple micro frameworks rather then re-inventing the entire wheel. – Raynos Jun 27 '11 at 8:05

If you are writing small applications, such as a contact form page framework is something that is completely unnecessary. Time to gain general purpose frameworks. Normally, the code for sending 100 lines of a 5-line code, you can upload the class with CodeIgniter.

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.