BT

WebMatrix: Microsoft's New Stack to Create Simple Websites

by Abel Avram on Jul 08, 2010 |

WebMatrix is a new free web development package from Microsoft containing a few basic tools useful to create simple websites. WebMatrix contains the following components:

  • IIS Developer Express – a development web server
  • ASP.NET Web Pages – a web framework
  • SQL Server Compact Edition – an embedded database
  • Simple IDE for website creation. This tool seams together the other components.

WebMatrix is used to create and test websites locally, but it can also be used to publish the site to a hosting provider via FTP, SSL or MSDeploy. It also supports incremental file updates.

WebMatrix keeps all site-related information, including database data, in files, so it can be easily modified by hand or migrated. WebMatrix projects can be opened with Visual Studio, and its data can be easily converted to SQL Server in case SQL Server CE is reaching its limits.

ASP.NET Web Pages can be used with Razor, a new ASP.NET view engine recently announced by Microsoft, which includes a number of useful helpers. Following is a selection of these helpers, not the entire list which can be found in ASP.NET Web Pages Using The Razor Syntax (PDF):

  • Analytics.GetGoogleHtml(webPropertyId) - Renders the Google Analytics JavaScript code for the specified ID.
  • Analytics.GetYahooHtml(account) - Renders the Yahoo Analytics JavaScript code for the specified account.
  • Chart(width, height, templatePath) - Initializes and renders a chart.
  • Facebook.LikeButton(url) - Lets Facebook users make a connection to pages.
  • FileUpload.GetHtml(initialNumberOfFiles, allowMoreFilesToBeAdded, includeFormTag, addText, uploadText) - Renders UI for uploading files.
  • ObjectInfo.Print(value) - Renders the properties and values of an object and any subobjects.
  • Recaptcha.GetHtml() - Renders the reCAPTCHA verification test.
  • Twitter.Profile(twitterUser) - Renders a Twitter stream for the specified user.
  • Validation.Success - Returns true if there are no validation errors.
  • Video.Flash(filename [, width, height]) - Renders a Flash video player for the specified file with optional width and height.
  • WebGrid(data) - Creates a new WebGrid object using data from a query.

Commenting on WebMatrix, Simone Chiaretta, a .NET developer and a Microsoft MVP, expressed mixed feelings about it:

Whereas I’m pretty excited by Razor, I’ve to say that I’ve mixed feelings about the WebMatrix IDE and ASP.NET WebPages: they lower the bars for new developers that want to start building their personal web sites on the MS stack, but doing so they also promote “bad” programming practices. Probably people that want to build their quick site to publish all their runs don’t care about unit testing, SOC and so on, but still seeing a SQL statement in the the “view” feels bad. But again, I’m not the target of this platform.

What I think will be important is the migration story from this PHP-like way of developing apps to a more professional one if the developers decides he/she wants to go that route.

WebMatrix is for simple websites that are done quickly, including simple testing/diagnostics tools, analytics, SEO, and the possibility to create the site from already predefined templates.

Hello stranger!

You need to Register an InfoQ account or to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Discuss

Educational Content

General Feedback
Bugs
Advertising
Editorial
InfoQ.com and all content copyright © 2006-2013 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with.
Privacy policy
BT