Microsoft WebMatrix is a light weight web development platform that includes the a web server, database, programming model and a deployment tool. The tool itself is really a utility that pulls together various components required for web development. After downloading and playing with Microsoft WebMatrix, it is clear that the audience is not seasoned web developers but instead young developers, hobbyists and people new to web development. The WebMatrix stack really serves as a training platform from my perspective. They key for Microsoft is to get new developers started using their tools early in their career which I believe is the reason for this product.
Microsoft WebMatrix Stack
- IIS 7.5 Express: The IIS Express version is a development web server. It does integrate 100% with the IIS 7.5 production web server so developers can be assured that their code will run properly when deployed.
- SQL Server Compact 2.5: This database platform is part of the SQL Server 2008 family. It includes a subset of T-SQL and SQL Server data types. It also supports LINQ. SQL Server Compact is a file based database which means that there is no separate database service that needs to be running.
- ASP.NET Framework with Razor: WebMatrix ships with the .Net 4.0 Framework if you don't already have it. Razor is Microsoft's new view engine and is designed to make it easy to build ASP.NET pages.
In addition, Microsoft WebMatrix includes a gallery of web application that makes it easy for newbies to create a new website using open source application such as WordPress, mojoPortal, DotNetNuke, etc. The Microsoft WebMatrix tool downloads the development components you need when you select one of the applications from the web gallery. Lastly, WebMatrix helps you deploy your newly created website to a web hosting provider.
Microsoft WebMatrix Features:
- A simple database can make it easy to build database driven application without the need for a full blown production database server.
- As you advance in your web development career, you can easily migrate your files to Visual Studio which will be a requirement for any real development career opportunity.
- The Gallery includes popular open source web applications such as WordPress, Joomla, DotNetNuke and more. This can be useful even if you are a seasoned developer as you can quickly bring up one of these applications to evaluate against your project's needs.
- Razor view engine syntax is a simple version of ASP.NET which will help new developers get started.
- Simple deployment makes it easy to move from development to production.
- Fully integrated solution with everything accessible from a single IDE (integrated development environment).
The LAMP stack of tools includes Linux for the operating system, Apache as the web server, MySQL for the database and PHP as the web scripting engine. The stack has changed over the years as various open source tools have come into fashion. For example, Perl has replaced PHP for some web developers. It really depends on the website or application needs as to the best choice of open source tools. The main feature of the LAMP stack is that it has always been free which makes it the choice for web development on a budget. New developers typically look for free or inexpensive tools when learning. Since the LAMP stack scales nicely, it's not like these tools result in inferior web applications. They work really well, in fact, and have penetrated the web over the years. This is why Microsoft released WebMatrix.
There are also tools and software bundles that bring together the LAMP components similar to Microsoft WebMatrix. One such example is XAMPP which is an open source product.
Getting Started with Microsoft WebMatrix
The goal of WebMatrix is to make it easy for the new developer to create, customize and deploy a new web application or website. They can focus on their project instead of figuring out which components are required to develop the site. This is a major road block for many new developers.
To get going, you need to first download and install the Web Platform Installer (Web PI) from Microsoft.com. From the Web Platform Installer, you can install Microsoft WebMatrix which includes all the dependent tools that you need to get started. The installer will provide feedback if something doesn't install properly. You may have to install a component or patch and rerun the WebMatrix installation again. I had to install a SQL Server 2008 component and rerun the installation.
If you choose one of the open source applications such as WordPress, the installer will include the things you need such as MySQL, a database platform. Understanding all the components required by a certain platform can be frustrating for new developers. This is definitely a step in the right direction for Microsoft.
Microsoft WebMatrix allows you to create files from a variety of templates such as HTML, XML, CSHTML etc. Within the same tool, you can also create a database and tables. You can also easily populate the tables with data that you plan to display dynamically on your website. Connecting the page to the database can be accomplished using the Razor code which is really simple.
After you build the pages and database you need for your application, WebMatrix allows you to preview your site in the browsers you have installed on your system. Lastly, you can publish your site from a wizard built into WebMatrix to one of many hosting providers.
Future of Microsoft WebMatrix
This is a smart move by Microsoft as young developers and hobbyists have traditionally built websites and applications using open source tools with the most popular stack being LAMP. While Microsoft has traditionally had a number of free tools available for new developers like their express tools, it's not very clear for a newbie which tools they should install and how to set everything up. In my testing, after I installed everything required by WebMatrix, it just worked. No configuration or setup was required.
Adoption of WebMatrix by newbie developers will depend on marketing and how solid this 1.0 product turns out to be. Microsoft also has to provide a road map for newbies who want to progress in their development careers. They will need to move into Visual Studio and the full SQL Server database to move their hobby into an IT career. But this represents a solid start for Microsoft and I would think it will be well received from the new developer community.
I would encourage new and prospective developers to use Microsoft WebMatrix to get acclimated to developing different kinds of web applications. At some point, however, you need to explore some of the standard Microsoft development tools. Microsoft has free versions of development tools that are much closer to the professional tools that you would be expected to know when applying for a development or design position in IT.