Futuro do ASP.NET vNext - MVP ShowCast

2.475 visualizações

Publicada em

Confira todo meu conteúdo do ASP.NET vNext em:
http://eduardopires.net.br/category/asp-net-vnext/

Palestra Realizada no MVP ShowCast 2014 no dia 15/09/14

O ASP.NET mudou, e não foram poucas mudanças. Após 12 anos de existência, o ASP.NET passa pela sua maior transformação e o resultado é o ASP.NET vNext. Entenda que mudanças são estas e prepare-se para aprender sobre um ASP.NET totalmente novo e moderno.

Publicada em: Software
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
2.475
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1.852
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Futuro do ASP.NET vNext - MVP ShowCast

  1. 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. 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. 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. 4. DEV Web / One ASP.NET System.Web © 2014, MVP ShowCast (mvpshowcast.azurewebsites.net) Programa MVP (mvp.microsoft.com)
  5. 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. 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. 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. 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. 9. DEV Web / One ASP.NET Katana Project © 2014, MVP ShowCast (mvpshowcast.azurewebsites.net) Programa MVP (mvp.microsoft.com)
  10. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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)

×