SlideShare uma empresa Scribd logo
Globalcode – Open4education
.NET.Core e ASP.NET Core:
Presente e Futuro
Renato Groffe
Microsoft MVP, MTAC
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
Microsoft Most Valuable Professional (MVP)
Multi-Plataform Technical Audience Contributor
(MTAC)
Mais de 15 anos de experiência na área de
Tecnologia
Autor Técnico e Palestrante
Um dos organizadores do Canal .NET e do
.NET SP
Renato Groffe
https://medium.com/@renato.groffe/
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
Contatos
https://medium.com/@renato.groffe/
/renatogroffe /in/renatogroffe
/canaldotnet
/renatogroffe/renatogroff
/canaldotnet
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
Agenda
.NET Core e ASP.NET Core: uma visão geral
.NET Core 2.1 e ASP.NET Core 2.1: visão geral das novidades
Um pouco sobre o .NET Core 2.2 e o ASP.NET Core 2.2
O que esperar do .NET Core 3.0
Alguns exemplos práticos
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
.NET Core e ASP.NET Core – Primórdios
Chamados inicialmente de ASP.NET vNext/.NET vNext
e depois ASP.NET 5/.NET 5
Primeiros releases em 2014
Rebatizado como .NET Core 1.0 e ASP.NET Core 1.0
em Janeiro/2016
Um novo framework, completamente reescrito
Open source
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
Multiplataforma: Windows, Linux e
Mac
Suporte ao .NET Standard
Nova arquitetura (unificada)
Suporte a containers Docker
Atualmente na versão 2.1
(Maio/2018); versão 2.2 em Preview
.NET Core e ASP.NET Core – Visão Geral
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
.NET Core 2.1 e ASP.NET Core 2.1
Lançamento oficial no final de Maio/2018,
juntamente com o Entity Framework Core 2.1
Suporte do Visual Studio 2017 Update 15.7.x
em diante, Visual Studio Code e Visual Studio
for Mac
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
Microsoft.AspNetCore.App
Novo metapackage default
Recomendável o seu uso ao invés de
Microsoft.AspNetCore.All
Reduz o número de dependências de terceiros
em relação ao metapackage anterior
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
Compatibility Version
Possibilidade de manter os comportamentos de
versões anteriores, por mais que se empregue
um release mais atual
Acionado no método ConfigureServices da
classe Startup
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
Compatibility Version
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
Suporte a HTTPS
Habilitado por default com o ASP.NET Core 2.1
Uso de um certificado de desenvolvimento
Redirecionamento automático de HTTP para
HTTPS
Uso do protocolo HSTS (HTTP Strict Transport
Security), que determina o acesso a uma
aplicação em produção somente via HTTPS
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
Suporte a HTTPS
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
Suporte a GDPR
EU General Data Protection Regulation
(GDPR)
Regulamentação da União Europeia sobre
proteção de dados e privacidade de seus
cidadãos
Templates de projetos MVC e Razor
Pages já contemplam ajustes
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
Suporte a GDPR
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
Suporte a GDPR
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
Docker + ASP.NET Core 2.1
Geração de imagens menores
Suporte a Alpine Linux
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
Docker + ASP.NET Core 2.1
Antes com o ASP.NET Core 2.0:
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
Docker + ASP.NET Core 2.1
ASP.NET Core 2.1:
ASP.NET Core 2.1 com Alpine:
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
IHttpClientFactory
Configuração de HttpClients de
forma centralizada
Acesso aos clients via injeção de
dependências
Named e Typed clientes
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
IHttpClientFactory - Exemplo
GitHub:
github.com/renatogroffe/ASPNETCore2.1_IHttpClientFactory
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
O atributo ApiController
Atributo associado a um Controller
APIs com um código mais limpo
Geração de erro automático do tipo 400 ao
encontrar problemas de validação
Capacidade de inferir tipos complexos sem o uso
de atributos como [FromBody]
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
Antes de ApiController
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
Com ApiController
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
ApiController - Exemplo
GitHub:
github.com/renatogroffe/ASPNETCore2.1_ApiController
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
O tipo ActionResult<T>
Simplifica a codificação de
instruções de retorno em APIs
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
Antes de ActionResult<T>
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
Com ActionResult<T>
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
ActionResult<T> - Exemplo
GitHub:
github.com/renatogroffe/MongoDB-DotNetCore2.1
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
Razor Class Libraries
Elementos de UI disponibilizados como biblioteca a ser
consumida por outros projetos
Capacidade de encapsular Razor Pages, Views e
Controllers
Possibilidade de publicação como um pacote do NuGet
Conteúdos de arquivos .cshtml podem ser
customizados no projetos que consomem uma
biblioteca
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
Razor Class Libraries
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
Razor Class Libraries - Exemplo
GitHub:
github.com/renatogroffe/ASPNETCore2.1_RazorClassLibrary
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
Compressão com Brotli
Novo padrão de compactação
Representa uma evolução do padrão GZip
Maior compressão na resposta gerada por
aplicações Web
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
Compressão com Brotli - Exemplo
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
Compressão com Brotli - Exemplo
GitHub:
github.com/renatogroffe/ASPNETCore2.1_Compressao-RemocaoNulls
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
Outras novidades
Identity UI library & scaffolding
ASP.NET Core Identity fornecido como uma Razor Class Library
Kestrel com transporte default baseado em managed
sockets
ASP.NET Core Generic Host → infraestrutura
desacoplada do pipeline HTTP
Templates SPA
Atualizações nos templates para Angular, React e React + Redux
Suporte a Angular CLI e create-react-app
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
Outras novidades
Maior compressão com o suporte ao algoritmo Brotli
Infraestrutura para testes de integração/funcionais com
um servidor de testes em memória
ASP.NET Core SignalR
Possibilidade de desenvolvimento aplicações real-time com
ASP.NET Core
Integração com Azure SignalR Service
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
.NET Core 2.2 e ASP.NET Core 2.2
Lançamento do Preview 3 em Outubro/2018
Suporte do Visual Studio 2017 Update 15.9
(Preview) e Visual Studio Code
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
Novidades da versão 2.2
Suporte a HTTP/2
IIS in-process hosting
Maior performance
Requisições até 4 vezes mais rápidas
Novos templates para sites MVC e
Razor Pages
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
.NET Core 3.0
Suporte a Windows Desktop
Applications
Desenvolvimento de aplicações em
Windows Forms, Windows Presentation
Framework (WPF), and UWP XAML
empregando bibliotecas do .NET Core
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
Dúvidas?
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
Obrigado!!!

Mais conteúdo relacionado

PPT
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ...
PPT
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - Campinas...
PPT
APIs Multiplataforma com o ASP.NET Core: Presente e Futuro - .NET Conf Local ...
PPT
Extração de Dados na Web com MongoDB e Selenium - TDC 2018 - São Paulo
PPTX
.NET, Microsoft Azure e Tecnologias Open Source - Americana Tech Conf - Novem...
PPTX
Desenvolvendo Aplicações .NET Core em Linux - CEUNSP - Outubro-2019
PPT
Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - Campinas...
APIs Multiplataforma com o ASP.NET Core: Presente e Futuro - .NET Conf Local ...
Extração de Dados na Web com MongoDB e Selenium - TDC 2018 - São Paulo
.NET, Microsoft Azure e Tecnologias Open Source - Americana Tech Conf - Novem...
Desenvolvendo Aplicações .NET Core em Linux - CEUNSP - Outubro-2019
Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...

Mais procurados (20)

PPT
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...
PPT
.NET Core 3.0 e ASP.NET Core 3.0 Deep Dive: conhecendo as principais novidade...
PPTX
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
PDF
Ferramentas Essenciais para Desenvolvedores de Plugins WordPress
PPT
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...
PPT
.NET Core 3.0 e ASP.NET Core 3.0 : principais novidades - TDC 2019 - Porto Al...
PPT
ASP.NET 5 MVC Gerenciando dependencias com Nuget, NPM, Gulp e Bower
PPTX
7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...
PPTX
Conhecendo o NuGet e utilizando com ASP.NET MVC
PPTX
.NET Core 3.0 e ASP.NET Core 3.0: principais novidades - FCamara - Agosto-2019
PDF
TDC Florianópolis 2018 - Trilha PHP - O que mudou internamente no PHP7 ?
PPTX
Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...
PDF
Comunicação em tempo real com WebRTC e PHP
PDF
Escalando aplicação Python usando Getup OpenShift
PPTX
.NET Standard 2.0: reuso de código entre projetos legados e .NET Core - .NET ...
PDF
Git Overview: Grupo RBS
PDF
Use o git e perca o medo de errar
PDF
2021 Latinoware
PPT
Descomplicando a montagem de ambientes de Testes com Docker - TDC 2018 - São ...
PDF
Composer dependency manager
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...
.NET Core 3.0 e ASP.NET Core 3.0 Deep Dive: conhecendo as principais novidade...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Ferramentas Essenciais para Desenvolvedores de Plugins WordPress
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...
.NET Core 3.0 e ASP.NET Core 3.0 : principais novidades - TDC 2019 - Porto Al...
ASP.NET 5 MVC Gerenciando dependencias com Nuget, NPM, Gulp e Bower
7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...
Conhecendo o NuGet e utilizando com ASP.NET MVC
.NET Core 3.0 e ASP.NET Core 3.0: principais novidades - FCamara - Agosto-2019
TDC Florianópolis 2018 - Trilha PHP - O que mudou internamente no PHP7 ?
Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...
Comunicação em tempo real com WebRTC e PHP
Escalando aplicação Python usando Getup OpenShift
.NET Standard 2.0: reuso de código entre projetos legados e .NET Core - .NET ...
Git Overview: Grupo RBS
Use o git e perca o medo de errar
2021 Latinoware
Descomplicando a montagem de ambientes de Testes com Docker - TDC 2018 - São ...
Composer dependency manager
Anúncio

Semelhante a .NET Core e ASP.NET Core: Presente e Futuro - .NET SP - Novembro/2018 (20)

PPTX
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
PPTX
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Julho-2019
PPT
ASP.NET Core + Middlewares - TDC 2019 - Florianópolis-SC
PPTX
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...
PPTX
Boas práticas na implementação de APIs REST com ASP.NET Core - Agosto-2019
PPTX
Desenvolvendo Aplicações com .NET Core - Recode - Dezembro-2019
PPTX
Middlewares + ASP.NET Core: incrementando e acrescentando comportamentos em a...
PPT
Novidades do ASP.NET Core 2.1 - TDC 2018 - São Paulo
PDF
TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1
PPTX
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - .NET ...
PPTX
Boas práticas na implementação de APIs REST com ASP.NET Core - Outubro-2019
PPTX
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...
PPTX
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Arqui...
PPTX
SQL Server 2017 para Desenvolvedores de Software - TDC 2018 - São Paulo
PPTX
SQL Server no Desenvolvimento Web - Database Dev Night #1 - Junho-2019
PPTX
Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018
PPT
Monitorando serviços REST com o Application Insights
PPTX
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...
PPTX
5 Tecnologias que todo Desenvolvedor Web deveria conhecer - Developers-BR - O...
PPTX
Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Julho-2019
ASP.NET Core + Middlewares - TDC 2019 - Florianópolis-SC
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...
Boas práticas na implementação de APIs REST com ASP.NET Core - Agosto-2019
Desenvolvendo Aplicações com .NET Core - Recode - Dezembro-2019
Middlewares + ASP.NET Core: incrementando e acrescentando comportamentos em a...
Novidades do ASP.NET Core 2.1 - TDC 2018 - São Paulo
TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - .NET ...
Boas práticas na implementação de APIs REST com ASP.NET Core - Outubro-2019
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Arqui...
SQL Server 2017 para Desenvolvedores de Software - TDC 2018 - São Paulo
SQL Server no Desenvolvimento Web - Database Dev Night #1 - Junho-2019
Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018
Monitorando serviços REST com o Application Insights
Tecnologias Microsoft, Open Source, Linux, Docker e a Nuvem - WTT-2019 - Mack...
5 Tecnologias que todo Desenvolvedor Web deveria conhecer - Developers-BR - O...
Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...
Anúncio

Mais de Renato Groff (20)

PPTX
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
PPTX
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020
PPTX
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...
PPTX
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...
PPTX
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...
PPTX
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
PPTX
Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...
PPTX
Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...
PPTX
Docker: dicas e truques para o dia a dia | MVPConf Latam 2020
PPTX
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
PPTX
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |...
PPTX
Aplicações Distribuídas com .NET | TDC Recife Online 2020
PPTX
Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020
PPTX
Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...
PPTX
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
PPTX
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie
PPTX
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...
PPTX
Kubernetes na Nuvem | Minicurso Gratuito - Azure na Prática
PPTX
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
PPTX
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...
Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...
Docker: dicas e truques para o dia a dia | MVPConf Latam 2020
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |...
Aplicações Distribuídas com .NET | TDC Recife Online 2020
Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020
Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...
Kubernetes na Nuvem | Minicurso Gratuito - Azure na Prática
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020

Último (7)

PPTX
Curso de Windows 11 resumido na prática.pptx
DOC
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
PDF
Evolução em código: algoritmos genéticos com PHP
PDF
apresentacao introducao computacao ead.pdf
PDF
Dos requisitos ao código: como criar código rastreável em PHP
DOC
COMO AUTOMATIZR JOGOS SUPER NINTENDO ATRAVES DA PROGRAMAÇÃO
PPTX
Mapeamento de Objeto para Tabela Relacional
Curso de Windows 11 resumido na prática.pptx
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
Evolução em código: algoritmos genéticos com PHP
apresentacao introducao computacao ead.pdf
Dos requisitos ao código: como criar código rastreável em PHP
COMO AUTOMATIZR JOGOS SUPER NINTENDO ATRAVES DA PROGRAMAÇÃO
Mapeamento de Objeto para Tabela Relacional

.NET Core e ASP.NET Core: Presente e Futuro - .NET SP - Novembro/2018