views:

584

answers:

11

WinForms has given way to WPF and new models such as MVVM, that better enable Test Driven Development, work very nicely with WPF. Also, it seems to me that ASP.NET is very closely aligned with the WinForms way of doing things, for example event handlers in the code-behind which is linked using inheritance or partial classes. With WPF and MVVM, this mechanism falls out of favor and Data Binding is used to further de-couple the user interface to the point where it is just a skin.

So, I would bet that Microsoft is building something like a WPF-inspired, XAML-based replacement for ASP.NET. That is, HTML page views that are written in XAML so that they can take advantage of binding, but when run will render standards-based HTML. However, I can't find any reference online. (There is a ASP.NET MVVM article at CodePlex, but the binding there seems pretty manual.)

This is not intended as a community wiki question, I really do want to know what Microsoft is working on. However, I'm guessing that I can't stop the speculation (I've already done some).

Edit: Quite a few responses pointing to Silverlight have come through. I should have been more explicit. As cool as Silverlight is, I'm really looking for a standards-compatible technology that can be used in LOB applications.

+2  A: 

They did just release asp.net MVC which gives developers the choice of using MVC instead of web forms. I'm not familiar with MVVM so I'm not sure if they are doing anything in that area with asp.net.

metanaito
MVVM is an evolution MVP which is an evolution of MVC. Basically it provides all the benefits of MVC and adds on top of that a ViewModel that makes Test Driven Development easier in some scenarios.
Adrian
Thanks for the explaination. Because of this I'm going to read more on it. I know many responses say Silverlight, but to me that's entirely different from asp.net since it doesn't quite work in all browsers. I think MVC is it for now for asp.net.
metanaito
Yes, new design patterns with the same old ASP model seem to be newest things, but it is really just evolutionary. HTML through to ASP.NET, just like WinForms is the evolution of Visual Basic 3. Whereas WPF seems to be a revolutionary change from WinForms. Is there a revolutionary change coming for ASP.NET?
Adrian
@Adrian, the development/project structure in ASP.Net MVC is dramatically different than ASP.Net Webforms.. far more than an MVC design pattern over ASP.Net webforms.
Tracker1
+2  A: 

It would be either of Asp.Net MVC if you're a die hard Asp.Net fan, or if you love the WPF and/or the smart web approach silverlight.

MrTelly
+3  A: 

It seems to me the technology you're searching for is Silverlight.

It's a web technology that supports a subset of XAML.

Andrew Shepherd
I really like Silverlight, but I don't see how it can *replace* ASP.NET, just like Flash hasn't replaced HTML. Whatever the next thing is, it *must* be standards-based, i.e. HTML/JavaScript.
Adrian
Your right, Silverlight really can't 100% replace ASP.Net. Knowing this it should be pretty easy to see that whatever the "next" thing is for Asp.Net won't be XAML based.
Corey Sunwold
+6  A: 

Silverlight is the closest thing that I can think of that matches your description. For the most part they are pushing MVC as a new way of doing Asp.Net.

Corey Sunwold
Silverlight is the closest match to what you are describing, but ASP.NET MVC is the new cool way to do pure Html/Css/Javascript web apps.
Nate Bross
Without a doubt. If you are going to do new ASP.NET development, MVC is the way to go.
Corey Sunwold
MVC all the way. I keep saying this but MVC is as good as Webforms was bad.
annakata
+2  A: 

Speculation: Cloud (Azure) and SOA (WCF v.next)
They keep coming up with new way of doing same things, before anyone (developers) can catch up.

EDIT: Sadly technology is driving the business than the other way round.

shahkalpesh
Amen to that.I just passed a MS Certification exam: TS: Microsoft® .NET Framework 2.0 - Web-based Client Development - (note the 2.0)
Andrew Shepherd
+3  A: 

I would say ASP.net MVC, and/or WCF+REST are the main things to look into, in terms of a reboot of how web applications are written on the server. If you like MVC, but not webforms, there are other view engines that can be plugged in pretty easily.

Tracker1
+2  A: 

According to Microsoft, WebForms is not going away. ASP.NET MVC is the change or option that people are now given for developing web applications with ASP.NET.

Please keep in mind - Silverlight 3 is around the corner and is going to become a major player in the LOB arena.

Beavis
+1  A: 

You are looking at ASP.NET MVC. Microsoft says it's not a replacement(but I believe most web developers will jump on it which will make it the defacto standard for .net web development), but it's a way to have a separation of concerns and isolate your business logic from your presentation. It renders to html, which is what you want.

Jose
+1  A: 

somehow related:

Volta (a project from live labs for splitting tiers. So defining things in C# that gets converted to javascript (or silverlight). Although I don't know if it's still alive?!.

It's comparable with Google Web Toolkit.

from wikipedia

Volta is an experimental developer toolset for building multi-tier web applications, developed at Microsoft Live Labs. It allows developers to split their application easily into different client and server parts throughout the development lifecycle. Volta integrates with Microsoft Visual Studio and the .NET Framework, supporting AJAX, JSON and more. It extends the .NET platform to Software as a Service (SaaS) applications, by using existing and familiar libraries, languages, tools, and techniques.[1]

Alex
+2  A: 

Possibly something like GWT might replace ASP.NET markup. So thinking along the lines of Script# etc whereby code is written in C#/VB and it gets translated to clientside javascript.

Mix that with some sort of browser based persistance (Google Gears etc) you get a new web programming paradigm. (disconnected fat web client anyone?)

Webforms would fall over in this scenario since its highly coupled to page postbacks.
ASP.NET MVC should be fine since its not primarily page postback oriented. Then of course you'll want your WCF/Webservice/SOA/JSON/REST endpoints to talk to this type of application.

Jafin
I agree that a model like GWT could be a successor and would be very powerful with a script-generator model behind it. I've heard of (but haven't used) a tool for IronPython that will dynamically convert a IronPython application in to a Silverlight application on-the-fly. So, you can build a desktop application, then point your web browser at it and instantly have a fully featured web-application. Imagine that power without requiring Silverlight! Thanks for your answer in the true spirit of the question.
Adrian
+1  A: 

Also, it seems to me that ASP.NET is very closely aligned with the WinForms way of doing things, for example event handlers in the code-behind which is linked using inheritance or partial classes.

It sounds to me like you're referring more to WebForms (i.e. classes in System.Web.UI) instead of ASP.NET.

I've fallen into this trap, too.

While WebForms are one way of doing web applications in ASP.NET, it is not the only way.

ASP.NET MVC is another, produced by Microsoft themselves. ASP.NET MVVM also exists (linked to in another answer).

Having said all that, I'm not aware of any XAML-based replacement for WebForms that don't use browser plugins.

R. Bemrose