SlideShare uma empresa Scribd logo
ASP.NET 5, MVC 6 e além
DEV202
Fabrício Lopes Sanchez
Mais de 12 anos de experiência com desenvolvimento de software de diferentes tipos e
tamanhos. Graduado em Ciência da Computação e mestre em Engenharia Elétrica aplicada a
computação. Professor de cursos superiores de tecnologia por 6 anos. Arquiteto de soluções
web. Foi especialista técnico de nuvem na Microsoft Brasil. Atualmente dirige a Conio
Soluções em Tecnologia.
ASP.NET 5, MVC 6 e além
E-mail: fabricio.sanchez@gmail.com
Twitter: @SanchezFabricio
Facebook: http://facebook.com/fabriciolopessanchez
LinkedIn: https://br.linkedin.com/in/fabriciosanchez
André Baltieri
Microsoft MVP em ASP.NET/IIS, trabalha com desenvolvimento de aplicações web desde 2003, com
experiência em projetos de médio e grande porte no Brasil, EUA, Inglaterra e Holanda.
Palestrante em grandes eventos como TDC e ASP.NET Conference, criador do ASP.NET CAST, trabalha
ativamente com comunidades técnicas desde 2007, e mantém o título de MVP pela Microsoft desde
2013.
Atualmente realiza treinamentos e consultorias sobre plataforma Web em geral. É proprietário da
Imobee, onde também atua na área de desenvolvimento web.
Apesar do grande vínculo com a Microsoft, também adota muitas tecnologias abertas como NodeJs,
AngularJs, MongoDB, Firebase entre outros.
ASP.NET 5, MVC 6 e além
E-mail: contato@andrebaltieri.net
Twitter: @andrebaltieri
http://andrebaltieri.net/
 A mudança chegou. Por que?
 Grandes novidades:
 Visão geral
 OWIN
 Katana (vNext)
 MVC 6
 Injeção de dependência
 Roslyn
 Por que apoiar Open Source?
 Um novo mundo
 ASP.NET em todo lugar!
 Demo (Windows)
 Demo (Mac)
 Demo (Linux)
 Conclusões
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 mudança chegou. Por que?
2014
 3.2 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
A mudança chegou. Por que?
Por conta disso...
- A web atual é leve e bela
- A web atual é padronizada (yes!)
- A web atual é livre de contexto
- A web atual é plugável
- A web atual é #cool
A mudança chegou. Por que?
Por que o ASP.NET precisou mudar de novo?
Webforms
Abstração pesada
Alto acoplamento
Dependência de ambiente
...
MVC, WebAPI e
SignalR
Primeira ruptura de modelo
Baixo acoplamento
Independência parcial de ambiente
Preocupação com arquitetura
Javascript e CSS não obstrusivos
...
ASP.NET 5 e MVC 6
Independencia de ambiente
Baixo acoplamento
ID nativa
MVC e Web API unificados
Execução on the fly
...
A mudança chegou. Por que?
#cool
Visão geral
Escreva aplicações web com VB.NET? / C# no
sistema operacional de sua preferência, usando o
framework MVC (com Web API integrado) sem
depender do IIS e do Visual Studio.
Visão geral – 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
Visão geral – ASP.NET 5 por dentro
Fonte: http://typecastexception.com/
Demo 1
Dissecando a estrutura do projeto
ASP.NET 5 com Visual Studio 2015
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.)
Host
IIS, OwinHost, CustomHost
ASP.NET 5
COMPONENTS
OWIN (interface)
Enviroment Dictionary
IDictionary<string, object>
Application Delegate
Func< IDictionary<string, object>, Task>
OWIN – Pipeline e Middleware
Application Delegate (Async)
Dictionary “Logging”
Logging Component
Dictionary “Auth”
Auth Component
Middleware
Middleware
Katana (vNext)
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 processos
IIS – Custom Host – OWIN Host
Server
Abre uma porta TCP, escuta os requests e dispara no OWIN pipeline
SystemWeb – HttpListener - WebListener
Middleware
Componente que implementa OWIN (delegate) que opera
dentro do pipeline. SignalR, Web API.
Application A aplicação em si, que implementa os componentes (middlewares).
Katana (vNext) - ArquiteturaNavegador
Host
Server
Pipeline da aplicação
Middleware Middleware Middleware
Demo 2
Hello Word com Visual Studio Code +
Katana
ASP.NET MVC 6
 ASP.NET no OSX e Linux
 Foi bom enquanto durou
webforms!
 No More Visual Basic
 Tag Helpers
 View Components
 Suporte para GruntJS, NPM e
Bower
 MVC e WebAPI com
controllers unificados
 AngularJS
 ASP.NET Dependency
Injection Framework
 xUnit.net
ASP.NET MVC 6
Demo 3
Uma aplicação MVC 6 + ID nativa +
Ubuntu
Demo 4
Uma aplicação ASP.NET MVC 6 + EF7
com InMemory Storage + MacOS
Demo 5
Publicando aplicações ASP.NET 5 com
Docker no MacOS
Conclusões
ASP.NET se modernizou. Está modular,
multiplataforma, performático, desacoplado e mais
poderoso. Enjoy!
Q&A
Visite o espaço Ask the Experts, próximo dos expositores
Sessões relacionadas
 Roslyn (Carlos dos Santos e Giovanni Bassi)
Continue sua capacitação
Microsoft Virtual
Academy
http://aka.ms/ch9 http://aka.ms/mva
Anúncio

Mais conteúdo relacionado

Mais procurados (20)

Futuro do ASP.NET vNext - MVP ShowCast
Futuro do ASP.NET vNext - MVP ShowCast Futuro do ASP.NET vNext - MVP ShowCast
Futuro do ASP.NET vNext - MVP ShowCast
Eduardo Pires
 
Comunicação em Tempo Real com ASP.Net SignalR
Comunicação em Tempo Real com ASP.Net SignalRComunicação em Tempo Real com ASP.Net SignalR
Comunicação em Tempo Real com ASP.Net SignalR
Eduardo Pires
 
ASP .NET Core MVC
ASP .NET Core MVCASP .NET Core MVC
ASP .NET Core MVC
Vinicius Mussak
 
Sistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebSistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias Web
Elenilson Vieira
 
Campus Party 2014 - Desenvolvimento Web com ASP.NET
Campus Party 2014 - Desenvolvimento Web com ASP.NETCampus Party 2014 - Desenvolvimento Web com ASP.NET
Campus Party 2014 - Desenvolvimento Web com ASP.NET
Eduardo Pires
 
ASP.NET MVC 5.x
ASP.NET MVC 5.xASP.NET MVC 5.x
ASP.NET MVC 5.x
Waldyr Felix
 
Apostila MVC
Apostila MVCApostila MVC
Apostila MVC
André Arimura, MBA
 
Middlewares ASP.NET
Middlewares ASP.NETMiddlewares ASP.NET
Middlewares ASP.NET
Bruno Belarmino
 
Desvendando ASP.NET MVC
Desvendando ASP.NET MVCDesvendando ASP.NET MVC
Desvendando ASP.NET MVC
Vinicius Quaiato
 
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
 
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
 
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
Rodolfo Fadino Junior
 
Performance do ASP.NET Core, um comparativo com Node.js
Performance do ASP.NET Core, um comparativo com Node.jsPerformance do ASP.NET Core, um comparativo com Node.js
Performance do ASP.NET Core, um comparativo com Node.js
Waldyr Felix
 
.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
 
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
Glauco Vinicius Argentino de Oliveira
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São Carlos
Rodolfo Fadino Junior
 
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
MVP ShowCast
 
Introdução ao ASP .NET Web API
Introdução ao ASP .NET Web APIIntrodução ao ASP .NET Web API
Introdução ao ASP .NET Web API
Vinicius Mussak
 
.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?
akamud
 
JBoss Fuse Service Works - O Fuse além da integração - PT-BR
JBoss Fuse Service Works - O Fuse além da integração - PT-BRJBoss Fuse Service Works - O Fuse além da integração - PT-BR
JBoss Fuse Service Works - O Fuse além da integração - PT-BR
Elvis Rocha
 
Futuro do ASP.NET vNext - MVP ShowCast
Futuro do ASP.NET vNext - MVP ShowCast Futuro do ASP.NET vNext - MVP ShowCast
Futuro do ASP.NET vNext - MVP ShowCast
Eduardo Pires
 
Comunicação em Tempo Real com ASP.Net SignalR
Comunicação em Tempo Real com ASP.Net SignalRComunicação em Tempo Real com ASP.Net SignalR
Comunicação em Tempo Real com ASP.Net SignalR
Eduardo Pires
 
Sistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebSistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias Web
Elenilson Vieira
 
Campus Party 2014 - Desenvolvimento Web com ASP.NET
Campus Party 2014 - Desenvolvimento Web com ASP.NETCampus Party 2014 - Desenvolvimento Web com ASP.NET
Campus Party 2014 - Desenvolvimento Web com ASP.NET
Eduardo Pires
 
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
 
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
 
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
Rodolfo Fadino Junior
 
Performance do ASP.NET Core, um comparativo com Node.js
Performance do ASP.NET Core, um comparativo com Node.jsPerformance do ASP.NET Core, um comparativo com Node.js
Performance do ASP.NET Core, um comparativo com Node.js
Waldyr Felix
 
.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
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São Carlos
Rodolfo Fadino Junior
 
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
MVP ShowCast
 
Introdução ao ASP .NET Web API
Introdução ao ASP .NET Web APIIntrodução ao ASP .NET Web API
Introdução ao ASP .NET Web API
Vinicius Mussak
 
.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?
akamud
 
JBoss Fuse Service Works - O Fuse além da integração - PT-BR
JBoss Fuse Service Works - O Fuse além da integração - PT-BRJBoss Fuse Service Works - O Fuse além da integração - PT-BR
JBoss Fuse Service Works - O Fuse além da integração - PT-BR
Elvis Rocha
 

Semelhante a ASP.NET 5, MVC 6 e além (20)

ASP.NET MVC para desenvolvedores Web Forms (TechEd)
ASP.NET MVC para desenvolvedores Web Forms (TechEd)ASP.NET MVC para desenvolvedores Web Forms (TechEd)
ASP.NET MVC para desenvolvedores Web Forms (TechEd)
Giovanni Bassi
 
Desenvolviemento web com ASP.Net e MVC
Desenvolviemento web com ASP.Net e MVCDesenvolviemento web com ASP.Net e MVC
Desenvolviemento web com ASP.Net e MVC
Cleziel Franzoni da Costa
 
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Rodrigo Branas
 
01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1
César Augusto Pessôa
 
Campus Party - Desenvolvendo aplicações .Net com software gratuito
Campus Party  - Desenvolvendo aplicações .Net com software gratuitoCampus Party  - Desenvolvendo aplicações .Net com software gratuito
Campus Party - Desenvolvendo aplicações .Net com software gratuito
Alexandre Tarifa
 
A Nova Web
A Nova WebA Nova Web
A Nova Web
Fabrício Lopes Sanchez
 
O Futuro do ASP.NET (vNext)
O Futuro do ASP.NET (vNext)O Futuro do ASP.NET (vNext)
O Futuro do ASP.NET (vNext)
Fabrício Lopes Sanchez
 
.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
akamud
 
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
Fabrício Lopes Sanchez
 
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
Giovanni Bassi
 
Introdução ao Aspnet Core
Introdução ao Aspnet CoreIntrodução ao Aspnet Core
Introdução ao Aspnet Core
Yan Justino
 
Web Dev Camp
Web Dev CampWeb Dev Camp
Web Dev Camp
Fabrício Lopes Sanchez
 
Asp.Net Core - Meetup BH
Asp.Net Core - Meetup BHAsp.Net Core - Meetup BH
Asp.Net Core - Meetup BH
André Paulovich
 
Aula 1 ASP.NET Core com arquitetura MVC
Aula 1 ASP.NET  Core com arquitetura MVCAula 1 ASP.NET  Core com arquitetura MVC
Aula 1 ASP.NET Core com arquitetura MVC
MrioSitoe2
 
Asp.net core
Asp.net coreAsp.net core
Asp.net core
Tanato Cartaxo
 
Docker para devs .NET
Docker para devs .NETDocker para devs .NET
Docker para devs .NET
Fabrício Lopes Sanchez
 
Netbeans Slides
Netbeans SlidesNetbeans Slides
Netbeans Slides
Renato Puccini
 
CakePHP - Aprendendo a fazer o primeiro bolo
CakePHP - Aprendendo a fazer o primeiro boloCakePHP - Aprendendo a fazer o primeiro bolo
CakePHP - Aprendendo a fazer o primeiro bolo
elliando dias
 
T@rget trust asp.net avançado
T@rget trust   asp.net avançadoT@rget trust   asp.net avançado
T@rget trust asp.net avançado
Targettrust
 
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
tdc-globalcode
 
ASP.NET MVC para desenvolvedores Web Forms (TechEd)
ASP.NET MVC para desenvolvedores Web Forms (TechEd)ASP.NET MVC para desenvolvedores Web Forms (TechEd)
ASP.NET MVC para desenvolvedores Web Forms (TechEd)
Giovanni Bassi
 
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Rodrigo Branas
 
01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1
César Augusto Pessôa
 
Campus Party - Desenvolvendo aplicações .Net com software gratuito
Campus Party  - Desenvolvendo aplicações .Net com software gratuitoCampus Party  - Desenvolvendo aplicações .Net com software gratuito
Campus Party - Desenvolvendo aplicações .Net com software gratuito
Alexandre Tarifa
 
.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
akamud
 
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
Fabrício Lopes Sanchez
 
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
Giovanni Bassi
 
Introdução ao Aspnet Core
Introdução ao Aspnet CoreIntrodução ao Aspnet Core
Introdução ao Aspnet Core
Yan Justino
 
Aula 1 ASP.NET Core com arquitetura MVC
Aula 1 ASP.NET  Core com arquitetura MVCAula 1 ASP.NET  Core com arquitetura MVC
Aula 1 ASP.NET Core com arquitetura MVC
MrioSitoe2
 
CakePHP - Aprendendo a fazer o primeiro bolo
CakePHP - Aprendendo a fazer o primeiro boloCakePHP - Aprendendo a fazer o primeiro bolo
CakePHP - Aprendendo a fazer o primeiro bolo
elliando dias
 
T@rget trust asp.net avançado
T@rget trust   asp.net avançadoT@rget trust   asp.net avançado
T@rget trust asp.net avançado
Targettrust
 
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
tdc-globalcode
 
Anúncio

Mais de Fabrício Lopes Sanchez (17)

Azure Lab Services
Azure Lab ServicesAzure Lab Services
Azure Lab Services
Fabrício Lopes Sanchez
 
Projetando aplicações para a nuvem
Projetando aplicações para a nuvemProjetando aplicações para a nuvem
Projetando aplicações para a nuvem
Fabrício Lopes Sanchez
 
Microserviços na vida real
Microserviços na vida realMicroserviços na vida real
Microserviços na vida real
Fabrício Lopes Sanchez
 
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o AzureQCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
Fabrício Lopes Sanchez
 
Soluções de IoT no Microsoft Azure
Soluções de IoT no Microsoft AzureSoluções de IoT no Microsoft Azure
Soluções de IoT no Microsoft Azure
Fabrício Lopes Sanchez
 
Por que Cloud Services é o melhor dos mundos?
Por que Cloud Services é o melhor dos mundos? Por que Cloud Services é o melhor dos mundos?
Por que Cloud Services é o melhor dos mundos?
Fabrício Lopes Sanchez
 
Windows Azure: computação em nuvem no melhor estilo self-service
Windows Azure: computação em nuvem no melhor estilo self-serviceWindows Azure: computação em nuvem no melhor estilo self-service
Windows Azure: computação em nuvem no melhor estilo self-service
Fabrício Lopes Sanchez
 
SSI 2012 - Computação em Nuvem
SSI 2012 - Computação em NuvemSSI 2012 - Computação em Nuvem
SSI 2012 - Computação em Nuvem
Fabrício Lopes Sanchez
 
Desenvolvimento de aplicações para Windows Azure
Desenvolvimento de aplicações para Windows AzureDesenvolvimento de aplicações para Windows Azure
Desenvolvimento de aplicações para Windows Azure
Fabrício Lopes Sanchez
 
Estrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisEstrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentais
Fabrício Lopes Sanchez
 
Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dados
Fabrício Lopes Sanchez
 
Interop Day 2011 - Construindo aplicações web com WebMatrix
Interop Day 2011 - Construindo aplicações web com WebMatrixInterop Day 2011 - Construindo aplicações web com WebMatrix
Interop Day 2011 - Construindo aplicações web com WebMatrix
Fabrício Lopes Sanchez
 
QS24 - REST e SOAP com Razor e WebMatrix
QS24 - REST e SOAP com Razor e WebMatrixQS24 - REST e SOAP com Razor e WebMatrix
QS24 - REST e SOAP com Razor e WebMatrix
Fabrício Lopes Sanchez
 
Conhecendo o NuGet e utilizando com ASP.NET MVC
Conhecendo o NuGet e utilizando com ASP.NET MVCConhecendo o NuGet e utilizando com ASP.NET MVC
Conhecendo o NuGet e utilizando com ASP.NET MVC
Fabrício Lopes Sanchez
 
Web em grande estilo com CSS 3
Web em grande estilo com CSS 3Web em grande estilo com CSS 3
Web em grande estilo com CSS 3
Fabrício Lopes Sanchez
 
Criando aplicações web com tecnologias Microsoft
Criando aplicações web com tecnologias MicrosoftCriando aplicações web com tecnologias Microsoft
Criando aplicações web com tecnologias Microsoft
Fabrício Lopes Sanchez
 
Construindo aplicações web com WebMatrix e Razor
Construindo aplicações web com WebMatrix e RazorConstruindo aplicações web com WebMatrix e Razor
Construindo aplicações web com WebMatrix e Razor
Fabrício Lopes Sanchez
 
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o AzureQCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
Fabrício Lopes Sanchez
 
Por que Cloud Services é o melhor dos mundos?
Por que Cloud Services é o melhor dos mundos? Por que Cloud Services é o melhor dos mundos?
Por que Cloud Services é o melhor dos mundos?
Fabrício Lopes Sanchez
 
Windows Azure: computação em nuvem no melhor estilo self-service
Windows Azure: computação em nuvem no melhor estilo self-serviceWindows Azure: computação em nuvem no melhor estilo self-service
Windows Azure: computação em nuvem no melhor estilo self-service
Fabrício Lopes Sanchez
 
Desenvolvimento de aplicações para Windows Azure
Desenvolvimento de aplicações para Windows AzureDesenvolvimento de aplicações para Windows Azure
Desenvolvimento de aplicações para Windows Azure
Fabrício Lopes Sanchez
 
Estrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisEstrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentais
Fabrício Lopes Sanchez
 
Interop Day 2011 - Construindo aplicações web com WebMatrix
Interop Day 2011 - Construindo aplicações web com WebMatrixInterop Day 2011 - Construindo aplicações web com WebMatrix
Interop Day 2011 - Construindo aplicações web com WebMatrix
Fabrício Lopes Sanchez
 
QS24 - REST e SOAP com Razor e WebMatrix
QS24 - REST e SOAP com Razor e WebMatrixQS24 - REST e SOAP com Razor e WebMatrix
QS24 - REST e SOAP com Razor e WebMatrix
Fabrício Lopes Sanchez
 
Conhecendo o NuGet e utilizando com ASP.NET MVC
Conhecendo o NuGet e utilizando com ASP.NET MVCConhecendo o NuGet e utilizando com ASP.NET MVC
Conhecendo o NuGet e utilizando com ASP.NET MVC
Fabrício Lopes Sanchez
 
Criando aplicações web com tecnologias Microsoft
Criando aplicações web com tecnologias MicrosoftCriando aplicações web com tecnologias Microsoft
Criando aplicações web com tecnologias Microsoft
Fabrício Lopes Sanchez
 
Construindo aplicações web com WebMatrix e Razor
Construindo aplicações web com WebMatrix e RazorConstruindo aplicações web com WebMatrix e Razor
Construindo aplicações web com WebMatrix e Razor
Fabrício Lopes Sanchez
 
Anúncio

Último (15)

Venha Aprender Sobre MuleSoft - Dia 10.pptx
Venha Aprender Sobre MuleSoft - Dia 10.pptxVenha Aprender Sobre MuleSoft - Dia 10.pptx
Venha Aprender Sobre MuleSoft - Dia 10.pptx
Renato de Oliveira
 
03-poo1-uml.pdf Apresentacao UML POOL UML
03-poo1-uml.pdf Apresentacao UML POOL UML03-poo1-uml.pdf Apresentacao UML POOL UML
03-poo1-uml.pdf Apresentacao UML POOL UML
ssuser426fcf
 
Apres-Hidraulica e seus componentes: válvulas, etc...
Apres-Hidraulica e seus componentes: válvulas, etc...Apres-Hidraulica e seus componentes: válvulas, etc...
Apres-Hidraulica e seus componentes: válvulas, etc...
portodesantacruz80
 
Venha Aprender Sobre MuleSoft - Dia 11.pptx
Venha Aprender Sobre MuleSoft - Dia 11.pptxVenha Aprender Sobre MuleSoft - Dia 11.pptx
Venha Aprender Sobre MuleSoft - Dia 11.pptx
Renato de Oliveira
 
A-Evolucao-das-Fontes-no-Windows-Uma-Jornada-Tipografica.pdf
A-Evolucao-das-Fontes-no-Windows-Uma-Jornada-Tipografica.pdfA-Evolucao-das-Fontes-no-Windows-Uma-Jornada-Tipografica.pdf
A-Evolucao-das-Fontes-no-Windows-Uma-Jornada-Tipografica.pdf
MarioAthayde
 
Venha Aprender Sobre MuleSoft - Dia 06.pptx
Venha Aprender Sobre MuleSoft - Dia 06.pptxVenha Aprender Sobre MuleSoft - Dia 06.pptx
Venha Aprender Sobre MuleSoft - Dia 06.pptx
Renato de Oliveira
 
CNEN_3012024.pdf_.pdf normas de proteção radiológica
CNEN_3012024.pdf_.pdf  normas de proteção radiológicaCNEN_3012024.pdf_.pdf  normas de proteção radiológica
CNEN_3012024.pdf_.pdf normas de proteção radiológica
myespaco
 
AC M1 1 Sistemas Digitais - Sistemas de Numeracao e Codigos.pptx
AC M1 1 Sistemas Digitais - Sistemas de Numeracao e Codigos.pptxAC M1 1 Sistemas Digitais - Sistemas de Numeracao e Codigos.pptx
AC M1 1 Sistemas Digitais - Sistemas de Numeracao e Codigos.pptx
Susana Cascais
 
Tabelas e Planilhas com apresentação em Dashboard
Tabelas e Planilhas com apresentação em DashboardTabelas e Planilhas com apresentação em Dashboard
Tabelas e Planilhas com apresentação em Dashboard
Hugo Dourado Graçano
 
AutoriaDigital.pdf ensino médio e fundamental
AutoriaDigital.pdf ensino médio e fundamentalAutoriaDigital.pdf ensino médio e fundamental
AutoriaDigital.pdf ensino médio e fundamental
DayaneSoares55
 
Introdução a Informática basica conceitos basicos .pptx
Introdução  a Informática basica conceitos basicos .pptxIntrodução  a Informática basica conceitos basicos .pptx
Introdução a Informática basica conceitos basicos .pptx
OrlandoCanchipande1
 
Venha Aprender Sobre MuleSoft - Dia 07.pptx
Venha Aprender Sobre MuleSoft - Dia 07.pptxVenha Aprender Sobre MuleSoft - Dia 07.pptx
Venha Aprender Sobre MuleSoft - Dia 07.pptx
Renato de Oliveira
 
Venha Apender Sobre MuleSoft - Dia 09.pptx
Venha Apender Sobre MuleSoft - Dia 09.pptxVenha Apender Sobre MuleSoft - Dia 09.pptx
Venha Apender Sobre MuleSoft - Dia 09.pptx
Renato de Oliveira
 
Slide - Linguagem de Definição de Dados - TLBADII.pdf
Slide - Linguagem de Definição de Dados - TLBADII.pdfSlide - Linguagem de Definição de Dados - TLBADII.pdf
Slide - Linguagem de Definição de Dados - TLBADII.pdf
FtGames1
 
Aula de Python - Modularização e Funções.pptx
Aula de Python - Modularização e Funções.pptxAula de Python - Modularização e Funções.pptx
Aula de Python - Modularização e Funções.pptx
ArturGuia1
 
Venha Aprender Sobre MuleSoft - Dia 10.pptx
Venha Aprender Sobre MuleSoft - Dia 10.pptxVenha Aprender Sobre MuleSoft - Dia 10.pptx
Venha Aprender Sobre MuleSoft - Dia 10.pptx
Renato de Oliveira
 
03-poo1-uml.pdf Apresentacao UML POOL UML
03-poo1-uml.pdf Apresentacao UML POOL UML03-poo1-uml.pdf Apresentacao UML POOL UML
03-poo1-uml.pdf Apresentacao UML POOL UML
ssuser426fcf
 
Apres-Hidraulica e seus componentes: válvulas, etc...
Apres-Hidraulica e seus componentes: válvulas, etc...Apres-Hidraulica e seus componentes: válvulas, etc...
Apres-Hidraulica e seus componentes: válvulas, etc...
portodesantacruz80
 
Venha Aprender Sobre MuleSoft - Dia 11.pptx
Venha Aprender Sobre MuleSoft - Dia 11.pptxVenha Aprender Sobre MuleSoft - Dia 11.pptx
Venha Aprender Sobre MuleSoft - Dia 11.pptx
Renato de Oliveira
 
A-Evolucao-das-Fontes-no-Windows-Uma-Jornada-Tipografica.pdf
A-Evolucao-das-Fontes-no-Windows-Uma-Jornada-Tipografica.pdfA-Evolucao-das-Fontes-no-Windows-Uma-Jornada-Tipografica.pdf
A-Evolucao-das-Fontes-no-Windows-Uma-Jornada-Tipografica.pdf
MarioAthayde
 
Venha Aprender Sobre MuleSoft - Dia 06.pptx
Venha Aprender Sobre MuleSoft - Dia 06.pptxVenha Aprender Sobre MuleSoft - Dia 06.pptx
Venha Aprender Sobre MuleSoft - Dia 06.pptx
Renato de Oliveira
 
CNEN_3012024.pdf_.pdf normas de proteção radiológica
CNEN_3012024.pdf_.pdf  normas de proteção radiológicaCNEN_3012024.pdf_.pdf  normas de proteção radiológica
CNEN_3012024.pdf_.pdf normas de proteção radiológica
myespaco
 
AC M1 1 Sistemas Digitais - Sistemas de Numeracao e Codigos.pptx
AC M1 1 Sistemas Digitais - Sistemas de Numeracao e Codigos.pptxAC M1 1 Sistemas Digitais - Sistemas de Numeracao e Codigos.pptx
AC M1 1 Sistemas Digitais - Sistemas de Numeracao e Codigos.pptx
Susana Cascais
 
Tabelas e Planilhas com apresentação em Dashboard
Tabelas e Planilhas com apresentação em DashboardTabelas e Planilhas com apresentação em Dashboard
Tabelas e Planilhas com apresentação em Dashboard
Hugo Dourado Graçano
 
AutoriaDigital.pdf ensino médio e fundamental
AutoriaDigital.pdf ensino médio e fundamentalAutoriaDigital.pdf ensino médio e fundamental
AutoriaDigital.pdf ensino médio e fundamental
DayaneSoares55
 
Introdução a Informática basica conceitos basicos .pptx
Introdução  a Informática basica conceitos basicos .pptxIntrodução  a Informática basica conceitos basicos .pptx
Introdução a Informática basica conceitos basicos .pptx
OrlandoCanchipande1
 
Venha Aprender Sobre MuleSoft - Dia 07.pptx
Venha Aprender Sobre MuleSoft - Dia 07.pptxVenha Aprender Sobre MuleSoft - Dia 07.pptx
Venha Aprender Sobre MuleSoft - Dia 07.pptx
Renato de Oliveira
 
Venha Apender Sobre MuleSoft - Dia 09.pptx
Venha Apender Sobre MuleSoft - Dia 09.pptxVenha Apender Sobre MuleSoft - Dia 09.pptx
Venha Apender Sobre MuleSoft - Dia 09.pptx
Renato de Oliveira
 
Slide - Linguagem de Definição de Dados - TLBADII.pdf
Slide - Linguagem de Definição de Dados - TLBADII.pdfSlide - Linguagem de Definição de Dados - TLBADII.pdf
Slide - Linguagem de Definição de Dados - TLBADII.pdf
FtGames1
 
Aula de Python - Modularização e Funções.pptx
Aula de Python - Modularização e Funções.pptxAula de Python - Modularização e Funções.pptx
Aula de Python - Modularização e Funções.pptx
ArturGuia1
 

ASP.NET 5, MVC 6 e além

  • 1. ASP.NET 5, MVC 6 e além DEV202
  • 2. Fabrício Lopes Sanchez Mais de 12 anos de experiência com desenvolvimento de software de diferentes tipos e tamanhos. Graduado em Ciência da Computação e mestre em Engenharia Elétrica aplicada a computação. Professor de cursos superiores de tecnologia por 6 anos. Arquiteto de soluções web. Foi especialista técnico de nuvem na Microsoft Brasil. Atualmente dirige a Conio Soluções em Tecnologia. ASP.NET 5, MVC 6 e além E-mail: [email protected] Twitter: @SanchezFabricio Facebook: http://facebook.com/fabriciolopessanchez LinkedIn: https://br.linkedin.com/in/fabriciosanchez
  • 3. André Baltieri Microsoft MVP em ASP.NET/IIS, trabalha com desenvolvimento de aplicações web desde 2003, com experiência em projetos de médio e grande porte no Brasil, EUA, Inglaterra e Holanda. Palestrante em grandes eventos como TDC e ASP.NET Conference, criador do ASP.NET CAST, trabalha ativamente com comunidades técnicas desde 2007, e mantém o título de MVP pela Microsoft desde 2013. Atualmente realiza treinamentos e consultorias sobre plataforma Web em geral. É proprietário da Imobee, onde também atua na área de desenvolvimento web. Apesar do grande vínculo com a Microsoft, também adota muitas tecnologias abertas como NodeJs, AngularJs, MongoDB, Firebase entre outros. ASP.NET 5, MVC 6 e além E-mail: [email protected] Twitter: @andrebaltieri http://andrebaltieri.net/
  • 4.  A mudança chegou. Por que?  Grandes novidades:  Visão geral  OWIN  Katana (vNext)  MVC 6  Injeção de dependência  Roslyn  Por que apoiar Open Source?  Um novo mundo  ASP.NET em todo lugar!  Demo (Windows)  Demo (Mac)  Demo (Linux)  Conclusões
  • 5. 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
  • 6. A mudança chegou. Por que? 2014  3.2 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
  • 7. A mudança chegou. Por que? Por conta disso... - A web atual é leve e bela - A web atual é padronizada (yes!) - A web atual é livre de contexto - A web atual é plugável - A web atual é #cool
  • 8. A mudança chegou. Por que? Por que o ASP.NET precisou mudar de novo? Webforms Abstração pesada Alto acoplamento Dependência de ambiente ... MVC, WebAPI e SignalR Primeira ruptura de modelo Baixo acoplamento Independência parcial de ambiente Preocupação com arquitetura Javascript e CSS não obstrusivos ... ASP.NET 5 e MVC 6 Independencia de ambiente Baixo acoplamento ID nativa MVC e Web API unificados Execução on the fly ...
  • 9. A mudança chegou. Por que? #cool
  • 10. Visão geral Escreva aplicações web com VB.NET? / C# no sistema operacional de sua preferência, usando o framework MVC (com Web API integrado) sem depender do IIS e do Visual Studio.
  • 11. Visão geral – 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
  • 12. Visão geral – ASP.NET 5 por dentro Fonte: http://typecastexception.com/
  • 13. Demo 1 Dissecando a estrutura do projeto ASP.NET 5 com Visual Studio 2015
  • 14. 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.
  • 15. OWIN host versus Host tradicional Internet Information Server (IIS) ASP.NET (Webforms, MVC, WebPages, SPA, etc.) Host IIS, OwinHost, CustomHost ASP.NET 5 COMPONENTS OWIN (interface) Enviroment Dictionary IDictionary<string, object> Application Delegate Func< IDictionary<string, object>, Task>
  • 16. OWIN – Pipeline e Middleware Application Delegate (Async) Dictionary “Logging” Logging Component Dictionary “Auth” Auth Component Middleware Middleware
  • 17. Katana (vNext) 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.
  • 18. Katana (vNext) - Arquitetura Host Processa e gerencia o workflow e os processos IIS – Custom Host – OWIN Host Server Abre uma porta TCP, escuta os requests e dispara no OWIN pipeline SystemWeb – HttpListener - WebListener Middleware Componente que implementa OWIN (delegate) que opera dentro do pipeline. SignalR, Web API. Application A aplicação em si, que implementa os componentes (middlewares).
  • 19. Katana (vNext) - ArquiteturaNavegador Host Server Pipeline da aplicação Middleware Middleware Middleware
  • 20. Demo 2 Hello Word com Visual Studio Code + Katana
  • 21. ASP.NET MVC 6  ASP.NET no OSX e Linux  Foi bom enquanto durou webforms!  No More Visual Basic  Tag Helpers  View Components  Suporte para GruntJS, NPM e Bower  MVC e WebAPI com controllers unificados  AngularJS  ASP.NET Dependency Injection Framework  xUnit.net
  • 23. Demo 3 Uma aplicação MVC 6 + ID nativa + Ubuntu
  • 24. Demo 4 Uma aplicação ASP.NET MVC 6 + EF7 com InMemory Storage + MacOS
  • 25. Demo 5 Publicando aplicações ASP.NET 5 com Docker no MacOS
  • 26. Conclusões ASP.NET se modernizou. Está modular, multiplataforma, performático, desacoplado e mais poderoso. Enjoy!
  • 27. Q&A Visite o espaço Ask the Experts, próximo dos expositores
  • 28. Sessões relacionadas  Roslyn (Carlos dos Santos e Giovanni Bassi)
  • 29. Continue sua capacitação Microsoft Virtual Academy http://aka.ms/ch9 http://aka.ms/mva

Notas do Editor

  • #6: 1. Última década: saimos de 600 milhões de usuários para 3.2 bilhões 2. Tinhamos 9.1% da população mundial conectada, hoje temos 40% 3. Em 2002 o tempo médio de uso da internet era de 46 minutos no dia, hoje é de 4 horas 4. Tinhamos cerca de 3 milhões de sites, hoje temos 555 milhões 5. Tinhamos 2 browsers principais. Hoje temos pelo menos 5 diferentes 6. Page load médio em 2002: 16 segundos. Hoje 6 segundos
  • #7: 1. Última década: saimos de 600 milhões de usuários para 3.2 bilhões 2. Tinhamos 9.1% da população mundial conectada, hoje temos 40% 3. Em 2002 o tempo médio de uso da internet era de 46 minutos no dia, hoje é de 4 horas 4. Tinhamos cerca de 3 milhões de sites, hoje temos 555 milhões 5. Tinhamos 2 browsers principais. Hoje temos pelo menos 5 diferentes 6. Page load médio em 2002: 16 segundos. Hoje 6 segundos
  • #8: 1. Última década: saimos de 600 milhões de usuários para 3.2 bilhões 2. Tinhamos 9.1% da população mundial conectada, hoje temos 40% 3. Em 2002 o tempo médio de uso da internet era de 46 minutos no dia, hoje é de 4 horas 4. Tinhamos cerca de 3 milhões de sites, hoje temos 555 milhões 5. Tinhamos 2 browsers principais. Hoje temos pelo menos 5 diferentes 6. Page load médio em 2002: 16 segundos. Hoje 6 segundos