First time here? You are looking at the most recent posts. You may also want to check out older archives or the tag cloud. Please leave a comment, ask a question and consider subscribing to the latest posts via RSS. Thank you for visiting! (hide this)

That’s the main fact about ASP.NET MVC:

“ASP.NET MVC brings the web back inside web development”
[from a tweet by Hadi Hariri]

With ASP.NET MVC the “real” web is back into the development workflow of a web application. And to me this translates in having more fun developing apps, and, at the end of the day, being more productive since I don’t have to work-around issues of a framework that takes too much of my work.

It’s true: some might say that ASP.NET MVC is “half-backed” or without a strong opinion about how the M should be implemented, and that there is a lot of infrastructural code to write. But to me, being able to granularly control my HTML, the way I persist the state of the application is a much bigger point in favor of ASP.NET MVC.

Jeffery Palermo wrote a post saying that you should NOT use ASP.NET if you don’t know about object-orientation, you are not willing to build on top of the framework, if you are adverse to open-source and if you rely on 3rd party controls vendors.

I add: you should NOT use ASP.NET MVC if you are not willing to gets your hands dirty with the basic languages of web: HTML, CSS, JavaScript.

There is an ongoing discussion on why web developers use PHP/RoR instead of ASP.NET: my personal opinion is that this happens because ASP.NET WebForms hides the web from the developer, and web developers want to “play” with the web. With ASP.NET MVC, if marketed correctly by Microsoft, this situation might improve.

kick it on DotNetKicks.com

Technorati Tags: ,,,
posted on Monday, April 27, 2009 10:19 PM

Comments on this entry:

# re: ASP.NET MVC brings FUN back inside web development, on .NET

Left by Jon Erickson at 4/27/2009 10:39 PM

Agreed, ever since I've started working with MVC I've been having a blast. Webforms has hidden all of the basics of the web from me and I think that has hurt my skillset. I have been having so many "aha" moments while working with MVC that have been so satisfying. I have also been picking up jQuery and working with javascript more. Web development doesn't seem so "heavy" anymore.

# re: ASP.NET MVC brings FUN back inside web development, on .NET

Left by Janko at 4/27/2009 10:57 PM

Looking forward to start my next project, I'll be using MVC.

For me it's fun to design even in pure ASP.NET - I just love to do it :)

# re: ASP.NET MVC brings FUN back inside web development, on .NET

Left by Simone at 4/27/2009 11:02 PM

@Jon: I agree, another problem of ASP.NET WebForm is that, hiding the "web", doesn't force the developer to "learn" web-related technologies. And in turn, this prevents the developer from doing advanced things, because that would require the knowledge of the web.

# re: ASP.NET MVC brings FUN back inside web development, on .NET

Left by John at 4/28/2009 12:34 AM

I'm just beginning to use MVC and it is exciting.

Web Forms are at now where GM was at 10 years ago -- still the market share leader, but on the downslide. Why?

1) Web forms aren't easy. Joomla, Graffiti and other CMS tools are way, way easier than web forms.
2) Web forms make it hard to do good O-O (layering, testing, SoC, re-factoring, etc.)
3) jQuery. Why bother with a server-side MS web forms control when there's probably a jQuery control that does the same thing? Also, customizing controls built in pure Javascript is a lot easier than trying to customize web forms controls where you have to understand the pipeline and how the control will be rendered on the page.
4) Multiple screen sizes. It 5 years, billions of people will own smart phones. In addition, TVs are starting to come with web functionality, like Yahoo! widgets. With MVC, you've already separated out logic from behavior -- both in your classes and in your mode of thinking.

# re: ASP.NET MVC brings FUN back inside web development, on .NET

Left by varun at 4/28/2009 7:51 AM

Hi, I think that people worrying over too much infra are perhaps not looking at the fact that this allows them a lot of control over their code, they can choose to implement a lotta design principles and have an extremely stable app, everything that gets rendered also remains under their control. MVC is a cool new side of things, and we must welcome it

# re: ASP.NET MVC brings FUN back inside web development, on .NET

Left by Thomas at 4/28/2009 10:26 AM

The best thing about MVC is that at last all the hated overhead of ASP (like viewstate, etc.) is melting down to bare minimum. Seems ASP MVC might be the closest thing to Ruby in the Microsoft world (Iron Ruby not included).

# re: ASP.NET MVC brings FUN back inside web development, on .NET

Left by Simone at 4/28/2009 9:04 PM

I think that some people think that ASP.NET MVC needs too much infrastructural code because usually products from Microsoft are ready to use. While this needs a bit of personal spice to be really usable in an efficient way

@John: I can't agree more :) You take the web back

# re: ASP.NET MVC brings FUN back inside web development, on .NET

Left by Cameron at 4/30/2009 5:34 PM

Been hearing a lot about Asp.Net MVC. How well does it fit within Visual Studio - can I work with it in VS? I'm pretty new to .Net. I'm more of a web designer worked mostly with php, etc - but the dev I work with only uses .Net WFs. Can the 2 be used in conjunction or can one only use one at a time?
apologies if these questions sound silly.. :)
thanks!
cam

# re: ASP.NET MVC brings FUN back inside web development, on .NET

Left by Paul Hyman at 4/30/2009 11:54 PM

Webforms doesn't "hide the web". Sure you can use server controls and never learn html, but if you want you can generate all the html yourself. You don't even have to put runat="server" on your form if you want to handle all the state maintenance yourself. Or you can write custom server controls that do all their own rendering. If you think webforms has hidden everything and doesn't give you any control, then you haven't learned it well.

# re: ASP.NET MVC brings FUN back inside web development, on .NET

Left by foobar at 5/1/2009 1:28 AM

-- Cameron
>> How well does it fit within Visual Studio - can I work with it in VS?

Have no fear. AspNet MVC fits with VS2k8 SP1 very well. The boys of Redmond have done a good job.

>> the dev I work with only uses .Net WFs. Can the 2 be used in conjunction or can one only use one at a time?

If by ".Net WF" you mean AspNet web forms, and by "the 2" you mean AspNet MVC + web forms, then the answer is yes. You can mix both in the same Visual Studio project.

# re: ASP.NET MVC brings FUN back inside web development, on .NET

Left by Ivan Porto Carrero at 5/1/2009 2:42 PM

@PaulHyman
The html rendering is only part of the problem. The problems/features of webforms go a lot further than just the runat tag.
you can turn of viewstate I know, you can strip out all the controls. That's all great but where does reuse go then?
This then brings us to the next problem the page lifecycle which in itself is already fairly complex. If you want to share logic across pages you have to create base classes, learn where to hook what in.
When you are creating custom server controls things become really close to a nightmare for maintenance. And doing ajax isn't a walk in the park either with corrupted viewstates etc...
One of the design goals was to make a stateless platform behave like a stateful platform.

# re: ASP.NET MVC brings FUN back inside web development, on .NET

Left by Andrea Balducci at 5/1/2009 8:03 PM

@PaulHyman
From MSDN:"Web Forms are the User Interface (UI) elements that give your Web applications their look and feel
...
You should find that the move to ASP.NET is easier than moving from Visual Basic 6.0 to ASP development as you now have the same development environment and the same programming model."

WebForms wanted "by design" bring the same programming model of VB desktop app to the web... I think this is hiding the web. Of course you can just write you own httphandler and serve your pages but this is not WebForms..
MVC gives you full control over your HTML by design (an a lot more).
WebForms and MVC are just different by design....

# re: ASP.NET MVC brings FUN back inside web development, on .NET

Left by john at 5/5/2009 7:19 AM

Yeah,ASP.Net MVC is great thing. When develop public website it is much better than ASP.Net Web Form.
1.Easy to test
2.Easy to control HTML tag can comptiable with XHTML Standards
3.Eazy to sperate to different layers for easily focus on Business or Model or Controller layer.
and much more advantages such as natural Restful.

I am looking for intermediate .net developer position, if anyone can help please that me know. Thanks very much

# re: ASP.NET MVC brings FUN back inside web development, on .NET

Left by Yazid at 5/6/2009 6:00 PM

WebForms are also easy to test, I think they are even easier to test if implemented properly. For example:

View Implements an IView and then have the view create the controller. The controller expects an IView. With this one can test the controller as well as mock the view.

Check this link

msdn.microsoft.com/en-us/magazine/cc188690.aspx

Cheers
Yaz

# re: ASP.NET MVC brings FUN back inside web development, on .NET

Left by Simone at 5/6/2009 7:37 PM

@Yazid: Well... that was the MVP pattern...
but the developer must implement something himself, with ASP.NET MVC the separation of concerns is out of the box.

But the so-called "testability" was not the topic of the post...
The post was talking about the fact that ASP.NET MVC doesn't hide the "web" away from the developer... which is a different thing

Anyway, thank you for commenting and reminding us that if implemented properly, you can get "decent" testability also using WebForms.

# re: ASP.NET MVC brings FUN back inside web development, on .NET

Left by Yazid at 5/6/2009 7:44 PM

I love ASP.NET MVC, I still think it is early days. One cannot easily mock the view. The controllers contain a lot of HTTPContext which is difficult to test or mock because there are no interfaces. You need to make them up.

Comments have been closed on this topic.