Microsoft's Tangled Web Strategy
This week, Scott Guthrie and his team released a preview of WebMatrix, a free tool for developing ASP.NET or PHP-based Web sites.
WebMatrix includes ASP.NET extensions, IIS Express (free developer Web server) and SQL Server Compact Edition 4 (free embedded database). It links to an open source Web Gallery of apps—most of which currently do not support these emerging technologies—and provides access to Web hosting through third-party providers.
The new tool also supports Microsoft's syntax/view engine codenamed ASP.NET "Razor," which can be used in ASP.NET MVC or to create ASP.NET Web pages. Razor will be part of ASP.NET MVC preview, expected later this month, according to Guthrie, a corporate VP in Microsoft's Developer Division. He describes Razor as "code-focused templating syntax optimized around HTML generation" that can be used to "easily embed VB or C# within HTML."
Guthrie explained the thinking behind Razor in his blog
last week in response to a comment:
"We created Razor partly because we wanted to have an option where developers could re-use the languages they already knew (C#/VB/Whatever) and not have to learn a new imperative language purely for templating. One challenge with declarative templating languages is that you have to effectively learn a new syntax for doing things - and the tools (intellisense, refactoring, debugging, profiling) also all have to be written from scratch to support it. As traditional languages have gotten richer (C# and VB with .NET 4, and other dynamic languages) the expressiveness that you can achieve with existing imperative languages has also gotten a lot richer. We wanted to be able to leverage all that within our view templates - which is why we introduced Razor as an option."
At this point, IIS Developer Express, which fully supports IIS 7.5, and SQL Server Compact Edition 4, a file-based database, which can be migrated to SQL Server, are both in beta and only available as part of the WebMatrix download. With .NET Framework 4, the WebMatrix download is 15MB, without the framework, it's 50MB, according to Microsoft.
Web development outside of Visual Studio and Visual Web Developer Express makes a lot of sense when you consider today's market demands. Every small company, organization, event and an increasing number of individuals from all walks of life need to create Web sites or update Web applications. Most people don't want to shell out $1,000 for a class in Dreamweaver or go anywhere near a professional development environment like Visual Studio or its lesser known, free subset, Visual Web Developer Express.
Microsoft is simply casting a wider .NET. As Guthrie explained in his blog, about the new Web dev tool, to a commenter who liked the concept but worried that "SQL CE is MS Access in disguise and WebMatrix is likewise FrontPage in a new toupee":
"A lot of the value of WebMatrix is that it provides some nice integration and is task focused. All the pieces can also be used in our full professional stack (which makes them really powerful). What we are trying to-do with WebMatrix is have a nice integrated story for the 80 [percent] of common web-site tasks which tend to be very task focused -- and increasingly are centered around tweaking apps as opposed to writing them from scratch."
If the name sounds familiar, Microsoft had a similar project with the same name a few years ago. "We liked the name and so decided to re-use it for this (since it has the same purpose as back then)," Guthrie acknowledged.
Developers who weighed in on the announcements by and large applauded the new technologies. Still, so many choices—Visual Studio, Visual Web Developer Express, Expression Web, WebMatrix, WebPlatform Installer, ASP.NET WebForms, ASP.NET MVC, ASP.NET Razor, Silverlight (did I mention SharePoint?) —could raise concern among ASP.NET developers, who may be wondering where Microsoft's Web strategy is headed. Can Microsoft adequately support and evolve this many products?
Is Microsoft advancing the cause, or making your life harder, by introducing too many Web technologies and targeting non-professional developers outside of the Visual Studio environment? Express your thoughts on Web development for Windows and where it's headed below or drop me a line firstname.lastname@example.org.
Posted by Kathleen Richards on 07/08/2010 at 12:54 PM