I've been a long time Visual Basic and Visual C++ user, from before Microsoft took those tools and bundled them into the Visual Studio development suite. During this time, there was virtually no integration between the various products other than code that could be invoked through COM. Those were the days . . .
Now I mostly work on web development projects, using a variety of technologies including ASP.NET MVC, PHP, static HTML, CSS, archaic ASP with server-side VBScript (I can't believe I'm still doing this in 2012, but the client is in the if it ain't broke, we aren't going to pay to fix it mode), and CMS platforms such as WordPress.
In recent years, Microsoft has enhanced the web development tools in Visual Studio to handle these kinds of technologies, or other developers have enhanced the tools through extensions. However, Visual Studio is too huge and clunky for tasks such as working with a website's individual files when you need to quickly make a change. In these cases, Visual Studio seems to get in the way rather than help users. Yes, this is true even for the quick fix that needs to be made to a production website. I'm occasionally guilty of making such quick fixes, usually with the client's blessing because they want to keep costs down.
So I've kept my eyes open for another tool that I can use in these cases. Long ago, I glossed over WebMatrix because the tool wasn't functional enough in its initial release. Razor and ASP.NET Web Pages were cool -- and still are -- but I typically used those tools in MVC applications, a project type in which Visual Studio excels.
I didn't initially give much thought to Microsoft's release of WebMatrix 2 last month, but now that I've spent some time with the tool, I'm starting to think that WebMatrix might work for my non–Visual Studio web development projects. Vishal Joshi, principal program manager lead for Microsoft's Web Platform team, wrote this about the new release:
WebMatrix 2 in my opinion is one of the best light weight web development tool[s] out there. With support for Node.js, PHP, ASP.NET, HTML5, CSS3, jQuery, SQL CE, SQL Server, MySQL, FTP, Web Deploy, Less, ScSS, Coffee Script, SEO, iPhone/iPad simulators and many many other features there is no doubt that it is probably the best web editing tool that one could possibly get for FREE . . .
And therein lies the rub for me. I've been locked into using Adobe Dreamweaver for non-.NET development, including some classic ASP and PHP websites, for way too long. I originally was forced into using the software by a client. Working on the client's site had gotten way too comfortable using Dreamweaver, which is expensive and has frequent upgrade cycles, and now even the client has moved away from that tool. Dreamweaver is a worthy web development tool, but it isn't compelling enough for all the money that the program has cost me throughout the years as an independent consultant. In addition, it's less compelling when I have access to MSDN and the best Visual Studio tools.
The new release of WebMatrix has some compelling features, so it looks like my search for an alternative web development environment might just have come to an end. Although the resources at the end of this article have detailed information about WebMatrix, these are the new features that I like the best:
- Support for various web platforms, languages, and frameworks covers everything my current web development needs.
- Support for many open-source applications, such as WordPress. The application-specific dashboard is a great feature that lets open-source software (OSS) applications customize content that's shown to developers. WebMatrix can lock application core files that you generally shouldn't modify, which makes you confirm the action you're trying to perform.
- Many new editor features do everything from better supporting standards to making coding more productive.
- Better support for PHP with help from WordPress and phpList, the two primary PHP products that I work with these days.
- Many templates support several web technologies, which gives developers a big head start on a new project or page.
It's not important to me, but WebMatrix also now has massively improved support for Windows Azure. I'm also not doing anything with node.js yet, but I'm starting to feel the pull, so WebMatrix's support for it means I won't be looking for another tool when I move in that direction.
The only real downside with WebMatrix is that it's only a Windows product. I'm writing this commentary during a trip to St. George, Utah, and I have only my MacBook Pro, so I had to fire up VMware Fusion to use WebMatrix. (Yes, I know there are other options for running Windows, but this is the one I have at hand.) Frankly, I'm starting to appreciate JetBrains' PhpStorm and WebStorm products, which run on Windows and can handle many of the same Web development environments that WebMatrix does. JetBrains is still in the running.
It's a wonderful web development world that we live in, and there's so much happening to make web applications rich and easy to develop. My jury is still out for which non–Visual Studio web development tool I'll use, but WebMatrix is now a strong contender. It probably should be on the short list for anyone working on diverse web development projects.