Microsoft WebMatrix is a mixed bag
Microsoft's free and easy Web development tool for noncoders has some nice features, as well as irksome shortcomings
Microsoft WebMatrix is intended to serve the website creation, customization, 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.
[ Microsoft Visual Studio 2010 nabbed an InfoWorld 2011 Technology of the Year Award. See the complete list of 2011 Technology of the Year Award winners. | Read Martin Heller's review of Visual Studio 2010. ]
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.
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.
WebMatrix misses 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 optimization. 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.)
WebMatrix hits 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 synchronize 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.
See the following page for WebMatrix screen images.
- Lightweight desktop SQL database
- Website deployment that synchronizes 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
The following screen images offer a small glimpse into the WebMatrix site creation process. You can create a site from scratch or import from an existing site, but most users will likely start with a template from the WebMatrix gallery. The Razor framework and integration with the SQL Server Compact database offer a simple means to make sites dynamic, and thanks to the WebDeploy feature, publishing to a Windows server is a snap. But there are a few traps along the way.
To get a closer look at a screen, just click on the image.
WebMatrix offers a gallery of 38 public domain sites created with .Net or PHP.
When you pick an application, WebMatrix figures out the dependencies so that it can create a complete, working stack on your development machine.
Unfortunately, not all the dependencies of the application I tried to download were available. The main application downloaded quickly, then the download stalled, filling in the stack in multiple attempts on different days at different times. (When Microsoft demonstrated the product for me, the sample download worked flawlessly.)
WebMatrix has a template gallery that currently contains two starting points and three worked-out samples.
The Bakery sample uses ASP.Net Web Pages with Razor markup, which is relatively uncluttered. On the other hand, the editor has no real support for Razor other than simple syntax highlighting. The cure for the weakness of the editor is the Visual Studio link at the upper right.
The Bakery sample makes an attractive site, primarily because of good design and artwork rather than the coding. The lightweight preview technology works well. Here we are viewing the site running in Chrome and hosted locally on the new IIS Express Web server.
This story, "Microsoft WebMatrix is a mixed bag," was originally published at InfoWorld.com. Follow the latest developments in application development and Windows at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.
Read more about developer world in InfoWorld's Developer World Channel.