I've been searching on SO & Google for a breakdown of the various View Engines available for ASP.NET MVC, but haven't found much more than simple high-level descriptions of what a view engine is.
I'm not necessarily looking for "best" or "fastest" but rather some real world comparisons of advantages / disadvantages of the major players (e.g. the default WebFormViewEngine, MvcContrib View Engines, etc.) for various situations. I think this would be really helpful in determining if switching from the default engine would be advantageous for a given project or development group.
Has anyone encountered such a comparison?
Best Answer
ASP.NET MVC View Engines (Community Wiki)
Since a comprehensive list does not appear to exist, let's start one here on SO. This can be of great value to the ASP.NET MVC community if people add their experience (esp. anyone who contributed to one of these). Anything implementing
IViewEngine
(e.g.VirtualPathProviderViewEngine
) is fair game here. Just alphabetize new View Engines (leaving WebFormViewEngine and Razor at the top), and try to be objective in comparisons.System.Web.Mvc.WebFormViewEngine
Design Goals:
Pros:
Cons:
Example:
System.Web.Razor
Design Goals:
Pros:
Cons:
No documented API, http://msdn.microsoft.com/en-us/library/system.web.razor.aspxCon Example #1 (notice the placement of "string[]..."):
Bellevue
Design goals:
Brail
Design Goals:
Pros:
Cons:
Example:
Hasic
Pros:
Cons:
Example:
NDjango
Design Goals:
Pros:
WebFormViewEngine
NHaml
Design Goals:
Pros:
Cons:
Example:
NVelocityViewEngine (MvcContrib)
Design Goals:
Pros:
Cons:
Example:
SharpTiles
Design Goals:
Pros:
Cons:
Example:
Spark View Engine
Design Goals:
Pros:
Cons:
Example:
StringTemplate View Engine MVC
Design Goals:
Pros:
Cons:
Wing Beats
Pros:
Cons:
XsltViewEngine (MvcContrib)
Design Goals:
Pros:
Cons: