O documento discute as principais mudanças no ASP.NET, incluindo a adoção do OWIN e do Katana, o novo compilador Roslyn e a unificação do ASP.NET MVC e WebAPI no ASP.NET MVC 6.
O que você precisa saber sobre o futuro do ASP.NET
1. ASP.N
ET
O você precisa saber agora?
O futuro do
CONIOSoluções em Tecnologia
by Fabrício Lopes Sanchez
2. O ASP.NET VAI
MUDAR DE NOVO?
Sim, o ASP.NET mudará de novo. E pra melhor!
Um pouco de história. Era uma vez…
Uma empresa de software muito grande chamada
Microsoft...
A web evoluiu e claro, ASP deixou de fazer sentido. Além
disso, devs de outros mundos estavam migrando para a
internet.
A Microsoft chega então com o ASP.NET (aka WebForms).
Este modelo demandou muitas implementações para “abstrair
a web”. Isso gerou “problemas”. E aí?
CONISoluções em Tecnologia
2of 1
Que com a rápida e ampla expansão de um Mercado
chamado “internet”, resolveu criar e disponibilizar
tecnologias de desenvolvimento para este cenário.
Sua primeira tentativa: o chamado ASP clássico, baseado
em VB Script e que rodava estritamente sobre o IIS.
Para uma internet ainda em expansão, com baixo número
de usuários e pouco dinamismo e interação, o ASP
sobreviveu por um bom tempo.
Solução 1: Separar modelos – ASP.NET MVC
Solução 2: Quebrar dependências – SignalR e WebAPI
Solução 3: Independência total de plataforma e (adeus
System.Web)… liberdade
3. PRINCIPAIS
ASPECTOS
Quais são os principais aspectos do novo ASP.NET?
.NET Native
Um novo modelo de compilação: Welcome Roslyn
CONISoluções em Tecnologia
3of 1
CLR’s otimizadas para os diferentes cenários
Escolha o modelo operacional: Windows com Visual Studio,
IIS ou Self-Host
Independência de plataforma
Unificação dos arquivos de dependências (project.json):
*.csproj
*.nuspec
packages.config
Deployment no Windows: apenas uma DLL gerada na pasta
bin – AspNet.Loader.dll.
Deployment em outros SO’s: pacotes do NuGet.
MAC/Linux: Mono é requerido para executar KVM (KRE).
Algumas outras coisas:
- Otimizado para ambientes de nuvem
- ASP.NET MVC e WebAPI unificados
- Injeção de dependência native
- Deployments da framework e do runtime otimizado
para a aplicação
- Tudo Open Source (via .NET Foundation)
5. OWINA especificação que norteia o novo ASP.NET
CONISoluções em Tecnologia
5of 1
OW
IN
OWIN (Open Web Server Interface for .NET) é uma especificação. Em termos gerais,
podemos dizer que OWIN está para o novo ASP.NET assim como o HTML está para o
navegador.
Principais características:
•Trata-se da especificação de um middleware, entre o servidor web e as aplicações que nele
são executadas.
•Modelo de comunicação baseado em componentes: server, web frameworks, web
application, middleware e host.
Mais informações:
www.owin.org
6. KATANAA implementação do OWIN e algumas coisinhas a mais
CONISoluções em Tecnologia
6of 1
KA
TA
NA
Katana é a implementação do OWIN para suportar aplicações ASP.NET. É a prática da
especificação.
Mais informações:
http://www.asp.net/aspnet/overview/owin-and-katana/an-overview-of-project-katana
IIS / Custom / OwinHost.exe
SystemWeb / HttpListener
Pipeline execução
7. ROSLYNUm compilador mais leve, flexível e inteligente
CONISoluções em Tecnologia
7of 1
ROS
LY
N
Roslyn é o novo compilador que estará por trás não apenas do ASP.NET, mas também, de
todo o .NET. São várias as melhorias entregues pelo novo compilador, dentre as quais
destacamos:
•Compilador como um serviço (sob demanda)
•Independência de plataforma
•APIs abertas para extração de code-metrics
•Reescrito e otimizado (sensível) para os diferentes tipos de aplicações
•Multiplataforma
•Disponível a partir da .NET Framework 4.5
•Open Source (http://roslyn.codeplex.com/SourceControl/latest)
Mais informações:
http://roslyn.codeplex.com/wikipage?title=Overview&referringTitle=Home
8. ASP.NET
MVC 6
Tudo unificado em um único modelo de trabalho
CONISoluções em Tecnologia
8of 1
MV
C 6
ASP.NET MVC 6 é o nome dado pelo time do ASP.NET para a
unificação das diferentes tecnologias existentes:
•ASP.NET MVC 5
•SignalR
•WebAPI
•Web Pages
Mais informações:
http://roslyn.codeplex.com/wikipage?title=Overview&referringTitle=Home
10. NOVA
ESTRUTURA DE
PROJETO
Principais mudanças na estrutura de projetos vNext
CONISoluções em Tecnologia
1 of 1
project.json
{
"version": "1.0.0-*",
"dependencies": {
"Kestrel": "1.0.0-*",
"Microsoft.AspNet.Diagnostics": "1.0.0-*",
"Microsoft.AspNet.Hosting": "1.0.0-*",
"Microsoft.AspNet.Mvc": "6.0.0-*",
"Microsoft.AspNet.Server.WebListener": "1.0.0-*"
},
"commands": {
"web": "Microsoft.AspNet.Hosting --server
Microsoft.AspNet.Server.WebListener --server.urls
http://localhost:5001",
"Kestrel": "Microsoft.AspNet.Hosting --server
Kestrel --server.urls http://localhost:5004"
},
"frameworks": {
"net45": {},
"k10": {}
}
}
11. NOVA
ESTRUTURA DE
PROJETO
Principais mudanças na estrutura de projetos vNext
CONISoluções em Tecnologia
1 of 1
Startup.cs
using Microsoft.AspNet.Builder;
using Microsoft.AspNet.Routing;
using Microsoft.Framework.DependencyInjection;
namespace HelloMvc
{
public class Startup
{
public void Configure(IBuilder app)
{
app.UseErrorPage();
app.UseServices(services =>
{
services.AddMvc();
});
app.UseMvc();
app.UseWelcomePage();
}
}
}
15. QUESTION
S?
Restou alguma dúvida?
Conio Soluções em Tecnologia. Empresa especializada em
.NET para web e plataformas de nuvem, especialmente,
Windows Azure. Trabalhamos fortemente com consultoria e
fábrica de software.
CONISoluções em Tecnologia
1 of 1
/FABRICIOLOPESSANCHEZ
@SANCHEZFABRI
CIO Tel: (17) 3353-2711
Email: fabricio@conio.com.br
Home: conio.com.br