Microsoft WebMatrix is intended to serve the website creation, customisation and publication needs of designers and amateurs, and not as a substitute for Visual Studio or other professional development tools. As a professional developer, I can see why it might appeal to its target audience, but I can't stand to use it myself for more than 15 minutes at a time.
Rick Grehan's preview of WebMatrix in November covered most of the product features well, so I won't repeat his descriptions and analysis. Since then, a few features and gallery items have been added, which I'll discuss as I go along. I've included a handful of screen images at the end of the article.
Rick picked on the weakness of the editor and the lack of a debugger, and until I worked with the product myself, I didn't understand how kind he was in the way he phrased his objections. After spending time with WebMatrix, I know otherwise.
When I first saw the WebMatrix demo, I was very impressed with the smooth way it calculated dependencies and constructed the application stack, database, interpreters and connectors, needed to run a public domain web application on Windows. It looked like the Windows answer to the auto-installer packages you get for free on hosted Linux websites.
When I tried it myself, I was bitterly disappointed. Sure, the dependencies were calculated, and the primary package came down quickly. However, the download stalled, and I was never able to do a successful installation from the Gallery, even after multiple tries on multiple days.
I had better luck with the templates, but there are only a few of them, and they don't do much. The Bakery demo does show off Razor markup, but frankly I'm not impressed. Yes, Razor requires less markup and simpler code than ASP, PHP or ASP.Net, but those technologies make a much clearer distinction between server code and client markup than Razor when you are looking at the source of a page.
The new SEO scanner can look at any site, not just your own and point out where the rules in its database have been broken and how to fix the problem. Many of the checks are useful, but mostly at a low level, such as "The page contains broken hyperlinks." Other checks seem to be misguided, based on my own experience doing search optimisation. For example, search engines tend to give higher scores to pages with organic body content and no keyword metadata, but the SEO scanner expects to see keyword metadata.
I gave WebMatrix a good grade for documentation, but that is strictly on the strength of the WebMatrix minibook. The help link doesn't seem to work at all from most places in the program, it just takes you to Bing.
WebMatrix links to a gallery of Windows web hosting providers, but I'm not impressed. It does bring out the differences between providers that give you plenty of bandwidth, an SLA and 24/7 support and providers that give you a starter site and no help, but there are too few reviews to get a sense of the quality of the service and support.
I can't tell you how frustrating it can be to have a crappy hosting provider without telephone support for a site you care about. (The providers I'm thinking of are not among those on the gallery, however.)
But enough with the objections. There are some innovative features in WebMatrix, and Microsoft deserves credit for them.
I like the WebDeploy feature a lot, although it's only supported by some Windows hosts and no Linux hosts. Instead of just uploading your files, WebDeploy can synchronise both your files and your data. If your hosting provider supports it, you don't even have to fill in the parameters on the publication configuration form yourself, brilliant.
The SQL Server Compact Edition database has SQL semantics but is entirely file-based. That makes it perfect for low-overhead development scenarios. WebMatrix's ability to upsize from this to scalable SQL databases makes it fit into the typical web development lifecycle. Of course, the free open source SQLite3 has many of the same characteristics, but Microsoft has always had a streak of NIH syndrome.
The product also includes an editor for the database. It isn't much, but it does the job for the schema, data and indexes, and it keeps the novice from having to learn SQL Server Management Studio or phpMyAdmin.
Overall, I can't really recommend WebMatrix to anyone as a primary site development or maintenance tool, but it might help novices to get their feet wet, and it might help some people set up no-cost web applications on Windows boxes. On the other hand, WebMatrix is free and doesn't take much download time, so it might be worth adding to your bag of tricks.
- Lightweight desktop SQL database
- Website deployment that synchronises databases and files
- Simplified Razor syntax and single page model for server-side code
- A small assortment of helpers to add common functionality easily
- SEO site scanner and checker
- Web application stack constructor depends on download servers being available
- Oversimplified site editor, but easy link to Visual Studio
- SEO checker not particularly useful
Let me be blunt: The WebMatrix editor may be simple to understand and look pretty, but it's useless. Even a good, experienced developer relies on the interactive code completion you get in constructing correct markup and code from a real editing tool such as Visual Studio, Expression Web or dozens of editing and design tools from other vendors, many of which are free.
A casual developer or a designer trying to "do a few things" to a site will be completely frustrated with the WebMatrix editor. Couple that with no debugger at all, and you're likely to be up the creek without a paddle the minute you try to modify a page. (Microsoft disagrees: The company claims that web developers have been asking for a lightweight web page editor of this sort.)
That said, you can easily go from WebMatrix to Visual Studio. That's perfect for an experienced developer, but likely to be very confusing for a designer or novice developer.