Iteam
GitHub

Razor - ny renderingsmotor för MVC

Microsoft har presenterat en ny renderingsmotor för MVC som fokuserar på att behålla c#/vb som språk men minimera allt onödigt taggande och fokuserar på så ren kod + html som möjligt.

MVC gör det enklare att få ren html än med klassiska webforms men har alltid lidit av att det ser ut som spagetti med procenttecken och pilar överallt runt all serverkod. Det har förstås funnits alternativa renderingsmotorer som t.ex spark som inte alls bygger på vanlig kod utan mer liknar xlst med egna taggar som sköter logiken.

Den nya motorn Razor försöker lösa problemet genom att bli av med all överfödig taggning men utan att introducera ett helt nytt språk eller nya taggar utan återanvända den kunskapen c# kodaren redan har. Genom att endast använda @ som starttag och låta kompilatorn själv lista ut resten så hålls taggningen till det minimala.

Här ser du ett exempel på syntaxen för Razor. Den första bilden visar klassiska motorn och andra motsvarande exempel i Razor och redan med detta lilla exempel har man sparat 13 tecken (och det är ju dessutom ganska jobbiga tecken man sparat in)

Klassisk kod

Razor-kod

Razor ska också gå använda i vanliga klassiska webform på samma sätt som du idag kan skriva c#. De största fördelarna med razor framför andra motorer är att det inte finns nån inlärningströskel att ta hänsyn till och att allt man är van från vanliga c# går att använda för att generera html. En annan stor fördel är att intellisense tydligen ska fungera även inne i htmlattribut, man behöver alltså inte längre gå till kodvyn eller flytta sina taggar utanför attributet för att få intellisense!

Razor är inte släppt ännu ens i betaform men det är definitivt nåt att se fram emot.

Läs mer på Scott Gus blogg http://weblogs.asp.net/scottgu/archive/2010/07/02/introducing-razor.aspx

Tommy Söderström
2010-08-10