SlideShare uma empresa Scribd logo
1 de 22
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)
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)
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)
DEV Web / One ASP.NET 
System.Web 
© 2014, MVP ShowCast (mvpshowcast.azurewebsites.net) Programa MVP (mvp.microsoft.com)
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)
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)
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)
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)
DEV Web / One ASP.NET 
Katana Project 
© 2014, MVP ShowCast (mvpshowcast.azurewebsites.net) Programa MVP (mvp.microsoft.com)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)

Mais conteúdo relacionado

Mais procurados

ASP.NET Web Forms X ASP.NET MVC
ASP.NET Web Forms X ASP.NET MVCASP.NET Web Forms X ASP.NET MVC
ASP.NET Web Forms X ASP.NET MVCguest489a65e
 
Construindo aplicações leves e performáticas com ASP.NET Core 1.0
Construindo aplicações leves e performáticas com ASP.NET Core 1.0Construindo aplicações leves e performáticas com ASP.NET Core 1.0
Construindo aplicações leves e performáticas com ASP.NET Core 1.0Fabrício Lopes Sanchez
 
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...iMasters
 
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...iMasters
 
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.jsJava script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.jsVinicius Reis
 
.NET Core Internals. O que é o .NET Platform Standard?
.NET Core Internals. O que é o .NET Platform Standard?.NET Core Internals. O que é o .NET Platform Standard?
.NET Core Internals. O que é o .NET Platform Standard?Victor Cavalcante
 
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Nerdzão Day #3 - No...
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Nerdzão Day #3 - No...Implementando APIs multiplataforma com ASP.NET Core 2.0 - Nerdzão Day #3 - No...
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Nerdzão Day #3 - No...Renato Groff
 
Desenvolvimento baseado em componentes com JSF
Desenvolvimento baseado em componentes com JSFDesenvolvimento baseado em componentes com JSF
Desenvolvimento baseado em componentes com JSFEmmanuel Neri
 
ITerior - .NET Core, usando .NET no Linux!
ITerior - .NET Core, usando .NET no Linux!ITerior - .NET Core, usando .NET no Linux!
ITerior - .NET Core, usando .NET no Linux!Vinicius Mussak
 
ASP.NET SignalR + SPA com AngularJS
ASP.NET SignalR + SPA com AngularJSASP.NET SignalR + SPA com AngularJS
ASP.NET SignalR + SPA com AngularJSWaldyr Felix
 
Escalabilidade com docker - ASP.NET Conference 2016
Escalabilidade com docker - ASP.NET Conference 2016Escalabilidade com docker - ASP.NET Conference 2016
Escalabilidade com docker - ASP.NET Conference 2016Rodolfo Fadino Junior
 
TDC 2014 - Arquitetura front-end com AngularJS
TDC 2014 - Arquitetura front-end com AngularJSTDC 2014 - Arquitetura front-end com AngularJS
TDC 2014 - Arquitetura front-end com AngularJSLeonardo Zanivan
 
Angular 2, TypeScript e Além
Angular 2, TypeScript e AlémAngular 2, TypeScript e Além
Angular 2, TypeScript e AlémAndre Baltieri
 
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...Daniel Makiyama
 

Mais procurados (20)

ASP.NET Web Forms X ASP.NET MVC
ASP.NET Web Forms X ASP.NET MVCASP.NET Web Forms X ASP.NET MVC
ASP.NET Web Forms X ASP.NET MVC
 
Construindo aplicações leves e performáticas com ASP.NET Core 1.0
Construindo aplicações leves e performáticas com ASP.NET Core 1.0Construindo aplicações leves e performáticas com ASP.NET Core 1.0
Construindo aplicações leves e performáticas com ASP.NET Core 1.0
 
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
 
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Infrastructure Testing
Infrastructure TestingInfrastructure Testing
Infrastructure Testing
 
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.jsJava script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
 
.NET Core Internals. O que é o .NET Platform Standard?
.NET Core Internals. O que é o .NET Platform Standard?.NET Core Internals. O que é o .NET Platform Standard?
.NET Core Internals. O que é o .NET Platform Standard?
 
Middlewares ASP.NET
Middlewares ASP.NETMiddlewares ASP.NET
Middlewares ASP.NET
 
ASP .NET Core MVC
ASP .NET Core MVCASP .NET Core MVC
ASP .NET Core MVC
 
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Nerdzão Day #3 - No...
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Nerdzão Day #3 - No...Implementando APIs multiplataforma com ASP.NET Core 2.0 - Nerdzão Day #3 - No...
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Nerdzão Day #3 - No...
 
Desenvolvimento baseado em componentes com JSF
Desenvolvimento baseado em componentes com JSFDesenvolvimento baseado em componentes com JSF
Desenvolvimento baseado em componentes com JSF
 
ITerior - .NET Core, usando .NET no Linux!
ITerior - .NET Core, usando .NET no Linux!ITerior - .NET Core, usando .NET no Linux!
ITerior - .NET Core, usando .NET no Linux!
 
ASP.NET SignalR + SPA com AngularJS
ASP.NET SignalR + SPA com AngularJSASP.NET SignalR + SPA com AngularJS
ASP.NET SignalR + SPA com AngularJS
 
Escalabilidade com docker - ASP.NET Conference 2016
Escalabilidade com docker - ASP.NET Conference 2016Escalabilidade com docker - ASP.NET Conference 2016
Escalabilidade com docker - ASP.NET Conference 2016
 
TDC 2014 - Arquitetura front-end com AngularJS
TDC 2014 - Arquitetura front-end com AngularJSTDC 2014 - Arquitetura front-end com AngularJS
TDC 2014 - Arquitetura front-end com AngularJS
 
Angular 2, TypeScript e Além
Angular 2, TypeScript e AlémAngular 2, TypeScript e Além
Angular 2, TypeScript e Além
 
Desvendando ASP.NET MVC
Desvendando ASP.NET MVCDesvendando ASP.NET MVC
Desvendando ASP.NET MVC
 
Estudo de caso ASP.NET MVC e Silverlight
Estudo de caso ASP.NET MVC e SilverlightEstudo de caso ASP.NET MVC e Silverlight
Estudo de caso ASP.NET MVC e Silverlight
 
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
 

Semelhante a Webcast sobre o futuro do ASP.NET vNext

Por que devo utilizar o Windows Azure Pack?
Por que devo utilizar oWindows Azure Pack?Por que devo utilizar oWindows Azure Pack?
Por que devo utilizar o Windows Azure Pack?Daniel Donda - MVP
 
MVP ShowCast 2014 - Desenvolvendo APIs com WebAPI
MVP ShowCast 2014 - Desenvolvendo APIs com WebAPIMVP ShowCast 2014 - Desenvolvendo APIs com WebAPI
MVP ShowCast 2014 - Desenvolvendo APIs com WebAPIAndre Baltieri
 
TDC SP 2015 - Criando aplicações ASP.NET no Mac
TDC SP 2015 - Criando aplicações ASP.NET no MacTDC SP 2015 - Criando aplicações ASP.NET no Mac
TDC SP 2015 - Criando aplicações ASP.NET no MacAndre Baltieri
 
O que há de novo no Microsoft Azure IaaS
O que há de novo no Microsoft Azure IaaSO que há de novo no Microsoft Azure IaaS
O que há de novo no Microsoft Azure IaaSLucas A. Romão
 
.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo mais.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo maisakamud
 
Forneça serviços de Hosting com o Windows Azure Pack
Forneça serviços de Hosting com o Windows Azure PackForneça serviços de Hosting com o Windows Azure Pack
Forneça serviços de Hosting com o Windows Azure PackDaniel Donda - MVP
 
ASP.NET Core e Linux - ASP.NET Core Day - Maio/2017
ASP.NET Core e Linux - ASP.NET Core Day - Maio/2017ASP.NET Core e Linux - ASP.NET Core Day - Maio/2017
ASP.NET Core e Linux - ASP.NET Core Day - Maio/2017Renato Groff
 
ASP.NET Core e Linux: Explorando novas fronteiras - OneDay - Junho/2017
ASP.NET Core e Linux: Explorando novas fronteiras - OneDay - Junho/2017ASP.NET Core e Linux: Explorando novas fronteiras - OneDay - Junho/2017
ASP.NET Core e Linux: Explorando novas fronteiras - OneDay - Junho/2017Renato Groff
 
Java Web Dev Introdução
Java Web Dev IntroduçãoJava Web Dev Introdução
Java Web Dev IntroduçãoMarcio Marinho
 
MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...
MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...
MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...Rogério Moraes de Carvalho
 
ASP.NET Core e Linux: Explorando novas fronteiras - Araras Dev - Julho/2017
ASP.NET Core e Linux: Explorando novas fronteiras - Araras Dev - Julho/2017ASP.NET Core e Linux: Explorando novas fronteiras - Araras Dev - Julho/2017
ASP.NET Core e Linux: Explorando novas fronteiras - Araras Dev - Julho/2017Renato Groff
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014Giovanni Bassi
 
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...Renato Groff
 
Introdução ao Asp.NET MVC
Introdução ao Asp.NET MVCIntrodução ao Asp.NET MVC
Introdução ao Asp.NET MVCBenicio Ávila
 
ASP.NET Core - iMasters - Março/2016
ASP.NET Core - iMasters - Março/2016ASP.NET Core - iMasters - Março/2016
ASP.NET Core - iMasters - Março/2016Renato Groff
 
ASP.NET Core em Linux - Canal .NET Dev Week
ASP.NET Core em Linux - Canal .NET Dev WeekASP.NET Core em Linux - Canal .NET Dev Week
ASP.NET Core em Linux - Canal .NET Dev WeekRenato Groff
 

Semelhante a Webcast sobre o futuro do ASP.NET vNext (20)

Por que devo utilizar o Windows Azure Pack?
Por que devo utilizar oWindows Azure Pack?Por que devo utilizar oWindows Azure Pack?
Por que devo utilizar o Windows Azure Pack?
 
MVP ShowCast 2014 - Desenvolvendo APIs com WebAPI
MVP ShowCast 2014 - Desenvolvendo APIs com WebAPIMVP ShowCast 2014 - Desenvolvendo APIs com WebAPI
MVP ShowCast 2014 - Desenvolvendo APIs com WebAPI
 
TDC SP 2015 - Criando aplicações ASP.NET no Mac
TDC SP 2015 - Criando aplicações ASP.NET no MacTDC SP 2015 - Criando aplicações ASP.NET no Mac
TDC SP 2015 - Criando aplicações ASP.NET no Mac
 
O que há de novo no Microsoft Azure IaaS
O que há de novo no Microsoft Azure IaaSO que há de novo no Microsoft Azure IaaS
O que há de novo no Microsoft Azure IaaS
 
.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo mais.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo mais
 
Forneça serviços de Hosting com o Windows Azure Pack
Forneça serviços de Hosting com o Windows Azure PackForneça serviços de Hosting com o Windows Azure Pack
Forneça serviços de Hosting com o Windows Azure Pack
 
ASP.NET Core e Linux - ASP.NET Core Day - Maio/2017
ASP.NET Core e Linux - ASP.NET Core Day - Maio/2017ASP.NET Core e Linux - ASP.NET Core Day - Maio/2017
ASP.NET Core e Linux - ASP.NET Core Day - Maio/2017
 
ASP.NET vNext – MVC6
ASP.NET vNext – MVC6ASP.NET vNext – MVC6
ASP.NET vNext – MVC6
 
ASP.NET Core e Linux: Explorando novas fronteiras - OneDay - Junho/2017
ASP.NET Core e Linux: Explorando novas fronteiras - OneDay - Junho/2017ASP.NET Core e Linux: Explorando novas fronteiras - OneDay - Junho/2017
ASP.NET Core e Linux: Explorando novas fronteiras - OneDay - Junho/2017
 
Java Web Dev Introdução
Java Web Dev IntroduçãoJava Web Dev Introdução
Java Web Dev Introdução
 
Introdução - Java WEB
Introdução - Java WEBIntrodução - Java WEB
Introdução - Java WEB
 
MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...
MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...
MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...
 
ASP.NET Core e Linux: Explorando novas fronteiras - Araras Dev - Julho/2017
ASP.NET Core e Linux: Explorando novas fronteiras - Araras Dev - Julho/2017ASP.NET Core e Linux: Explorando novas fronteiras - Araras Dev - Julho/2017
ASP.NET Core e Linux: Explorando novas fronteiras - Araras Dev - Julho/2017
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014
 
Docker para devs .NET
Docker para devs .NETDocker para devs .NET
Docker para devs .NET
 
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...
 
Introdução ao Asp.NET MVC
Introdução ao Asp.NET MVCIntrodução ao Asp.NET MVC
Introdução ao Asp.NET MVC
 
Software gratuito
Software gratuitoSoftware gratuito
Software gratuito
 
ASP.NET Core - iMasters - Março/2016
ASP.NET Core - iMasters - Março/2016ASP.NET Core - iMasters - Março/2016
ASP.NET Core - iMasters - Março/2016
 
ASP.NET Core em Linux - Canal .NET Dev Week
ASP.NET Core em Linux - Canal .NET Dev WeekASP.NET Core em Linux - Canal .NET Dev Week
ASP.NET Core em Linux - Canal .NET Dev Week
 

Webcast sobre o futuro do ASP.NET vNext

  • 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)