Microsoft WebMatrix review: hands-on
Microsoft is famous for developing new technologies only to abandon them later, leaving early adopters high and dry. WebMatrix is one of those rare exceptions to get a second life (or third, depending upon how you count them) after being dropped like a stone six years ago.
In a nutshell, WebMatrix provides a free web development environment for .NET and, to a lesser extent, PHP. The aim appears to be to provide a simple entry point to .NET web development for beginner coders – the hope being that once snared within the Microsoft development environment, programmers will upgrade to Visual Studio. The initial install includes the IIS Express web server, the SQL Server Compact Edition for databases and support for the new Razor mark-up syntax.
This base WebMatrix installation allows you to create standard page and database-driven websites from within a lightweight IDE, as long as you’re content with using .NET technologies for development. The IDE includes simple tools for creating and editing web pages and SQL Server databases. Microsoft’s tutorials walk you competently through the standard “hello world” equivalents – including pulling data from a database. My initial impression is that WebMatrix does indeed make database interaction simpler than with any other technology I’ve seen, since most of the work is done within the GUI.
WebMatrix has another side, however, perhaps indicative of Microsoft’s habit of wanting to be all things to all people. Rather than choosing to create a site from scratch, you can use an existing web framework through WebMatrix’s integrated “Web Gallery”. WebMatrix includes support for PHP frameworks including WordPress and Drupal, as well as more natural bedfellows such as DotNetNuke.
This highlights an intriguing possibility. Despite excellent tools such as WAMP, getting a fully working Apache, PHP and MySQL system working on your Windows PC can be tricky and less than intuitive. WebMatrix offers the potential to reduce that hassle to a few mouse clicks.
By choosing the WordPress framework, for example, WebMatrix will install and configure a fully working WordPress site running locally. The intention is that you’d put your site together on your PC and then upload it to a compatible host using Microsoft’s Web Deploy technology, but I haven’t yet had time to find out if that works in practice. Of more use, perhaps, is the sheer simplicity of being able to create multiple WordPress sites for developing themes and plugins, or testing new code before deploying by hand to your live site. None of this was impossible before using other tools, but WebMatrix makes it more convenient.
Choosing WordPress or Drupal for the first time will cause WebMatrix to download the underlying PHP and MySQL technologies as well as the chosen framework. This caused a major problem for me because WebMatrix couldn’t get the MySQL download to successfully complete. The workaround was to download it from within a browser – choose mysql-5.1.53-win32.msi.
The end result is a fully working WordPress installation with the underlying files and database accessible from the WebMatrix control panel – yes, you can even edit a MySQL database this way.
Deployment is more problematic. The FTP method built into WebMatrix doesn’t upload the database, so the only answer would be to manually create a WordPress installation on your server with identical details. Microsoft’s Web Deploy function looks fiddly and typically idiosyncratic – hosting providers need to change their systems in order to work with it. This may prove to be the Achilles heel of WebMatrix.
Overall, a promising technology. I can see a potential use as a testbed for plugin and theme development in WordPress, Drupal and other frameworks. It remains to be seen whether the final step in integrating with web hosts proves to be a problem, but it could well be a good way for newcomers to .NET technologies for the web to get started with the minimum of fuss and no financial outlay. Let’s just hope Microsoft don’t drop it again.