Upload
fabricio-lopes-sanchez
View
971
Download
5
Embed Size (px)
Citation preview
Construindo aplicações web leves e performáticas com ASP.NET 5 ASP.NET Core 1.0Fabrício SanchezMicrosoft Technical Evangelist@SanchezFabricio
A mudança chegou. Por que?
2002 600 milhões de usuários 9,1% da população mundial
online Tempo de uso médio: 46 minutos 3 milhões de sites 2 browsers Page load: 16 segundos
A web mudou a arquitetura das apps3
~2000 Hoje
Consumo de serviços
Vários pequenos servidores
Atualização rápida
Monolítica
Servidores robustos
Mudanças lentas
A mudança chegou. Por que?
2016 3.5 bilhões de usuários 40% da população mundial online Tempo de uso médio: 4 horas 555 milhões de sites 5 browsers Page load: 6 segundos
Por isso, “distribuir” é preciso
Máquinas virtuais
Servidor de apliação Nuvem pública
Disaster Recovery
Máquina de desenvolvimento
Cluster
Data Center
Páginas estática
s
Web Front EndAlgoritmos de background
BD do usuário BD de analytics
Filas API’s
Dev Teste Produção Escalar
Desktop & ASP.NET .NET
Por isso, precisamos evoluir…
Windows Store
Browsers & Win Phone
ASP.NET 5 Core 1.0
Framewor
k
Silverlight .NET Core Multi-Framewor
k
Window
s Mobile
Compact Framewor
k
.NET Framework 4.6 .NET Core 5 1.0 Implementação full do framework para
Windows.Implementação cross-plataform para atender o
universo open souce.
.NET 2015
• Dependência do ambiente operacional• Windows• Soluções para desktop, web e cloud• Mais controle
• Linux, OS X, Windows• Execução lado a lado• Modular• Otimizado para web, cloud e devices (IoT)
Next gen JIT (RyuJIT)SIMD
ComponentesRuntime Compiladores
Inovação das linguagensRoslyn
Libs .NET Core 5Libs .NET Framework 4.6
Pacotes NuGetComum
.NET 2015
.NET Framework 4.6 .NET Core 5 1.0
.NET Framework 4.6 .NET Core 5 1.0
WPF Windows Forms
Universal Windows Apps
.NET 2015
ASP.NET (4.X) ASP.NET Core 1.0ASP.NET 5
Next gen JIT (RyuJIT)SIMD
Runtime Components Compilers
Languages innovation.NET Compiler Platform
.NET Core 5 Libraries
.NET Framework 4.6 Libraries
NuGet packagesCommonNext gen JIT (RyuJIT)SIMD
ComponentesRuntime Compiladores
Inovação das linguagensRoslyn
Libs .NET Core 5Libs .NET Framework 4.6
Pacotes NuGetComum
.NET 2015
Windows Forms
Universal Windows Apps
WPF ASP.NET (4.X) ASP.NET Core 1.0ASP.NET 5
Next gen JIT (RyuJIT)SIMD
ComponentesRuntime Compiladores
Languages innovation.NET Compiler Platform
.NET Core 5 Libraries
.NET Framework 4.6 Libraries
Pacotes NuGetCommon
.NET Framework 4.6 .NET Core 5
Next gen JIT (RyuJIT)SIMD
ComponentesRuntime Compiladores
Inovação das linguagensRoslyn
Libs .NET Core 5Libs .NET Framework 4.6
Pacotes NuGetComum
ASP.NET 5
ASP.NET 4.6
Open Source
Operating System
Runtime Loader
Runtime
Platform Libraries
Application Host
Web Server
Application Frameworks
Libraries
Application
Windows
IIS: WebEngine4.dllExe: OS
.NET CLR
.NET BCL & FCL
System.Web
IIS
FCL, GAC, NuGet
Loose, GAC, NuGet
MSBuild -> csc.exeCodeDOM -> csc.exe
Windows, OSX, Linux
DNX
.NET CLR.NET Core CLR
.NET BCL & FCL.NET on NuGet
DNX
IIS, HTTP.SYSKestrel
NuGet
NuGet
DNX (Roslyn)
Você tem opções…
ASP.NET 4.6
.NET Framework
ASP.NET Core 1.0ASP.NET 5
.NET Framework
ASP.NET Core 1.0ASP.NET 5
.NET Core;-)
Um tour pelo ASP.NET 5 ASP.NET Core 1.0
ASP.NET 5 ASP.NET Core 1.0
Escolha sua IDE preferida
Open Source deverdade Cross-PlatformOSS
Transição entre ambientessimplificada
Ciclo de dev rápidoTotalmente modular
Rápido
Principais aspectos System.Web.dll free .NET Native possível .NET Full ou .NET Core Compilação on the fly
(Roslyn) Otimização da CLR (DNX) Dev multiplataforma Deploy no IIS ou via Self-
host Linux e Mac: execução em
Mono
Injeção de dependência nativa (MVC 6)
Componentes entregues como middlewares
Pronto pra nuvem Código aberto e
disponível no GitHub Implementa o modelo
OWIN Projetado para containers
ASP.NET 5 ASP.NET Core 1.0 por dentro
DEMO 1Entendendo a estrutura
OWIN
Trata-se da especificação do modelo de execução do novo
ASP.NET. Ele determina todas as diretrizes do servidor web.
Podemos dizer que OWIN está para o servidor web como o
HTML está para o navegador.
OWIN host versus Host tradicional
Internet Information Server (IIS)
ASP.NET (Webforms, MVC, WebPages, SPA, etc.)
HostIIS, OwinHost, CustomHost
ASP.NET 5ASP.NET Core 1.0
COMPONENTS
OWIN (interface)Enviroment Dictionary
IDictionary<string, object>
Application DelegateFunc< IDictionary<string,
object>, Task>
Katana
Implementação do modelo OWIN feita pela Microsoft para rodar
aplicações ASP.NET.Outras implementações também encontram-se disponíveis:
Helios, Nowin, dentre outros.
Katana (vNext) - Arquitetura
Host Processa e gerencia o workflow e os processosIIS – Custom Host – OWIN Host
Server Abre uma porta TCP, escuta os requests e dispara no OWIN pipelineSystemWeb – HttpListener - WebListener
Middleware Componente que implementa OWIN (delegate) que operadentro do pipeline. SignalR, Web API.
Application A aplicação em si, que implementa os componentes (middlewares).
Katana (vNext) - Arquitetura
Nave
gado
r
Host
Server
Pipeline da aplicação
Middleware Middleware Middleware
MVC 6 ASP.NET no OSX e Linux Tag Helpers View Components Suporte para GruntJS,
NPM e Bower MVC e WebAPI com
controllers unificados
AngularJS ASP.NET Dependency
Injection Framework xUnit.net
DEMO 2Algo mais elaborado…
Runtime Performance
Footprint• Startup rápido (Roslyn!)• Redução considerável no
consumo de memória (>90%)
Modular• Use apenas o que precisar• StaticFiles? Socket? Framework?
Remova o que não precisa
Infraestrutura• OWIN• [MVC, EF] Performance!
github.com/aspnet/benchmarks
Nós queremos chegar aqui!
Cloud-ReadyFerramentas bem integradas com o
Microsoft Azure
Transição de on-premises para a nuvem pública suave
Ferramentas de diagnóstico
Suporte para Containers• Docker tools como extensão
para o Visual Studio• Publicação de containers docker
para Windows, Linux• Escreva uma vez, rode em
qualquer lugar
ASP.NET 5 ASP.NET 5 Core 1.0 @ Github
Roslyn + .NET 2015
Unleash .NET 2015 in your appsGiovanni Bassi
http://docs.asp.netlearn & contribute!
Install .NET Framework 4.6Visual Studio 2015Visual Studio CodeDNX / ASP.NET 5
Activate your Azure account
Watch Connect 2015Channel9Introduction to ASP.NET 5 MVA
Course
Stay Tuned www.asp.netASP.NET Community Standup
(live.asp.net)
Q & A
Session Evaluations Sign in to the Schedule Builder and select ‘My Evaluations’ to complete your Session Evaluations after each session.
http://aka.ms/cloud.saopaulo