DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da .net Magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


ASP.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






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.

 Objetivos do Razor

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.

 Nesse ponto já é possível observar outra característica do Razor. Enquanto a View Engine ASPX gera páginas com extensão .aspx, .ascx e .master, o Razor gera páginas com extensão .cshtml.

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
Este post também está disponível para assinantes da .net Magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!






    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!



Publicidade
Autor
Rodrigo Sendin

é Arquiteto de Sistemas e trabalha com desenvolvimento de Software há mais de 13 anos. Tecnólogo formado pela FATEC de Americana e MCP .NET.


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
0   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03