Novidades do ASP NET MVC 3

Recentemente foi lançado o ASP NET MVC 3, mal consegui estudar a versão 2 e já veio a 3, e com isso está deixando a comunidade .NET virada de cabeça para baixo com muitas novidades. Para aqueles que ainda não sabem, o ASP NET MVC é um framework para desenvolvimento WEB que segue o padrão MVC (Model – View – Controller) e nos permite ter um maior controle da nossa aplicação.

O que há de novo no ASP NET MVC 3?

Razor View Engine

Razor é a nova engine para geração de HTML, foi criado para facilitar a criação das views, possui uma sintaxe muito fácil de utilizar e também possui IntelliSense par ao Visal Studio 2010. Algumas funcionalidades novas do Razor são:

  • @model – sintaxe para especificar o tipo que está sendo passado para a view.
  • @* *@ – sintaxe de comentário.
  • Html.Raw – método para exibição de texto sem codificação HTML.
  • Chart – Processa um gráfico, oferecendo os mesmos recursos como o controle de gráfico no ASP.NET 4.
  • WebGrid – Processa uma grid de dados, com funcionalidade de paginação e ordenação.
  • Crypto – Utiliza algoritmos de hash para criar senhas.
  • WebImage – Processa uma imagem.
  • WebMail – Envia uma mensagem de e-mail.

Support for Multiple View Engines

Agora se você não quiser usar o Razor como engine, poderá escolher outro de código aberto como Spark , NHaml ou NDjango.

Novos tipos de ActionResult

  • HttpNotFoundResult – Retorna um código HTTP 404 para o cliente.
  • RedirectResult – Retorna um redirecionamento temporário (HTTP status código 302) ou um redirecionamento permanente (HTTP status código 301)
  • HttpStatusCodeResult – Retorna um código de status HTTP especificado pelo usuário.

JavaScript and Ajax

Por padrão, os Ajax e Helpers de validação estão vindo com uma abordagem Unobtrusive JavaScript, dessa forma evitando injeção de HTML junto com JavaScript. Agora o ASP NET MVC 3 usa o jQueryValidate para realizar as validações de formulários.
Outra novidade é que não precisamos mais chamar explecitamente o comando Html.EnableClientValidation que servia para habilitar a validação do lado do cliente, agora essa validação ja vem habilitada por padrão.

Remote Validator

ASP.NET MVC 3 possui um novo atributo para validação chamado Remote, que lhe permite tirar partido do plug-in jQuery para fazer uma validação remota. Isso permite que a biblioteca de validação do lado do cliente chame automaticamente um método personalizado que você definiu no servidor.

Model Validation Improvements

A classe ValidationAttribute foi melhorada no. NET Framework 4 para suportar um novo IsValid sobrecarga que fornece mais informações sobre o contexto atual da validação. Por exemplo, o novo atributo CompareAttribute que permite comparar os valores das duas propriedades de um modelo.

Dependency Injection Improvements

ASP.NET MVC 3 oferece um suporte melhorado para aplicação de injeção de dependência (DI) e Inversão de Controle (COI). Suporte para DI foi adicionado nas seguintes áreas:

  • Controllers
  • Views
  • Action filters
  • Model binders
  • Model validation providers
  • Model metadata providers
  • Value providers (registering and injecting).

NuGet

Quando instalamos o ASP NET MVC 3, automaticamente já vem instalado o NuGet que é um gerenciador de pacotes de código aberto que torna fácil de encontrar, instalar e usar bibliotecas .NET e ferramentas em seus projetos. Ele funciona com todos os tipos de projeto Visual Studio (incluindo ASP.NET Web Forms e ASP.NET MVC).

Mais informações em http://www.asp.net/learn/whitepapers/mvc3-release-notes

Bom essas são as principais novidades do ASP NET MVC 3.. agora é estudar e colocar em prática

Aquele abraço!

Sobre Leandro Prado

Leandro Silveira Prado é Premier Field Engineer na Microsoft especializado em Application Lifecycle Management.