Principais mudanças no ASP.NET 5 e MVC 6

Principais mudanças no ASP.NET 5 e MVC 6
gabriel.ferreira
gabriel.ferreira

Compartilhe

Como já postamos aqui, a maior parte do .NET agora é open source e junto com essa novidade estão vindo outras. Pra começar, o ASP.NET foi praticamente reescrito do zero. Sendo assim, essa é a versão mais significativa em toda a história do ASP.NET.

Entre várias mudanças, tentaremos citar as mais importantes até agora.

1- Não teremos mais Visual Basic

Banner da Escola de Programação: Matricula-se na escola de Programação. Junte-se a uma comunidade de mais de 500 mil estudantes. Na Alura você tem acesso a todos os cursos em uma única assinatura; tem novos lançamentos a cada semana; desafios práticos. Clique e saiba mais!

ATUALIZAÇÃO: quando escrevemos esse post a Microsoft realmente tinha planos de não mais suportar o VB. Porém, após isso ser noticiado a comunidade de desenvolvedores VB não gostou, fez barulho e conseguiu o que queria: o suporte ao VB foi incluído na nova versão. Você pode ler mais a respeito aqui.

Ainda não é oficial, mas ao que tudo indica(aqui e aqui) é hora de dizer tchau ao VB. O ASP.NET 5 vai suportar somente C#.

Apesar de ainda termos aplicações rodando com VB, a grande maioria que vai desenvolver utilizando ASP.NET hoje em dia prefere o C# mesmo.

O VB serviu ao seu propósito, mas acredito que está na hora de seguirmos em frente com relação à ele.

2- Web Forms perdendo força

Se quiser você poderá desenvolver usando o Web Forms ainda, pois a Microsoft diz que ele não será descontinuado e que continuarão lançando atualizações para o mesmo. Porém, ele não fará parte do ASP.NET 5 e você perderá vários recursos bacanas que virão por aí.

Ou seja, se possível é melhor focar no desenvolvimento com o MVC mesmo.

3- ASP.NET no OSX e Linux

Isso mesmo, agora você que não usa Windows poderá desenvolver aplicações para o ASP.NET no seu Mac ou usando uma distro Linux.

Você não precisará do Visual Studio pra isso e poderá programar usando seu editor favorito. Já existe um projeto open source que dá suporte para o intelisense do C#, o Omnisharp. Ele funciona com Sublime Text, Atom, Emacs, Vim e Brackets.

4- Suporte a Bower, NPM e GruntJS

Pra galera do front-end, essa do Grunt é bacana. O Grunt é uma ferramenta que tem como objetivo automatizar tarefas, principalmente com Javascript.

Pra poder dar suporte ao Grunt, a Microsoft precisou dar suporte à mais dois gerenciadores de pacotes(além do Nuget): NPM e Bower.

5- AngularJS

O Visual Studio 2015 vai ter templates para a criação de controllers, directives, modules e factories do AngularJS. Com o suporte ao Grunt, o ASP.NET se tornará um ótimo framework server-side pra criar aplicações client-side com o Angular.

6- ASP.NET Dependency Injection Framework

Não precisaremos mais depender de frameworks de injeção de dependência de terceiros como Ninject e AutoFac: o ASP.NET 5 já virá com suporte nativo pra injeção de dependência.

7- xUnit.net

Nas versões anteriores do ASP.NET MVC o framework padrão para testes era o Visual Studio Unit Testing Framework.

O ASP.NET 5 utilizará o xUnit.net. Olhando o repositório do ASP.NET MVC, vemos que ele já está usando o xUnit para testes.

8- Tag Helpers

Esse é bem legal e vai ter um grande impacto na maneira que criamos nossas views no MVC.

Vamos considerar o seguinte código que cria uma view simples para um produto:

@model Caelum.Models.Produto

@using (Html.BeginForm("Salva", "Produto", FormMethod.Post)) { <div> @Html.LabelFor(p => p.Nome, "Nome:") @Html.TextBoxFor(p => p.Nome) </div> <input type="submit" value="Salva" / > }

Nesse exemplo os helpers Html.BeginForm, Html.LabelFor, Html.TextBoxFor nos ajudam a criar o formulário. Eles são legais e funcionaram muito bem para nós até agora. O problema com eles é que eles não são familiares para um desenvolvedor front-end: boa parte desses desenvolvedores têm conhecimento somente de HTML, CSS e Javascript e não é confortável com o conceito de métodos. Isso pode mais dificultar o trabalho do que facilitar.

Poderemos fazer isso da mesma forma usando tag helpers:

@model Caelum.Models.Produto @addtaghelper "Microsoft.AspNet.Mvc.TagHelpers"

<form asp-controller="Produto" asp-action="Salva" method="post"> <div> <label asp-for="Nome">Nome:</label> <input asp-for="Nome" /> </div>

<input type="submit" value="Salvar" /> </form>

Essa página contém (aparentemente) somente tags HTML. Um desenvolvedor front-end ficaria bem mais confortável com esse código do que com o anterior.

Aqui tem um exemplo do uso de Tag Helpers.

Fontes: http://www.asp.net/vnext/overview/aspnet-vnext/aspnet-5-overview#webforms http://www.theregister.co.uk/2015/02/24/now_with_grunt_and_gulp_aspnet_goes_crossplatform_in_new_visual_studio_2015_preview/ http://stephenwalther.com/archive/2015/01/12/asp-net-5-and-angularjs-part-1-configuring-grunt-uglify-and-angularjs http://stephenwalther.com/archive/2015/02/24/top-10-changes-in-asp-net-5-and-mvc-6 https://github.com/aspnet/home http://xunit.github.io/docs/getting-started-aspnet.html http://www.hanselman.com/blog/ASPNET5VNextWorkInProgressExploringTagHelpers.aspx

Veja outros artigos sobre Programação