.NET Survival Guide: Web and RIA Development
Microsoft's latest announcements make it clear that, when it comes to delivering applications over the Web, the choices for the .NET developer are ASP.NET and ASP.NET MVC.
BACK TO .NET SURVIVAL GUIDE
Web and RIA Development
Microsoft's latest announcements make it clear that, when it comes to delivering applications over the Web, the choices for the .NET developer are ASP.NET and ASP.NET MVC. Silverlight may have a future in mobile development, but it's no longer a primary platform for the Web.
If you're happy with the auto-generated HTML and pre-packaged functionality of server-side controls (and don't see the benefit of using Test-Driven Development [TDD] for your UI) then you are well-covered with ASP.NET. If you're willing to sacrifice some productivity for enhanced control over your HTML and the benefits of TDD in the presentation layer, then a move to ASP.NET MVC may be in order. Call the two approaches "ASP.NET *."
While both groups will need to become familiar with HTML5, ASP.NET MVC developers will need to be more deeply involved. All ASP.NET * developers are going to need both client-side and server-side toolkits. That's going to include knowing jQuery and, in all probability, some client-side testing tool.
Beyond the technologies involved, developers are also going to have to think architecturally, both about the relationship between the server and the client (think SOA) and what goes on inside the client. The browser is no longer (if it ever was) a passive client that receives and displays HTML. Rather than just being a "view," the browser is now a client-side application that interacts with server-side resources.
The challenge in ASP.NET will be in working with server-side controls that have a rich client-side object model. In ASP.NET MVC, it's about building up a toolkit of "pure" client-side objects that are as diverse, powerful and as easy to implement as the ASP.NET server-side controls.
If all this talk about client-side resources suggests that server-side development isn't important, that's not the intention. It's just that the client-side development effort has become as important as what you put in your .aspx (and .svc) code files.
About the Author
Peter Vogel is a system architect and principal in PH&V Information Services. PH&V provides full-stack consulting from UX design through object modeling to database design. Peter tweets about his VSM columns with the hashtag #vogelarticles. His blog posts on user experience design can be found at http://blog.learningtree.com/tag/ui/.