Mais conteúdo relacionado Semelhante a Futuro do ASP.NET vNext - MVP ShowCast (20) Futuro do ASP.NET vNext - MVP ShowCast 1. WEBCASTS
15
set
2 0 1 4
DEV Web / One ASP.NET
MVP ShowCast
Virtual Community Series
a
09
out
#mvpbr Organizado por MVPs com apoio da Microsoft #mvpshowcast
O Futuro do ASP.NET (vNext)
Palestrante: Moderador:
DEV Web / One ASP.NET
Eduardo Pires
MVP de ASP.NET/IIS
Consultor e Instrutor
Eduardo Pires - Treinamentos e Consultoria
@EduardoPiresBR
Victor Cavalcante
MVP de ASP.NET/IIS
Owner na Lambda3
@vcavalcante
Nível: 200
© 2014, MVP ShowCast (mvpshowcast.azurewebsites.net)
Programa MVP (mvp.microsoft.com)
2. DEV Web / One ASP.NET
Agenda do webcast
♦12 Anos de ASP.NET
♦Evolução complicada
♦Quebrando as Dependências
♦OWIN Katana e Helios
♦Futuro do ASP.NET
♦ASP.NET vNext
♦Demos
© 2014, MVP ShowCast (mvpshowcast.azurewebsites.net) Programa MVP (mvp.microsoft.com)
3. DEV Web / One ASP.NET
ASP.NET – Um pouco de sua história
• Primeira versão em 2002 junto do .NET Framework 1.0
• Otimizado para programadores ASP e Visual Basic
• Desenvolvido para rodar no IIS
• Framework monobloco com N conceitos em um único pacote (System.Web)
HTTP Intrinsics
Modules
Handlers
Session
Cache
WebForms
Controls
© 2014, MVP ShowCast (mvpshowcast.azurewebsites.net) Programa MVP (mvp.microsoft.com)
4. DEV Web / One ASP.NET
System.Web
© 2014, MVP ShowCast (mvpshowcast.azurewebsites.net) Programa MVP (mvp.microsoft.com)
5. DEV Web / One ASP.NET
System.Web
Um projeto MVC vazio já vem
com uma bagagem bem pesada.
Modelo de programação
“everything and the kitchen sink”.
Você tem que pagar por algo que
não quer ou não precisa.
© 2014, MVP ShowCast (mvpshowcast.azurewebsites.net) Programa MVP (mvp.microsoft.com)
6. Logo isso criou alguns desafios (problemas)...
DEV Web / One ASP.NET
• O ASP.NET (System.Web) é entregue como parte do .NET Framework.
• Causando um ciclo lento de atualizações. Durante anos o ASP.NET ficou sem receber atualizações.
• Para uma nova feature ser introduzida era quase sempre necessário atualizar o .NET Framework.
• A liberação e adoção de uma nova versão do .NET Framework é muito lenta.
• As features do ASP.NET cresceram com isso cresceu também o tamanho e complexidade do System.Web.
• Isso ocasiona um aumento no consumo de recursos para o ASP.NET rodar.
• Uma única opção de host – O IIS.
© 2014, MVP ShowCast (mvpshowcast.azurewebsites.net) Programa MVP (mvp.microsoft.com)
7. DEV Web / One ASP.NET
Solução 1 – Separar
• 2007 – 2008 – É introduzido o framework MVC ao ASP.NET
• O MVC é distribuído separadamente, o que proporcionou o aumento da
velocidade de entrega de atualizações.
• Versões foram distribuídas como complementos.
© 2014, MVP ShowCast (mvpshowcast.azurewebsites.net) Programa MVP (mvp.microsoft.com)
8. DEV Web / One ASP.NET
Solução 2 – Quebrar as dependências
• 2012 – 2013 – É entregue o ASP.NET Web API e ASP.NET SignalR
• Escrito sem nenhuma dependência com o System.Web
Solução 2 – Quebrar as dependências
• Possui capacidade de Self-Hosting (Independente de IIS).
© 2014, MVP ShowCast (mvpshowcast.azurewebsites.net) Programa MVP (mvp.microsoft.com)
9. DEV Web / One ASP.NET
Katana Project
© 2014, MVP ShowCast (mvpshowcast.azurewebsites.net) Programa MVP (mvp.microsoft.com)
10. DEV Web / One ASP.NET
OWIN – Open Web Interface for .NET
• É um “standart” uma especificação.
• Não existe exatamente como código ou componente.
• É a descrição de como idealmente o comportamento de sua implementação deve funcionar.
• Foi criado pela comunidade .NET baseado no projeto Rack da comunidade Ruby.
• Define a comunicação entre servidores e aplicações .NET para Web. O objetivo do OWIN é
desacoplar o servidor e a aplicação de forma que estimule o desenvolvimento de componentes
Web .NET de forma acelerada e aberta para a comunidade.
Katana Project
Katana é uma implementação Microsoft da especificação OWIN no ASP.NET.
© 2014, MVP ShowCast (mvpshowcast.azurewebsites.net) Programa MVP (mvp.microsoft.com)
11. DEV Web / One ASP.NET
Arquitetura Tradicional ASP.NET
WEB HOST
(IIS)
ASP.NET
Components
O funcionamento do ASP.NET está diretamente acoplado ao IIS e ao
extenso pipeline do System.Web.
© 2014, MVP ShowCast (mvpshowcast.azurewebsites.net) Programa MVP (mvp.microsoft.com)
12. DEV Web / One ASP.NET
Arquitetura OWIN
WEB HOST
• IIS
• CustomHost
• OwinHost
ASP.NET
Components
Interface
Enviroment Dictionary
IDictionary<string, object>
Application Delegate
Func<IDictionary<string, object>, Task>
• Pequeno número de dependências necessárias para implementar OWIN, aumentando a acessibilidade para desenvolvedores escreverem
seus próprios componentes.
• Design assíncrono permite uma abstração muito eficiente, principalmente em operações onde o uso dos recursos computacionais é mais
intenso.
• Como o Enviroment Dictionary é utilizado como parâmetro para o Delegate vários componentes podem ser facilmente encaixados e
encadeados criando pipelines de processamento bem complexos.
© 2014, MVP ShowCast (mvpshowcast.azurewebsites.net) Programa MVP (mvp.microsoft.com)
13. DEV Web / One ASP.NET
OWIN Pipeline
Application Delegate
Dictionary Dictionary Dictionary Dictionary
+Component +Component +Component
© 2014, MVP ShowCast (mvpshowcast.azurewebsites.net) Programa MVP (mvp.microsoft.com)
14. DEV Web / One ASP.NET
Arquitetura K
Application
Middleware
Server
Sua aplicação, seu código que irá implementar algum
middleware (por ex. SignalR).
O componente que implementa OWIN (Delegate) que opera
dentro do pipeline. SignalR, Web API.
Abre uma porta TCP e escuta os requests e os
envia através do OWIN pipeline.
SystemWeb, HttpListener, WebListener
Host Orquestra o workflow e gerencia os processos
IIS/ASP.NET – Custom Host – OWIN Host
© 2014, MVP ShowCast (mvpshowcast.azurewebsites.net) Programa MVP (mvp.microsoft.com)
15. DEV Web / One ASP.NET
Project Helios
• É baseado nos mesmos motivadores do Katana Project.
• Utiliza o IIS Core (extremamente poderoso) como se fosse uma API, não depende da implementação
do pipeline do System.Web.
• Oferece compatibilidade com o OWIN porém fornece todas as vantagens do IIS e com uma
velocidade de na média 96% superior ao do ASP.NET clássico.
• Pode ser utilizado independente do OWIN.
• Requerimentos Mínimos:
• Windows 8 ou Windows Server 2012
• .NET Framework 4.5.1
• Visual Studio 2012 ou 2013
© 2014, MVP ShowCast (mvpshowcast.azurewebsites.net) Programa MVP (mvp.microsoft.com)
16. DEV Web / One ASP.NET
O Futuro do ASP.NET (vNext)
Está em desenvolvimento pelo time do ASP.NET um novo stack, um novo (totalmente novo) ASP.NET
• Web Pages, MVC, Web API agora é um só, chamado de MVC 6
• Um novo subset do .Net Framework otimizado para nuvem (Core CLR)
• Acabou a dependência do System.Web, ASP.NET agora é um middleware, leve e performático (apenas o
Web Forms depende [para sempre] do System.Web).
• Versões otimizadas para nuvem do MVC, Web API, Web Pages, SignalR e Entity Framework 7.
• Maior portabilidade, não existe dependência de assemblies do GAC facilitando o deploy em nuvem e em
ambientes não Windows (Linux/OSx/Etc)
• Possibilidade de hospedar sua aplicação no IIS ou em um processo self hosted
• Injeção de dependência nativa dentro do framework (escolha seu container favorito e use)
© 2014, MVP ShowCast (mvpshowcast.azurewebsites.net) Programa MVP (mvp.microsoft.com)
17. DEV Web / One ASP.NET
O Futuro do ASP.NET (vNext)
• Suporte ao legado do MVC 5, Web API 2, Web Page 3 , SignalR 2 e EF 6
• Deploy do runtime com a sua aplicação, possibilitando rodar lado a lado 2 versões diferentes do core
framework
• Arquivo project.json irá integrar o arquivo de projeto (.csproj), o packages.config e o Nuget specifications
(nuspec);
• Suporte ao Rosyln, ou seja, não precisa mais parar a aplicação para alterar uma classe, basta alterar salvar e
dar F5 no browser, pronto!
• Muita produtividade! Tudo é entrege via NuGet até o runtime!
• Mais open source que nunca (foi para o GitHub) e faz parte do .Net Foundation.
• Baixíssimo consumo de memória
• Completamente Multiplataforma!!! Rode ASP.NET onde quiser!
© 2014, MVP ShowCast (mvpshowcast.azurewebsites.net) Programa MVP (mvp.microsoft.com)
18. Componentes / Comandos do ASP.NET (vNext)
DEV Web / One ASP.NET
• KRuntime
O KRuntime é um SDK que contém todos os binários necessários para compilação e execução da aplicação
• KVM - K Version Manager
Script Powershell responsável por gerenciar as versões do KRE em seu ambiente.
• KRE - K Runtime Environment
Runtime responsável por compilar e rodar sua aplicação.
• KPM - K Package Manager
Gerenciador de pacotes, este commando instala os pacotes necessários para rodar sua aplicação dentro da versão do
runtime que está sendo utilizado.
• K - Command
Utilize o commando K para rodar as aplicações (K run, K web, etc…)
© 2014, MVP ShowCast (mvpshowcast.azurewebsites.net) Programa MVP (mvp.microsoft.com)
19. DEV Web / One ASP.NET
DEMO
• Instalando e Rodando o ASP.NET vNext
• ASP.NET Helios
© 2014, MVP ShowCast (mvpshowcast.azurewebsites.net) Programa MVP (mvp.microsoft.com)
20. DEV Web / One ASP.NET
Referências
• ASP.NET (pt-BR):
http://eduardopires.net.br/2014/05/o-futuro-do-asp-net-vnext-mvc-6/
http://eduardopires.net.br/2014/06/visual-studio-2014-asp-net-vnext-mvc-6/
• ASP.NET:
http://www.asp.net/vnext
https://github.com/aspnet/Home/wiki
• OWIN:
http://owin.org/
• Vídeos:
http://channel9.msdn.com/Events/TechEd/NorthAmerica/2014/DEV-B385#fbid=
• http://channel9.msdn.com/Events/TechEd/NorthAmerica/2014/DEV-B411#fbid=
© 2014, MVP ShowCast (mvpshowcast.azurewebsites.net) Programa MVP (mvp.microsoft.com)
21. DEV Web / One ASP.NET
Webcasts relacionados
Data e horário Palestra Palestrante
15/09/2014 20h
ASP.NET MVC 6 (vNext)
segunda-feira
16/09/2014 12h
terça-feira
Desenvolvendo APIs com ASP.NET Web API
16/09/2014 20h
terça-feira
ASP.NET SignalR + SPA com AngularJS
30/09/2014 12h
terça-feira
Plataforma de Compilação .NET ("Roslyn"), C# 6 e Visual
Studio "14"
Grade completa de webcasts: mvpshowcast.azurewebsites.net
Victor Cavalcante
MVP ASP.NET
André Baltieri
MVP ASP.NET
Waldyr Felix
MVP ASP.NET
Rogério Moraes de Carvalho
MVP Visual C#
© 2014, MVP ShowCast (mvpshowcast.azurewebsites.net) Programa MVP (mvp.microsoft.com)
22. Iniciativas da Microsoft
Premiação MVP
A premiação Microsoft Most Valuable Professional (MVP) é uma forma da Microsoft
agradecer aos líderes independentes da comunidade que compartilham sua paixão,
experiência técnica e conhecimento prático dos produtos da Microsoft com outros.
mvp.microsoft.com
Programa MVP Mentor
O Programa MVP Mentor conecta estudantes que querem aprender mais sobre
tecnologias Microsoft com especialistas independentes: os MVPs da Microsoft.
mvp.microsoft.com/en-us/MVP-mentor.aspx
Microsoft Virtual Academy
Treinamento gratuito da Microsoft
oferecido por especialistas.
www.microsoftvirtualacademy.com
Curah!
Serviço de curadoria projetado para
e mantido pela comunidade técnica.
curah.microsoft.com
© 2014, MVP ShowCast (mvpshowcast.azurewebsites.net) Programa MVP (mvp.microsoft.com)