My Beef With Razor

(Note, for non-programmers, this is not about shaving)

ASP.NET MVC has shipped the first preview of version 3. This is a good thing, mostly. By default it will be using the brand spanking new Razor view engine… and I’m having a hard time trying to figure out why it’s even in there.

The raison d’être for Razor is to allow for less code in the Views. This too, is a good thing. But I just don’t think it does enough. Here’s one of the samples provided:

@inherits System.Web.Mvc.WebViewPage

<!DOCTYPE HTML>

<html>
<head>
<title>@View.Title</title>
</head>
<body>
@RenderBody()
</body>
</html>

It is nice that you don’t need a gigantic header any more, and I like that the masterpage syntax is a little slimmer, but in general all you’re saving are a bunch of <%= %> tags. That’s nice, but is that really that great of an improvement to warrant an entirely new ViewEngine? Am I missing something important here? Especially once you get into non-trivial pages with hundreds of tags and template syntax.

What I think would have been awesome would be to use the reduced <%= %> footprint but also incorporate something like NHaml, which would really minimize the code footprint.
Tags:

Copyright © 2017 - Scott Williams - Powered by Octopress