Este é um post disponível para assinantes MVPASP.NET MVC 3 com Razor – Revista .net Magazine 91
Esse artigo introduz o que é e como utilizar o Razor, o mais novo View Engine do ASP.NET MVC 3, que surge para simplificar a construção de páginas ASP.NET, utilizando uma linguagem única para a codificação das páginas, seja em C# ou VB.NET
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da .net Magazine 91
O ASP.NET MVC introduziu o conceito de View Engines, que são como módulos plugáveis, que implementam diferentes opções de sintaxes para a codificação de páginas ASP.NET. A View Engine padrão, ou a mais conhecida, é a sintaxe ASP.NET, que surgiu desde a primeira versão do ASP.NET Web Forms, e está presente até hoje. São as páginas com extensão .aspx, os User Controls com extensão .ascx, e as Master Pages, com extensão .master.
Além dessa View Engine, o ASP.NET MVC permite a utilização de templates de terceiros, em substituição a essa sintaxe padrão. As duas View Engines de terceiros mais populares são o Spark e o NHaml. Na seção de links desse artigo estão os sites oficiais desses dois templates.
A ideia por trás da maioria dos View Engines para ASP.NET, é tornar o código das páginas mais “fluido”, e compatível com a própria linguagem HTML, e isso também vale para os já citados Spark e o NHaml.
O Razor é a nova View Engine que foi introduzida no ASP.NET MVC 3. E com ele a Microsoft também propõe uma forma de se construir páginas Web, muito mais limpa e compatível com o HTML.
O Razor possui uma série de características, que o tornam uma escolha natural para a construção de páginas ASP.NET MVC, a partir da versão 3. A primeira característica ressaltada pela equipe de desenvolvimento do Razor, é que ele foi desenhado para ser “Compacto, expressivo e fluído”. A ideia: reduzir ao máximo o número de caracteres necessários para a codificação de uma página.
O View Engine Default do ASP.NET (aspx), é conhecido por possuir uma sintaxe parecida com a do HTML, com abertura e fechamento de tags. No Razor não temos isso, reduzindo, portanto a quantidade de texto necessário para a codificação de determinado controle, ou “parte” da página Web.
Além da redução significativa de caracteres, do ponto de vista do desenvolvedor da página, o processo passa a ficar muito mais fluído, o que significa que se perde menos tempo na codificação das páginas. Ao contrário da maioria dos View Engines, com o Razor não é necessário ficar declarando abertura e fechamento dos blocos de código. O parser do Razor é inteligente o suficiente para distinguir o que é código HTML do código C# ou VB.NET.
Isso tudo garante um código compacto e limpo, facilitando não só a sua escrita inicial, mas principalmente a manutenção posterior nessas páginas.
Outra característica marcante do Razor é a sua facilidade de aprendizagem. Como ele basicamente é composto de HTML e C# (ou vb.net), qualquer desenvolvedor .NET com conhecimento básico em HTML, consegue facilmente entender a estrutura do Razor, e em pouco tempo está apto a escrever páginas com esse novo template.
Isso expõe outro ponto importante do Razor, que é o fato de ele não ser uma “nova linguagem”. Ao contrário dos outros View Engines existentes, o Razor faz uso da própria linguagem C#/VB, o que torna sua aderência ainda mais efetiva.
O Razor não depende de nenhuma ferramenta para ser escrito, nem mesmo do Visual Studio. É possível codificar páginas com Razor em qualquer editor de texto, até mesmo no Notepad, se assim for necessário.
Porém, ao escolher utilizar o Razor no Visual Studio, o desenvolvedor ganha todos os recursos de intelissense e statement completion (recurso que “completa” palavras do código que podem ser automaticamente identificadas). E é claro que com esses recursos o processo de construção das páginas se torna ainda mais rápido.
Outra característica muito importante do Razor, é que ele é totalmente testável, através de testes unitários. Com o Razor é possível criar testes unitários para validar as Views da aplicação, sem que haja necessidade de conhecer o Controller que renderiza a View.
Foi para atender a todas essas características que a equipe do ASP.NET introduziu o Razor no ASP.NET MVC 3. E mesmo assim, ele passa a ser apenas mais uma escolha que é necessária fazer ao criar as Views de uma aplicação Web. A View Engine default do ASP.NET continuará funcionando e sendo uma opção válida. Mas certamente vale a pena dar uma atenção ao Razor.
Definindo o View Engine da aplicação
Agora, ao criar uma aplicação utilizando o template do ASP.NET MVC 3, é necessário escolher qual será o View Engine principal da aplicação Web que será desenvolvida. Como mostra a Figura 1, é possível escolher o View Engine ASPX padrão, ou o Razor, que é o que será utilizado nos exemplos a seguir.
Comparação Rápida entre ASPX e Razor
Razor não é tão diferente assim do já conhecido ASPX, ele basicamente simplifica mais as coisas, usando mais código C#/VB e eliminando uma série de caracteres que são necessários no ASPX. A Listagem 1, mostra como é uma simples página ASPX que acessa alguns dados do modelo.
Listagem 1. Exemplo ASPX
<h1>Exemplo ASPX</h1>
<h3>Hello <%= name %> o ano é <%= DateTime.Now.Year %></h3>
<p>"
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVP
Space do autor



0
0
