ASP 
.NET 
5 - 
Nada será como antes
    
    
    ![]()  | 
    
     Neste artigo eu compilei informações de várias fontes para apresentar as novidades sobre a nova versão da ASP .NET : ASP .NET 5. (isso mesmo ASP .NET cinco.)  | 
  
Eu 
já estou com o pé nessa estrada
Qualquer dia a gente se vê
Sei que nada será como antes, amanhã...
...
(Nada será como antes - Nilton Nascimento)
 
Respire fundo...
O ASP.NET 5 é um  
redesenho significativo da tecnologia ASP.NET.  Muita, mas muita coisa mudou. 
Felizmente para melhor.
Este artigo apresenta os novos conceitos do ASP.NET 5 e dá um resumo de como eles vão 
ajudá-lo a desenvolver aplicações web modernas.
Nota: 
Os recursos apresentados foram analisados com base na 
versão do 
Visual Studio CTP 6 e podem sofrer alterações 
até o lançamento da versão final.
 
 Introdução ao ASP.NET 
5
O ASP.NET 5 é a nova versão da plataforma .NET da tecnologia ASP .NET para a construção de aplicações web modernas. 
Ele foi feito a  partir do zero para proporcionar uma estrutura de 
desenvolvimento otimizado para aplicativos que são implantados quer para a nuvem 
quer para servidor. 
Ele é constituído por componentes modulares com sobrecarga mínima, para manter a 
flexibilidade durante a construção de suas soluções.
O
ASP.NET 5 inclui os seguintes recursos:
As mudanças feitas no 
ASP.NET 5 visam atender as solicitações dos clientes e o feedback da comunidade 
de desenvolvedore. Estas 
mudanças simplificam o desenvolvimento, hospedagem e manutenção, e são 
direcionadas para aplicações web modernas.
Seus aplicativos legados serão 
executados na nova versão do ASP.NET sem qualquer modificação. No entanto, para 
tirar proveito dos novos recursos no ASP.NET 5, você vai precisar 
portar seu 
código existente para o novo framework. 
Você vai encontrar muitas semelhanças entre ASP.NET 5 e versões anteriores do 
ASP.NET, então portar o código envolve a correção de problemas específicos, em 
vez de reescrever a aplicação.
Este tópico fornece uma orientação resumida dos conceitos do ASP.NET 5 e explicações sobre as 
mudanças feitas.
Por 
que redesenhar o ASP.NET ?
No passado as versões do .NET Framework eram entregues como uma única instalação abrangente.
A cada release da plataforma .NET, novas características eram 
adicionadas, de modo que o tamanho do framework cresceu continuamente. 
Esta 
abordagem assegurava que uma 
máquina Windows com  a plataforma .NET instalada poderia suportar todo tipo de aplicação .NET, 
mas também significava que existiam aplicações que eram afetadas por recursos dos quais na 
verdade elas não usavam.
Se uma atualização crítica era necessária para uma tecnologia na plataforma 
.NET, você recebia uma notificação de que uma atualização importante estava 
disponível, mesmo que não utilizasse diretamente esse recurso na 
plataforma. 
Então, você tinha que decidir se desejava instalar esta atualização e suportar a 
interrupção de seu servidor ou ignorar a atualização e torcer para que você não 
precisasse realmente dela.
O ASP.NET 5 
lhe dá uma maior flexibilidade por ser capaz de rodar em
três runtimes: 
1- Full .NET CLR
Este modo é o runtime padrão para projetos no Visual Studio. Ele fornece todo o 
conjunto de APIs e é a sua melhor opção para compatibilidade com versões 
anteriores.
2- Core CLR(runtime otimizado para nuvem)
O Core CLR é um runtime leve e totalmente modular para projetos ASP.NET 5. Ele 
foi reprojetado em componentes para que você tenha a flexibilidade para incluir 
apenas os recursos que você precisa no seu aplicativo. Você adiciona os 
componentes como pacotes NuGet. Quando terminar, o seu aplicativo depende apenas 
dos recursos necessários. 
Pela refatoração do runtime em componentes separados, podemos entregar melhorias 
aos componentes mais rapidamente, pois cada componente tem a sua própria agenda 
de atualização. 
O Core CLR tem cerca de 11 megabytes em vez dos 200 megabytes do runtime
Full 
.Net CLR, e, pode ser distribuído com a sua aplicação, sendo que 
diferentes versões do Core CLR podem ser executadas lado-a-lado.
3- Cross-Platform CLR
É 
um runtime multiplataforma para Linux e Mac OS X. Este runtime permite 
desenvolver e executar aplicativos .NET em dispositivos Mac e Linux. Até o seu 
lançamento, você pode usar o Mono CLR para o desenvolvimento multiplataforma.
Por padrão, os novos projetos do Visual Studio usam o Full 
.NET CLR. Você pode 
especificar o  Core CLR nas propriedades de configuração para o seu projeto.
 
Hospede sua aplicação em qualquer 
lugar
O ASP.NET 5 permite que você hospede seu aplicativo no IIS ou que hospede sua aplicação no seu próprio processo. Você decide.
Quando você usar o Core CLR, você pode distribuir seu 
aplicativo com cada dependência empacotada dentro do pacote de implantação. 
Portanto, o seu aplicativo e suas dependências são completamente 
auto suficientes e não mais dependentes de uma instalação da plataforma .NET no 
sistema. 
Qualquer tipo de dispositivo ou plataforma de hospedagem é capaz de 
executar o aplicativo.
Esse novo recurso lhe dá muita liberdade. 
Ainda é recomendado usar o IIS como a melhor opção para hospedagem, mas em alguns casos, pode ser necessário usar uma plataforma de hospedagem diferente. Agora, basta distribuir o seu projeto para o host de destino.
Sua preferência de hospedagem não vai mais ditar qual framework de desenvolvimento você vai usar e vice-versa.
 Use versões 
diferentes da plataforma .NET lado a lado
Quando os aplicativos em um servidor dependem de uma única instalação 
abrangente do .NET framework, todos os aplicativos tem que executar a mesma 
versão do .NET. Esta situação pode ter criado alguma ansiedade para você quando 
se considerava a atualização para uma nova versão do .NET Framework. 
Talvez, você quisesse que alguns dos seus aplicativos usassem a versão mais 
recente do .NET, mas você não tinham certeza se todos os seus aplicativos 
legados iria trabalhar adequadamente com a nova versão.
Felizmente, o ASP.NET 5 resolve este problema. Você pode definir as dependências 
dentro de seu pacote de distribuição de forma que você pode especificar para 
cada aplicação qual versão do .NET vai usar. 
Você obtém os benefícios da mais recente versão para algumas aplicações e da 
facilidade de ficar com uma versão antiga para outros aplicativos. 
Todos essas diferentes versões executam lado-a-lado, sem quaisquer problemas. Para executar versões diferentes lado-a-lado, você deve direcionar para usar o Core CLR.
  
						Gerenciamento de dependência simplificadoO ASP.NET 5 apresenta uma nova maneira mais leve de gerenciar dependências em seus projetos.
Você não vai mais adicionar referências a assemblies em seu projeto; em vez disso, você vai gerenciar dependências referenciando pacotes NuGet.
Você pode adicionar pacotes NuGet através do Gerenciador de pacotes NuGet ou você pode editar o arquivo JSON (project.json) que lista os pacotes NuGet e versões utilizadas em seu projeto.
Para adicionar outras dependências, basta digitar o nome e número de versão do pacote NuGet em seu arquivo project.json.
 Eliminando a 
duplicação em MVC, Web API e páginas da Web(Web Pages)
No passado, MVC, Web API e Web Pages continham características que se 
sobrepunham, mas a implementação destas características eram feitas de forma separadas. 
Por exemplo, MVC e API Web forneciam o roteamento, mas as classes de 
roteamento MVC residiam no namespace System.Web.Mvc.Routing enquanto as classes 
semelhantes para API Web residiam no namespace System.Web.Http.Routing. 
As Web Pages e 
o MVC usavam ambas a sintaxe Razor, mas alguns pacotes NuGet eram 
compatíveis com apenas um ou com o outro.
No ASP.NET 5, o  MVC, a Web API e as Web Pages foram fundidos em um framework único 
chamado MVC 6.  
Esta fusão remove a duplicação do framework e torna mais fácil para você 
desenvolver aplicativos que usam esses frameworks. 
Então você não precisa mais escrever código ligeiramente diferente, dependendo se você está dentro de um contexto MVC, Web API, ou Web Pages.
Desempenho do HTTP 
melhorado
O ASP.NET 5 introduz um novo pedido HTTP pipeline que é leve e rápido. 
Este pipeline é modular de forma que você pode adicionar apenas os componentes que você precisa.
Ao reduzir a sobrecarga no pipeline, a sua aplicação vai experimentar um melhor rendimento.
O novo pipeline também suporta Owin.
| 
		O Owin define uma interface padrão 
		entre servidores web .NET e aplicações web. O objetivo da interface Owin 
		é dissociar servidor e aplicação, incentivar o desenvolvimento de módulos simples para o desenvolvimento web na plataforma .NET, e, por ser um padrão aberto, estimular o ecossistema open source de ferramentas de desenvolvimento web para .NET. Veja mais em : http://owin.org/  | 
	
Pronto para a nuvem (Cloud-ready)
Quando você cria um novo projeto ASP.NET 5, o projeto está estruturado para 
facilitar a implantação para a nuvem. 
O Visual Studio 2015 oferece um novo 
sistema de configuração do ambiente que substitui o arquivo Web.config. 
O novo sistema permite solicitar valores nomeados a partir de uma variedade de 
fontes (como variáveis JSON, XML, ou variáveis de ambiente).
Você especifica os 
valores para cada ambiente, e após a implantação o seu aplicativo simplesmente 
lê os valores corretos.
Existem também ferramentas de diagnóstico e rastreamento que tornam mais 
fácil para você descobrir problemas com seu aplicativo na nuvem.
Injeção de 
Dependência Integrada
A injeção de dependência esta embutida no ASP.NET 5. 
Você pode usar o seu container de inversão de controle(IoC) para registrar dependências.
A injeção de dependência facilita a prestação dos serviços certos para o ambiente.
Para obter mais informações, consulte Dependency Injection em ASP.NET vNext.
 Código fonte aberto e 
transparente
Todo o código para o ASP.NET 5 está disponível através do GitHub. 
Não é apenas o código que esta disponível; foram uados repositórios GitHub para todo o desenvolvimento.
Assim, você pode ver exatamente quais mudanças foram feitas e quando elas foram feitas.
Você pode baixar o código e apresentar alterações.
Através do desenvolvimento do ASP.NET 5 no GitHub fica mais fácil para você 
entender o código, compreender para onde esta indo a tecnologia, contribuir com 
melhorias, e construir suas próprias implementações personalizadas dos recursos ASP.NET.
Proporcionar ambiente de 
desenvolvimento ágil
O Visual Studio 2015 oferece uma experiência de desenvolvedor leve para 
aplicações ASP.NET. 
Você simplesmente faz as mudanças em seu código, salva as alterações e atualiza o navegador.
Você pode ver as mudanças de código no navegador web sem ter que reconstruir o projeto.
O código que você muda pode ser no projeto web ou em uma biblioteca de classe 
referenciada por seu projeto. Você deve executar (CTRL + F5) o projeto ao invés 
de estar no modo debug para ver as mudanças dinamicamente.
O Visual Studio usa o compilador Roslyn para habilitar essa compilação dinâmica. 
Você ainda tem toda a estrutura e poder de um framework compilado, mas a experiência de desenvolvimento se parece mais com uma linguagem interpretada.
Para saber mais sobre o Roslyn Compiler visite o link: https://github.com/dotnet/roslyn
 E o que aconteceu com os 
Web Forms ???
Desenvolve usando Web Forms ? 
Não se preocupe...
Você pode continuar a desenvolver aplicativos Web Forms e ter a confiança de que 
os Web Forms é uma parte essencial da plataforma de desenvolvimento .NET para 
web. 
A tecnologia não foi abandonada e ainda terá a adição de novos recursos para Web Forms para melhorar a 
experiência de desenvolvimento e manter a tecnologia atualizada com as práticas 
da web.
O novo Web Forms 4.6 inclui os seguintes recursos para Web Forms:
Os seus aplicativos 
Web Forms existentes continuarão a ser executados sem 
modificações no IIS com .NET 4.6. (Você não pode usar aplicativos de Web Forms 
com o runtime otimizada para nuvem.)
 
 E como fica o minha aplicação 
legada ?
Você pode estar preocupado que com o número de alterações feitas no ASP.NET 5, 
agora você vai ter que reescrever todas as suas aplicações. 
Não se preocupe.
Os aplicativos que você construiu em versões anteriores do ASP.NET continuarão a funcionar com o novo .NET Framework.
Você não precisa atualizar ou portar estas aplicações se você não precisar dos novos recursos no ASP.NET 5.
No entanto, os aplicativos Web Forms não poderão tirar partido de qualquer um dos novos recursos interessantes de ASP.NET 5 descritos neste artigo.
Então, pare, pense e pondere se não chegou a hora de reescrever seu velho aplicativo Web Forms.
Suporte a GruntJS, 
NPM e Bower
O 
desenvolvimento front-end recebeu um grande avanço no ASP.NET 5 através do seu 
suporte ao GruntJS (e, eventualmente ao Gulp).
O GruntJS permite que você construa recursos front-end, como arquivos JavaScript e CSS. Por exemplo, você pode usar GruntJS 
para concatenar e minificar os arquivos JavaScript sempre que você executar uma 
compilação no Visual Studio.
Nota: Minificar 
é tornar um arquivo menos pesado removendo seus trechos desnecessários para que 
o código rode mais rápido.
Existem milhares de plugins GruntJS que permitem que você faça uma incrível variedade de tarefas diferentes (atualmente há 4.334 plugins listados nos repositório de plugins GruntJS ): http://gruntjs.com/plugins
Por exemplo, existem plugins para a execução de testes de unidade de JavaScript, 
para validar a qualidade do código do seu JavaScript (jshint), a compilação LESS 
e arquivos Sass em CSS, a compilação do texto TypeScript em JavaScript, e 
a minificação de imagens.
A fim de suportar o GruntJS, a Microsoft precisou suportar dois novos gestores 
de pacotes (além NuGet) : o NPM e o Bower.
Primeiro, porque os plugins GruntJS são distribuídos 
como pacotes NPM, a Microsoft adicionou suporte para pacotes de MPN.
Segundo, porque muitos recursos do lado do cliente - como Twitter 
Bootstrap, jQuery, Polymer, e AngularJS - são distribuídos através do Bower, a 
Microsoft adicionou também o suporte para o Bower.
Isso significa que você pode executar o GruntJS utilizando plugins do NPM e 
recursos clientes do Bower.
O novo xUnit.net
Nas versões anteriores do ASP.NET MVC, o framework de testes padrão era o 
Visual 
Studio Unit Testing Framework (às vezes chamado mstest). 
Este framework usa os 
atributos [TestClass] e [TestMethod] para descrever um teste de unidade.
O ASP.NET 5 agora 
usa o xUnit.net como seu framework de testes de unidade.
Este framework usa os atributos [Fact] ao invés de [TestMethod] e não possui 
o atributo [TestMethod].
Você pode dar uma olhada no repositório MVC (e seus testes de unidade) aqui:
http://github.com/aspnet/mvc
O ASP.NET usa um fork de xUnit.net que está localizado aqui: https://github.com/aspnet/xunit

ASP 
.NET para Linux e OSX
Veja mais detalhes em : http://www.omnisharp.net/
Ufa !
São tantas novidades que só o resumo delas já cansa.
Imagina o que vem por ai...
Aguarde muitos artigos sobre o ASP NET 5 em 2015.
Porque os judeus pedem 
sinal, e os gregos buscam sabedoria;
Mas nós pregamos a Cristo crucificado, que é escândalo para os judeus, e loucura 
para os gregos.
Mas para os que são chamados, tanto judeus como gregos, lhes pregamos a Cristo, 
poder de Deus, e sabedoria de Deus.
1 Coríntios 1:22-24
| 
    
    Veja os 
    Destaques e novidades do SUPER DVD Visual Basic 
(sempre atualizado) : clique e confira ! 
 Quer migrar para o VB .NET ? 
 Quer aprender C# ?? 
 Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?  | 
  
  Gostou ?  
Compartilhe no Facebook
  
 
Compartilhe no Twitter 
Referências: