InfoWorld preview: WebMatrix ramps up ASP.Net development
Microsoft combines all-in-one installation, a gallery of templates, and coding shortcuts to speed dev and deployment of Windows-based websites
WebMatrix is Microsoft's new easy on-ramp to the busy Web development freeway. With WebMatrix, you can create, execute, and deploy Web applications in an environment that is ridiculously easy to install and use. WebMatrix rolls up all of the components needed to build and run Windows-based websites, and provides a number of aids that help streamline the development process. Combining simplicity with standard tools, it will be attractive to both budding and experienced ASP.Net developers, and to anyone who wants to build a website that he or she is sure will remain small.
Currently a beta 2 product, WebMatrix can be downloaded via the Microsoft Web Platform Installer at Microsoft's website. The platform installer not only installs WebMatrix, but gives you the option of fetching Visual Web Developer 2010 Express and SQL Server Express 2008 R2. WebMatrix itself consists of an IDE (within which you create, manage, and deploy websites), IIS Developer Express (a lightweight version of Microsoft's application server), and the SQL Server Compact database engine.
[ Keep up with software development issues and trends with InfoWorld's Fatal Exception blog. | Follow the key developments in Microsoft and Windows technology with InfoWorld's Technology: Microsoft newsletter. ]
This final component is a file-based version of Microsoft SQL Server -- and, therefore, not a server at all. As with the other parts of WebMatrix, SQL Server Compact is small-scale: fine as the embedded database for a single application, but too limited for large applications. According to Microsoft's documentation, the database file can be no bigger than 4GB and allows no more than 256 connections. Additionally, it won't recognize all the data types that a full SQL RDBMS does.
WebMatrix code helpers and templates
When first launched, the WebMatrix IDE opens the quick-start page where you can select an existing website or build a new one. New sites can be constructed from scratch, imported from an existing site, or built from a template drawn from WebMatrix's site gallery. At the time of this writing, the gallery boasted 34 templates in categories such as blogs, CMS, and e-commerce. Well-known website systems were available, among them: Drupal, moodle, DotNetNuke, WordPress, and phpBB.
Although WebMatrix does have some PHP support, the product is decidedly pro-ASP.Net. The view engine promoted by WebMatrix is Microsoft's Razor, which sits atop the ASP.Net MVC (model-view-controller) framework. WebMatrix silently installs ASP.Net along with IIS.
Razor makes it easy to script HTML pages with server-side C# or VB.Net. (Files with mixed HTML and Razor code have the CSHTML extension.) Plus, Razor gives access to a boatload of encapsulated functionality in the form of "code helpers."
Under the hood, a code helper is really a public static .Net class whose exposed methods are available to the Razor engine. You can invoke a helper with a single line of code. For example,
@Facebook.LikeButton() will render the familiar Facebook Like button on a Web page. Microsoft already provides helpers for displaying data in a grid, validating user input in a page form, handling file uploads, managing video and audio, sending email, analyzing traffic on your website, and lots more.