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.<p>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).<p>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?<p>and what about ASP.NET MVC, Ruby On Rails and Yii? and any input on these three framework? Thanks.
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 <i>best</i> languages. They're common because they were the chosen languages of the enterprise sector.<p>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.<p>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.
hoo - boy! here we go with another web framework religion throwdown.<p>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 <i>something</i> than to spend 6 weeks configuring the latest/greatest web framework before you can get started actually developing your app.<p>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.<p>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 <i>really</i> 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.<p>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.<p>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.<p>good luck!
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).<p><i>what about ASP.NET MVC...</i>?<p>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.