

What’s the most commonly used framework for web development and why? - 2bHalfMad

I've recently come across a problem that might be a problem for now, but can be a problem later, and that is choosing the right web development framework for a website project. I'm sure this happened to many of others out there, too.&#60;p&#62;I want to incorporate the framework so that the development is more efficient, easy to maintain, easy to scale, have full control in what you want to do and not too limited by the constraints of the framworkable, separation between front-end interface, business logic and data retrieval (i guess more dyanmic).&#60;p&#62;So first of all, i would like ask what is the most commonly used framework out there? and what is the advantage of using it over others?&#60;p&#62;and what about ASP.NET MVC, Ruby On Rails and Yii? and any input on these three framework? Thanks.
======
chc
The most commonly used framework is not useful information if you're
interested in "the advantage of using it over others." The most commonly used
languages are Java and C++, but almost nobody would list them as the _best_
languages. They're common because they were the chosen languages of the
enterprise sector.

Nobody can tell you which framework is best. It's just not answerable
question. Bob will tell you one thing, Alice will tell you something else, and
then you'll have Devon over in the corner raving to anyone who will listen
about how he wrote a complete Facebook competitor in thirty seconds using this
cool up-and-comer called PHP On PCP.

What you choose is between you and your team. There isn't a right answer, or
even something approximating one. If you've read pg's essays at all, you'll
notice a common theme is that using a completely out-of-left-field language
like Lisp was a key component to his company's productivity.

------
mellery451
hoo - boy! here we go with another web framework religion throwdown.

Well, here's my quick answer: pick the one you think you can get going most
quickly with. It's better to just get something started that does _something_
than to spend 6 weeks configuring the latest/greatest web framework before you
can get started actually developing your app.

If, on the other hand, you want to use this project as a way to play with some
particular framework - well, then you already have your answer: use that one.

Don't fret too much about your initial decision. Your app is going to
grow/morph over time. At some point, you might "outgrow" your initial choice
of framework. No worries - by that time, you'll probably have learned a thing
or two about what you _really_ want the app to do. A major refactoring phase
is an opportunity to change frameworks, and it's not always as painful as it
might seem at first.

So, yeah - that's a non-committal answer. But, that's because I think the
focus should be on getting something running quickly. If you have the ASP.net
stack on your system already set-up and you know how to get started, fire
away. If you're starting from a blank slate, then poke around the
documentation for some of the major frameworks (rails, django, cake,
etc..)...and have a look at the "quick start" guides. Pick one that seems to
make the most sense to you and that you think you could get up to speed
quickly on.

Once you picked your framework to start with, head on over to StackOverflow
and peruse the latest questions for that framework. It will give you an idea
what kind of issues people are dealing with and what kind of help that
community can provide. For each framework, there are other more specific
forums/communities, but SO offers an easy way to have a look at a cross
section of users/issues.

good luck!

~~~
2bHalfMad
Thank you kindly for the great advice, mellery451.

------
MartinCron
In a way, we live in a very fortunate time, when there are several perfectly
good web frameworks (not to mention several perfectly good web browsers).

 _what about ASP.NET MVC..._?

ASP.NET MVC is underrated. It's a well thought out system that makes it easy
to get things done very quickly. I highly recommend at least taking a look at
it.

~~~
2bHalfMad
mellery451 has pointed out the idea on starting with something I am
comfortable with so i can build my app/project within the minimum
timeframe/cost. On the thought of ASP.NET MVC, would you be able to clarify
further what you meant by underrated? As in terms of amount of users, or
something else? I guess the only reason that lured me in when I first started
was the separation of view, model(data) and control that allows you to put
things at where it should be, and as a result of that, it helps for further
maintenance. I know there are alots of open source frameworks out there that
also incorporate MVC concept which really re-emphasise the importance of
separation. Thank you kindly.

~~~
MartinCron
I say it's underrated because a lot of people dismiss anything out of Redmond.
There's a stigma that .NET Coders are just corporate drone code monkeys who
don't care about their craft. Sure, some of them are, but there are plenty of
very serious programmers working in the .NET platform.

You can write good code or bad code in any language, but the (many) frameworks
that promote the MVC separation of concerns tend to nudge you toward making
better code.

I agree with mellery451, stay in your comfort zone to get the product out
quickly. Just be sure to venture outside of your comfort zone every once in a
while. If I never went outside of my comfort zone, I would still be a Perl
hacker.

