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
Campinas .NET
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 hoje
.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)
.NET Core e ASP.NET Core – Visão Geral
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
Mais enxuta e modular,
baseada no modelo OWIN
(projeto Katana)
Mecanismo nativo para
injeção de dependências
Middlewares
Fim do System.Web
.NET Core e ASP.NET Core – Arquitetura
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
ASP.NET Core – Hospedagem de soluções
Microsoft Azure
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
ASP.NET Core – Hospedagem em Linux
Apache
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
Visual Studio 2017
Visual Studio Code
(Windows, Linux e Mac)
Visual Studio for Mac
.NET Core – Ferramentas Microsoft
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
Utilização de linhas de comando
Criação de novos projetos via .NET
Core Command-Line Interface (CLI)
.NET Core e Visual Studio Code
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
Globalcode – Open4educationhttps://medium.com/@renato.groffe/
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,
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/
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
Suporte do Azure App Service
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 2 em Setembro/2018
Suporte do Visual Studio 2017 Update 15.9
(Preview)
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 SP - Novembro/2018
PPT
Novidades do ASP.NET Core 2.1 - TDC 2018 - São Paulo
PDF
TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1
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...
PPT
ASP.NET Core + Middlewares - TDC 2019 - Florianópolis-SC
PDF
TDC2018SP | Trilha PHP Essencial - O que nao fazer ao atualizar para o PHP 7
.NET Core e ASP.NET Core: Presente e Futuro - .NET SP - Novembro/2018
Novidades do ASP.NET Core 2.1 - TDC 2018 - São Paulo
TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1
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...
ASP.NET Core + Middlewares - TDC 2019 - Florianópolis-SC
TDC2018SP | Trilha PHP Essencial - O que nao fazer ao atualizar para o PHP 7

Mais procurados (17)

PDF
Disponibilizando dependências PHP com Composer, GitHub e Packagist
PPTX
Boas práticas na implementação de APIs REST com ASP.NET Core - Outubro-2019
PPTX
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - .NET ...
PDF
Ferramentas Essenciais para Desenvolvedores de Plugins WordPress
PDF
Por que jenkins se posso usar deployer php
PDF
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
PPT
.NET Core 3.0 e ASP.NET Core 3.0 Deep Dive: conhecendo as principais novidade...
PDF
Aplicações 12 fatores, melhor com Docker
PPTX
O novo ASP.NET - Verity IT - Janeiro/2017
PPTX
O novo ASP.NET - ThinkUP! - Janeiro/2017
PDF
Confissões de um arquiteto de software
PPTX
Conhecendo o NuGet e utilizando com ASP.NET MVC
PDF
Lab python django - parte 2 - python + virtualenv
PDF
Migração de Banco de Dados - Oracle para MongoDB - TDC2014
PDF
Spring roo - Criando aplicações Java Web em poucos minutos
PDF
Escalando aplicação Python usando Getup OpenShift
PPTX
Deploy de aplicações python
Disponibilizando dependências PHP com Composer, GitHub e Packagist
Boas práticas na implementação de APIs REST com ASP.NET Core - Outubro-2019
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - .NET ...
Ferramentas Essenciais para Desenvolvedores de Plugins WordPress
Por que jenkins se posso usar deployer php
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
.NET Core 3.0 e ASP.NET Core 3.0 Deep Dive: conhecendo as principais novidade...
Aplicações 12 fatores, melhor com Docker
O novo ASP.NET - Verity IT - Janeiro/2017
O novo ASP.NET - ThinkUP! - Janeiro/2017
Confissões de um arquiteto de software
Conhecendo o NuGet e utilizando com ASP.NET MVC
Lab python django - parte 2 - python + virtualenv
Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Spring roo - Criando aplicações Java Web em poucos minutos
Escalando aplicação Python usando Getup OpenShift
Deploy de aplicações python
Anúncio

Semelhante a .NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP - Setembro/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
PPTX
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Arqui...
PPTX
Boas práticas na implementação de APIs REST com ASP.NET Core - Agosto-2019
PPTX
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...
PPTX
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...
PPTX
Middlewares + ASP.NET Core: incrementando e acrescentando comportamentos em a...
PPTX
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Pointer - Janeiro-...
PPTX
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Pointer - Janeiro-2018
PPTX
Criptomoedas e .NET - Consumindo algumas APIs existentes - Julho-2017
PPTX
Implementando APIs multiplataforma com ASP.NET Core 2.0 - .NET SP - Novembro...
PPTX
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Nerdzão Day #3 - No...
PPTX
7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...
PPTX
Implementando APIs multiplataforma com o ASP.NET Core - Campus Party Brasil 2018
PPTX
Desenvolvendo Aplicações .NET Core em Linux - CEUNSP - Outubro-2019
PPTX
Desenvolvendo Aplicações com .NET Core - Recode - Dezembro-2019
PPTX
ASP.NET Core 2.1: conhecendo algumas das novidades previstas - .NET SP - Maio...
PPTX
ASP.NET Core 2.1: conhecendo algumas das novidades previstas - Campinas .NET ...
PPTX
TDC2016POA | Trilha .NET - O que esperar do C# 7
PPT
Monitorando serviços REST com o Application Insights
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Julho-2019
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Arqui...
Boas práticas na implementação de APIs REST com ASP.NET Core - Agosto-2019
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...
Middlewares + ASP.NET Core: incrementando e acrescentando comportamentos em a...
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Pointer - Janeiro-...
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Pointer - Janeiro-2018
Criptomoedas e .NET - Consumindo algumas APIs existentes - Julho-2017
Implementando APIs multiplataforma com ASP.NET Core 2.0 - .NET SP - Novembro...
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Nerdzão Day #3 - No...
7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...
Implementando APIs multiplataforma com o ASP.NET Core - Campus Party Brasil 2018
Desenvolvendo Aplicações .NET Core em Linux - CEUNSP - Outubro-2019
Desenvolvendo Aplicações com .NET Core - Recode - Dezembro-2019
ASP.NET Core 2.1: conhecendo algumas das novidades previstas - .NET SP - Maio...
ASP.NET Core 2.1: conhecendo algumas das novidades previstas - Campinas .NET ...
TDC2016POA | Trilha .NET - O que esperar do C# 7
Monitorando serviços REST com o Application Insights
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
PDF
apresentacao introducao computacao ead.pdf
DOC
COMO AUTOMATIZR JOGOS SUPER NINTENDO ATRAVES DA PROGRAMAÇÃO
PPTX
Mapeamento de Objeto para Tabela Relacional
PDF
Dos requisitos ao código: como criar código rastreável em PHP
PDF
Evolução em código: algoritmos genéticos com PHP
DOC
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
Curso de Windows 11 resumido na prática.pptx
apresentacao introducao computacao ead.pdf
COMO AUTOMATIZR JOGOS SUPER NINTENDO ATRAVES DA PROGRAMAÇÃO
Mapeamento de Objeto para Tabela Relacional
Dos requisitos ao código: como criar código rastreável em PHP
Evolução em código: algoritmos genéticos com PHP
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO

.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP - Setembro/2018