views:

216

answers:

5

Since asp.net mvc did away with many controls that were in webforms, does this make rapid application development equal with other environments now? For example, if I have an mvc framework in php, j2ee, etc., and I have asp.net mvc, and the coder knows the given platform, isn't the development advantage gone in visual studio?

If I am wrong about controls being missing please let me know, it was my impression they were (and I couldn't use them when I tried it last.)

I ask because where I work some like Microsoft - a lot, some can live with it, but the ones that like it point to Visual Studio for rapid development. I thought much of that was gone with asp.net mvc 1.0.

EDIT: I guess I am thinking that dragging and dropping controls means Rapid Application Development (again, assuming the coder knows what they are doing everywhere else.)

A: 

Well, I've never considered Visual Studio as a RAD platform. Faster than PHP, sure. Comparable to Netbeans/Eclipse. Not even close to a true RAD platform though (oh Delphi, how I miss thee!).

Brian Knoblauch
+9  A: 

Rapid application development is just a buzzword. It exists if you develop an application rapidly, not due to any particular tool or technology.

ASP.NET MVC is just a different approach. Some people can work faster when they are closer to the HTML. For me, this means I don't have to deal with the (IMHO) touchy databinding model of WebForms. Instead, I pass my Model directly to my View for rendering. That lets me develop rapidly. You can still develop your own UserControls (or download many of the ones that are available through open source projects), but you can't use anything that has events or ViewState intrinsic to it.

EDIT: RAD is also a subjective term. Is it rapid application development if you can churn out the first iteration in two weeks, but have to push the schedule back two months for the second iteration because the code was not maintainable?

JoshJordan
I do not agree, you must not have programmed in Delphi, that's RAD, VS copied a lot from it
BlackTigerX
Besides "you must not have programmed in Delphi," I agree with you. You can work quickly in Delphi, and Microsoft probably derived a lot of Visual Studio's requirements from it, originally. I don't see anything in my post that contests those assertions, so I'm not sure what you mean by "I do not agree."
JoshJordan
I think he disagrees with your definition of RAD. You say that RAD is a buzzword, and is subjective. I think that Delphi, and early VS touted it as a feature and part of the toolset. I think IDE Code Generation is a large part of what is accepted as RAD.
NerdFury
Ah, well that makes sense. I'd still think ASP.NET MVC would be included in that because there's plenty of code generation used to be found.
JoshJordan
+4  A: 

If you are talking about the ability to drag controls onto a page, click them, set some properties, and have a code generated for you, and a working application by basically dragging controls and tools around, yes, MVC removes the ability to do RAD.

MVC exists to solve a different problem. It is for people that want separation of concerns to support unit testing and extensibility. Things that were nearly impossible to get with classically developed asp.net applications.

NerdFury
+1  A: 

Web forms was an attempt to be more RAD if you will. However, the emergence of things like MVC, and Dynamic Data and things like Linq and Linq2SQL are pretty darn good evidence that Web Forms alone were not the panacea RAD platform.

From a personal standpoint, one may be faster at Web forms just by experience. That doesn't mean the platform or it's competitors are better or worse at RAD.

A lot of people found that Web Forms took so much control away and had such large event models that it ended up being less RAD than hoped.

klabranche
+1  A: 

I'd say that Rapid Development and ASP.NET MVC are not mutually exclusive per se. however since MVC has the intent of segregation of responsibility to (amongst others) allow testability, it might not be the best choice for Rapid Development-

On the otherside are ASP.NET Webforms where you can do ALOT "visually"/using drag-n-drop (i.e. no code), which to some extent does a very good job of for example preventing testability. But developing is a "no-brainer" - meant in the most positive way :)

veggerby