A Review of Microsoft's WebMatrix
The Good, the Not Finished, and the Professional's Common Critiques
Over all I'm pretty excited about Web Matrix. I can see a lot of people who aren't yet cool enough to own a Mac (sarcasm...though Mac's are cool, just expensive) who could use Web Matrix effectively to hack out web sites based on PHP open source web projects very quickly. I'm really excited about the new Razor syntax, which will become the new default syntax for Microsoft's next MVC (Model View Controller) web development path, as well as a stand alone syntax that powers the new .vbhtml and .cshtml web pages. I like Razor for the same reason many people liked the current MVC syntax, it gets a developer closer to the HTML/Javascript code and makes development a lot easier then dealing with abstracted Web Form .aspx pages.
Web Matrix also gives you a two other nice tools besides the Web Matrix editor. One is IIS Express, which is near full featured version of Microsoft's IIS Web Server. IIS Express supports routing with little configuration even if you are running IIS Express without administrative rights. The other goodie is SQL Compact Version 4 Beta, which gives you a good chunk of SQL Server Database functionality without having to run either a SQL Server service or full blown SQL Server version. This makes Web Matrix sites very easy to deploy to most hosting companies.
One thing to note about Web Matrix is that most of the "professional" Microsoft Web Developer bloggers hate Web Matrix. There are two main critiques, and one fear that seems to be trending in their opinions of Web Matrix. The first critique is that the Web Matrix/Razor scripting model takes a huge step backwards in regards to professional development (OOP, abstraction, seperation of concerns, test driven development, etc...). They worry that developers learning how to develop web applictions with Web Matrix will shy away from best practices that the industry has fought so hard to instill in new developers. They argue it is better to learn how to do things "right" from day one rather then start off with "sloppy" practices and change them later. My response to this would be that many of these developers came up through the ranks with tools that would be considered "sloppy" today (mainly because the level of professional tooling that pro developers are advocating didn't exists say ten years ago as it does today), and some how these developers learned to overcome their initial habits. I would also say that many web developers are still being productive using "sloppy" habits. Most of the web sites we go to every day were initially just hacked together to get the concept up and running, and then professionals came in and cleaned up the code later. Why keep everyone who isn't a professional developer from being creative and getting something out there that could become the next Facebook?
The second critique I'm seeing from the pro-bloggosphere concering Web Matrix is it's data model (Web.Data). There main critique is that it causes mixing of inline SQL with HTML in Razor syntax, which theoretically makes the application harder to maintain. Also using Web.Data is a little, if a Razor web site isn't crafted with a little bit of care, leaves the Razor site open to a common web data attack known as SQL Injection. This is easy enough to code for in Web Matrix, but it is a more deliberate act by the developer of the application, were some of the newer Microsoft data models like the Entity Framework or Linq to SQL by their very architecture renders SQL Injection attacks virtually a non-threat. I'd say the Pro develops have a point, but then again, many sites that are used every day manage to avoid SQL injection attacks without the abstraction levels that the newer data access models provide. For most applications I think Web.Data will be fine, and I like how quickly I can get data access up and going using Web.Data and Razor.
The last problem the Pro-bloggosphere has with the Web Matrix is a little harder to discern but if you read through enough of their posts you will see it. It is fear. If web development becomes too easy, what happens to their pay checks? They go down. I think their fears are ungrounded, as their are many situations where the demand for professional developers will only grow not shrink.
So is Web Matrix ready for prime time? Well, kinda. If you are an open source web developer using common Drupal, WordPress, SiteFinity, etc... I think even in Beta you can get a tremendous amount of value out of using Web Matrix to create and edit your sites right now. If you are an entry level web developer trying to learn C# at this point in time I think you are better off with Visual Studio Express. The Razor syntax, though cool, isn't fully documented yet (though close), and there is no intellisense with Razor in this Beta release which makes developing Razor sites a little more challenging then Razor cshtml/vbhtml web pages are meant to be. I would definately check out the next release though.
So to recap, Web Matrix provides-
* A free editor that supports PHP, C#, and the new Razor Syntax from Microsoft
* A new web server to develop with (IIS Express)
* A new file system database format based on SQL Server (SQL Compact Edition 4 Beta)
* Easy creation of many open source based web sites (Drupal, WordPress, DotNetNuke)
* One click deployment to select servers (both full updates and incremental updates)
Common Critiques from Professional Microsoft Developers about Web Matrix Are-
* Junior developers who learn how to build sites with Web Matrix will develop bad habits
* Web Matrix's data access (Web.Data) is a step backward
* Web Matrix will make it too easy to build web applications and professionals feel threatened :)
Recommendation
If you are a PHP developer developing open source based web sites on Windows, Web Matrix is for you If you are hoping to learn how to develop web applications using Microsoft technologies, Web Matrix is still in beta and you are better off waiting for the official release which will have more features, better documentation, and intellisense. If you like productivity, rapid application development, and you really don't mind programming languages like Classic ASP or PHP, Web Matrix and the new Razor syntax is worth checking out now.
Published by infocyde
Welcome. About me, well, not too interesting. I'm almost 40, work in technology, and have a political science degree. My passion in life is Jesus, my wife, our extended family, friends, geopolitics, technol... View profile
- The Celebrity Managed Web-Sites of Tyra.Com And GOOPTyra Banks has a highly interactive web-site at Tyra.com, and Gwyneth Paltrow has the content driven blogging site of GOOP.com. They are somewhat opposite of each other in one aspect, but both are prime examples of ce...
Best Web Sites for Holiday Card Sayings, Phrases and QuotesDo you ever find yourself at a loss for words? It happens to me every day. Here are some great Web sites that offer nice phrases, quotes or sayings for you when you need somethi...- How to Choose a Web Development CompanyToday, where there is a grandeur of talents in this industry, and in this cat-and-dog race of of web designers and web developers, you need to be well equipped with some of the pointers you ought to keep in mind to av...
- The Top 3 Rewards Web Sites to Join on the InternetThis article includes my review of rewards Web sites and my opinion of the top three to join as of January 2010.
- Multiple Applications & Tools of PHP Web Development
- The Five Best Web Sites for Holiday E-Cards
- Ten Great Science Web Sites for Kids and Adults
- Guide to the Best Traffic Web Sites for Any City or State
- Web Sites for Those Who like to Know How Movies End
- How to Find Great College Scholarship Web Sites
- Important Steps Before You Hire a PHP Web Development Service
- Review of Microsoft's new Web Matrix Beta Web Site Building Tool
- Professional Critiques of Microsoft's Web Matrix
- Microsoft Web Matrix's New Features



