Microsoft ASP.NET - Too many options

*Updated* 10 May 2011: From Tarn's feedback: I made it more clear that the target audience "Beginners with ASP.NET" get confused.

TL;DR

I think Microsoft's message for beginners on ASP.NET is wrong, by suggesting we have 3 players for doing web development with MS tooling, as per http://www.asp.net/get-started

Me thinks: There is "Web Pages", "MVC" and "Webforms", and tools: "WebMatrix" and "VS2010".
But should we really suggest all of them?

 

-------------
Next week I am talking about ASP.NET MVC at UTS because that's a bright future in my eyes.
WebForms is still handy for some things (usercontrols, legacy,...), and obviously you can mix both together as much as you like…

I got a question regarding reference applications for ASP.NET from an UTS student and went to http://www.asp.net/get-started because this website should be our main entry point for MS web development.

I was shocked!
Now we have a new player!

ASP.NET getstartet portal
Figure: ASP.NET Get started shows 3 options for doing web development

So…. Instead of 2 options: "WebForms" and "MVC", we have another option here "Web Pages"

I speak to so many dev's that struggle already with the options provided and are overwhelmed by all the different choices that we have: WebForms, MVC, Silverlight, HTML5, jQuery, WTF, … Confusing them with "Web Pages" is not a good idea

 

I think MS should make clear:

As a Starter on ASP.NET use "WebMatrix" and "Web Pages".
If you want to go Pro, get "VS2010" and use "MVC". For legacy reasons or fancy user controls use "Web Forms".

We have 2 UI technologies: #1 Webforms and #2 MVC
We have 2 tools: #1 WebMatrix and #2 VS2010

What do you think?

9 comments:

Dr Paul Neumeyer said...

I think Microsoft is making a poor choice promoting this ASP.NET Web Pages option

1) The name is a #fail, as there is already more than enough overloaded use of term WebPage it will make finding any technical, blog or related details very difficult in a search engine for the poor people who do make this as their choice

2) It is a model of development that is back to classic asp or php with all the code in the pages - Ouch!

3) There is no clear migration from ASP.NET Web Pages to another tech if the site gets bigger and needs structure – and if that is the case why not start with MVC and put effort into making MVC more accessible (e.g. improved tooling, options for codegen, ship it with reusable areas/components, etc) for the people who might otherwise choose ASP.NET Web Pages!

Eric Phan said...

I see WebMatrix as an entry level tool to get people who don’t necessary have a development background a quick way to build and customize websites (using the templates and editors) on the Microsoft platform. It lowers the barriers to entry because you have one lightweight tool (7MB + about 20 MB of dependencies) that can edit web pages and manage your SQL. If the user wants to do more than they will need to step up to the visual studio offerings like if they wanted debugging support. I think of it as a step up from Notepad :)

Read the rest of my reply at http://ericphan.info/blog/2011/5/6/re-microsoft-aspnet-too-many-options.html

Peter Gfader said...

@Paul

Very good points!


@Eric
Yes, the Express editions are nice, but they have their flaws...

Example:
"Express C# edition" doesn't include the SQL Server Provider to connect to SQL Server.
"Express Wed Dev edition" does.
Go figure!

Tarn Barford said...

I think they are offering three ways to build web sites, Web pages don't appear to be either MVC or Web Forms. I could even add a forth with the new WCF HTTP stuff. And two tools.

I often see people to complain about Microsoft providing too many options to do X and I don't really understand it. Why is having too many options a problem?

I don't really buy the logic that they should not provide options because some people are "overwhelmed by all the different choices". I don't think makes sense to limit everyones options to prevent people from having to make a choice.

Perhaps if one was clearly superior, but in this case they all seem to have their deficiencies. If they didn't they surely wouldn't keep coming up with new options?

But these evil options have there benefits. Remember the complaints about two options when MVC was announced? I am so glad Microsoft didn't listen to them then. And I think there is a space for an alternative now too.

So, sorry I can't provide any empathy and instead suggest it worth considering even beyond these three options and two tools to build web technology.

Bart Czernicki said...

The biggest reason why you would chose "classic" ASP.NET over ASP.NET MVC is for the web part integration/portal features for SharePoint compatibility (even then I probably would use Silverlight there anyway since its LOB most likely).

Otherwise, you pretty much should be doing ASP.NET MVC 3 for new applications...especially anything forward looking for HTML5.


WebMatrix (as mentioned above) is for beginners, but from what I tried does not generate 100% compatible ASP.NET MVC 3 solutions afterwards...if it does that then I would use it as a RAD prototype tool. Right now that link is broken and needs to be fixed.

Peter Gfader said...

@Tarn

I think I got my message a bit wrong.

#1
I love having many options and lots of different tools!
All these different Lego pieces that shanselman talks a lot about, are great. And most of the time they fit quite nice together.
But the "ASP.NET Get started page" is the main entry points for starters/beginners and should not confuse new people too much...

#2
I think "WebPages" is great for beginners, because it is so simple and I like simple things!
But, as Paul said: the model of development is back to classic asp, which has it's problems.
--> It's too easy to create a mess.



BTW: People can create a mess with every language/tool, its just sometimes harder ;-)

Tarn Barford said...

@Peter - Perhaps I did get your message wrong. So what you are saying boils to "Web Pages" shouldn't be on the ASP.NET "Getting started" page, even though you also say it is great for beginners?

I think seeing "Web Pages" as a tool for beginners is perhaps also missing the point. In MVC setting up a route, controller, action, view model and view is a lot a lot of work just to view a web page. There are many types of websites which simply do not benefit from all this scaffolding.

Microsoft building something that feels like a .NET equivalent of classic active server pages (ASP) seems to make sense. There are legions of classic ASP developers still decrying .NET killed web development for them who may well now return to the Micosoft stack.

I too am not a huge fan of WebPages as I feel it does suffer some problem you allude to. I would prefer something like Sinatra for Ruby (http://www.sinatrarb.com/) which is a lighter weight web framework than Rails. There are .NET equivalents like Nancy (https://github.com/NancyFx/Nancy) which are well worth checking out.

The new WCF HTTP Web API stuff is also very interesting for scenarios where you want to provide APIs over HTTP. Combining the this with a view engine can actually make for a very light weight web framework like Sinatra and Nancy.

I think there is in-fact space for another web framework other than ASP.NET MVC and Web Forms. I would have preferred to have seen something Sinatra like, but Microsoft clearly have a large user base they are trying to win back with Web Pages.

Peter Gfader said...

@Tarn
Well spotted!

I agree with your points about "Web Pages" not being just for beginners, and being a good option for some scenarios.

>>legions of classic ASP developers still decrying .NET killed web development
I thought they were happy to move to .NET ... Do you have different experience there?


My concern is: What should we tell a starter on the web .NET stack?
Should we overrun them with lots of possibilities and let them choose?
Or
Should we tell them: Get WebMatrix and use WebPages. If you need more look at VS2010 + MVC/WebForms.


Did you build already something on top of Sinatra or Nancy? Or a REST API on top of "new WCF HTTP Web API stuff"?
Would be keen to hear your opinions and experiences...

Anonymous said...

I think Microsoft needs to figure how who the hell they want to be. There is no coherence in their web strategy and it only seems to get worse with every offering.

Post a Comment

Latest Posts

Popular Posts