quarta-feira, 15 de setembro de 2010

ASP.NET MVC 3 - Novas funções e característica

Muitas pessoas já estão se utilizando da nova versão do MVC, o MVC 3, que foi lançado recentemente. Mas que funções e características novas ele nos trás?
Bem, vou enumerar algumas e explicar brevemente o que elas fazem.

Razor View Engine

Talvez a mais badalada e que nos provém mais flexibilidade na hora de programar. O Razor Engine View é um novo view engine que nos provém a capacidade de programar as Views do MVC utilizando a sintaxe Razor (juntando-se agora às outras três, Spark, NHaml e o tradicional ASPX.
A engine view ASPX nos leva ao clássico ASP, utilizando a sintaxe <%= %> ou a mais nova <%: %> que predominam nos deus códigos, juntos das Master Pages e os controles ASPC.
A engine view Spark (utilizada também no projeto MonoRail Castle) é um pouco diferente, suporta placeholders e mistura livremente HTML com código de programação, utilizando atributos e tags especiais. A vantagem dela é de ser completamente compatível com o XML.
A engine view NHaml é uma implementação para o .NET da linguagem d emarkup Haml, e não utiliza a síntaxe parecendo um XML. Existe ainda a possibilidade de você implementar uma view engine para o mvc.

Mas voltando ao Razor, sua principal característica é o minimalismo, ou seja, chega daquelas páginas cheias de tags e códigos que ficam entre seu código fonte e você, poluindo toda a sua página. Com ele você consegue escrever em C#, VB.NET e HTML.

Ele é compacto, fácil de aprender, não é uma linguagem nova, trabalha com qualquer editor de texto e suporta Unit Tests para suas views. O MVC3 suporta somente Views em Razor que possuem a extensão cshtml e o suporte à VB virá nas próximas versões do MVC 3.
Nesse site você poderá encotnrar mais conteúdo sobre o Razor.

Propriedades Dynamic View e ViewModel

É uma nova propriedade dinâmica que está disponível nas Views, e nos provém acesso ao objeto ViewData utilizando uma sixtaxe simples. Por exemplo, se dois itens são adicionados ao ViewData na Action Index do Controller da View, como no código abaixo:

Essas propriedades podem ser acessadas utilizando-se a seguinte sintaxe:
Esta sintaxe pode ser utilizada no Controller também:

ItálicoSuporte à Multiplos View Engines na Janela "Add View"

A Janela de adição de Views ao projeto do Visual Studio agora dá suporte a seleção de qual Engine View você quer utilizar:
Nova Classe JsonValueProviderFactory

Essa classe permite que os Actions de um Controller recebam os dados (parâmetros) em formato JSON. Aqui você encontra mais sobre esta novidade.

Suporte aos atributos de validação e IValidatableObject do .NET Framework 4

A classe ValidationAttribute foi melhorada no. NET Framework 4 para permitir um suporte melhor à validação. Quando você utiliza um atributo de validação personalizado, você pode usar uma nova sobrecarga, o IsValid que fornece uma instânciado objeto ValidationContext. Essa instância fornece informações sobre o contecto da validação atual, como qual objeto está sendo validado.
Isso permite que você valide um valor de atributo corrente baseado em uma propriedade do Model. Veja o exemplo abaixo que valida se a PropriedadeUM é maior que a PropriedadeDois.

A Validação do novo MVC também suporte a interface IValidatableObject do .NET Framework 4. Essa interface permite que o seu Model implemente uma validação interna, em nível de Model, como este exemplo:

Suporte aos Atributos de Metadata do .NET Framework 4

O ASP.NET MVC 3 agora suporta Atributos de Metadados do .Net Framework 4, como o DisplayAttribute

Novos Action Result Types
No ASP.NET MVC 3, a classe Controller inclui agora dois novos Action Result Types.

HttpNotFoundResult Action
Esse novo tipo de retorno de action é utilizado para indicar quando um recurso procurado pela URL corrente não foi encontrado:
HttpStatusCodeResult Action
Esse novo tipo de retorno de action é usado para definir o código de status de resposta e descrição.


Essas são algumas características novas presentes no MVC 3. Caso queira ver todas na íntegra, você pode verificar o site do MVC http://www.asp.net/mvc.

Você pode fazer o download do MVC 3 Preview 1 aqui.

Nenhum comentário:

Postar um comentário