SlideShare uma empresa Scribd logo
ASP.NET Core &
OWIN
ciandt.com
Tanato Cartaxo
André Paulovich
Tanato Cartaxo
André Paulovich
ASP.NET
ciandt.com
ASP.NET
ciandt.com
Asp.Net é a plataforma para
desenvolvimento Web da
Microsoft, publicado em janeiro de
2002, hoje tem mais de 14 anos de
idade.
Asp.net core
● Windows Forms > Web Forms
● Programadores VB6
● Interface Gráfica para montar telas usando “drag’n’drop”
● Click Duplo “amarrando” os eventos aos códigos
O que é o Web Forms
Alguma coisa
parecia
estranha...
Eis que surge o MVC!
Asp.net core
ASP.NET
ciandt.com
Asp.net core
Asp.net core
Mas nem
tudo era
legal...
Manter compatibilidade
com tecnologias do
início do século.
Não foi construído com
o pensamento
completamente
modular, uma simples
aplicação carregava
diversas funcionalidades
que poderiam nunca ser
utilizadas.
Necessita de utilizar a
System.Web em
diversos módulos, que é
uma biblioteca pesada.
Problemas...
ASP.NET
ciandt.com
ciandt.com
Quando a Microsoft anunciou as
versões “Release Candidate” dos novos
frameworks de desenvolvimento ele
rebatizou os mesmos da seguinte
forma: ASP.NET 5 e o .NET Core 5
foram rebatizados como ASP.NET Core
1.0 e .NET Core 1.0.
Já o Entity Framework 7 passou a ser
chamado Entity Framework Core 1.0.
Confusão
ASP.NET Core - Visão Geral
Um novo framework, desenvolvido do zero, evoluindo
diversos conceitos e tecnologias presentes no ASP.NET
mas visando conceitos atuais como cross-plaform e
Cloud computing.
ASP.NET Core - Visão Geral
É um framework pensado do zero para ser modular,
além de ser completamente open-source.
ASP.NET Core - Visão Geral
Pode ser desenvolvido tanto em cima do .NET Core
para cross-platform em cima do .NET Framework para
aplicações web em Windows.
ASP.NET Core é Modular
ciandt.com
Traz apenas o “Core” da aplicação,
permitindo a criação de aplicações leves e
sem bloatware.
Opt-in para os recursos (módulos) que
deseja adicionar à sua aplicação desde os
mais simples aos mais complexos.
Otimização de recursos, tanto em hardware
como em complexidade de código.
Conceitos - OWIN
ciandt.com
Host
Server
Middleware
Application
Conceitos - Inversion Of Control (IOC)
ciandt.com
Conceitos - Unificação do MVC e Web API.
ciandt.com
Conceitos - CLI
ciandt.com
Agregador de ferramentas: dotnet
Sintaxe: dotnet {comando} --arg
Convenção: dotnet-{comando} --arg
Algumas ferramentas disponíveis
dotnet new --lang --type
Cria arquivos de um novo tipo de projeto
dotnet restore [argumentos]
Restaura pacotes NuGet dependentes
dotnet build [argumentos]
Compila sua app ou biblioteca
dotnet run [argumentos]
Compila e executa sua app em um passo
OWIN
ciandt.com
O que é?
ciandt.com
OWIN define uma interface entre web servers e web applications em .NET
Padrão para desacoplamento entre servidor e aplicação, incentivando o
desenvolvimento modular de middlewares.
Middleware
ciandt.com
Porque utilizar OWIN?
ciandt.com
É leve e escalável!
ciandt.com
Possibilidade de escolha dos componentes do middleware ao servidor e host
permite a escolha de opções mais leves e rápidas.
Nenhuma funcionalidade é carregada por padrão, apenas funcionalidades
realmente necessárias são carregadas no pipeline da aplicação.
Não depende diretamente do System.Web, que contém um overhead para
diversas tecnologias (SessionState, WebForms e etc.).
Middlewares!
ciandt.com
Middlewares são incluídos, atualizados,
removidos e substituídos de forma simples.
Middlewares são criados para funções
específicas e por isso tendem a ser leves.
ciandt.com
Abordagem limpa, facilita o desenvolvimento
de um pipeline compreensível.
Sem dependências do IIS e outros
componentes.
OWIN self-service pipeline
ciandt.com
Host Server
Middlewar
e
Application
IIS
Self-Host
Nginx
Custom Host
System.Web
HttpListener
Authentication
WebApi
Logging
Dependency
Injection
Your Code!
And a lot more
Vantagens de Self-Host em relação ao IIS
ciandt.com
Lightweight/Low Memory Footprint.
Carrega apenas o necessário para o pipeline.
Não necessita configuração complexa do IIS.
Versões do IIS estão diretamente ligadas com versões do SO.
Some Code!
ciandt.com
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
}
public void Configure(IApplicationBuilder app)
{
app.UseMvc();
}
}
Inicialização do Pipeline OWIN em ASP.NET Core
ciandt.com
app.Use(async (httpcontext, next) =>
{
Console.WriteLine("Before Response");
await next.Invoke();
Console.WriteLine("After Response");
});
Exemplo de um middleware OWIN em função
ciandt.com
Entity Framework
ciandt.com
Entity Framework
ciandt.com
Entity Framework Core
ciandt.com
Entity Framework Core
ciandt.com
Assim como o ASP NET CORE, o Entity Framework CORE também foi totalmente refeito.
Portanto, ele também teve sua numeração de versão reiniciada e agora chama-se Entity
Framework Core 1.0 e não EntityFramework 7.
Características:
● Experiência de desenvolvimento similar ao EF 6.x
● Modelo Code First (entidades POCO - Plain Old CLR Objects)
● LINQ para entidades DbContext, DbSet etc
● Suporte a fontes de dados relacionais e não relacionais
● Muito mais leve que o Entity Framework 6.x
● Suporte em nuvem, em dispositivos (UWP) e em cenários .NET tradicionais
EF Core no dotnet-cli
ciandt.com
Sintaxe: dotnet ef {comando} --arg
Algumas ferramentas disponíveis:
dotnet ef migrations add ‘name’
Cria código de Migrations
dotnet ef migrations remove
Remove o último código de Migrations
dotnet ef database update
Atualiza o BD com as Migrations.
dotnet ef database drop
Dropa o banco de dados.
Asp.net core
Let’s Code
ciandt.com
OBRIGADO!

Mais conteúdo relacionado

PDF
Asp.Net Core - Meetup BH
PPTX
Owin e katana
PPTX
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Nerdzão Day #3 - No...
PPTX
ASP.NET 5, MVC 6 e além
PPTX
ASP.NET 5 - Novidades do Desenvolvimento Web em .NET
PDF
Desenvolvendo uma App multiplataforma compartilhando 90% do código
PPTX
O Futuro do ASP.NET
PPTX
Middlewares ASP.NET
Asp.Net Core - Meetup BH
Owin e katana
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Nerdzão Day #3 - No...
ASP.NET 5, MVC 6 e além
ASP.NET 5 - Novidades do Desenvolvimento Web em .NET
Desenvolvendo uma App multiplataforma compartilhando 90% do código
O Futuro do ASP.NET
Middlewares ASP.NET

Mais procurados (20)

PPTX
Angular 2, TypeScript e Além
PDF
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
PPT
O Futuro do ASP.NET (vNext)
PPTX
Performance do ASP.NET Core, um comparativo com Node.js
PPTX
Escalabilidade com docker - ASP.NET Conference 2016
PPTX
.NET Core Internals. O que é o .NET Platform Standard?
PPTX
Descomplicando o Mobile com Ionic Framework
PPT
Desvendando ASP.NET MVC
PPTX
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobile
PPTX
Criar um sistema com asp net
PDF
Palestra UFPR - Intro Ionic framework + WordPress
PDF
DevPira Festival 21 - .NET6 Uma nova forma de construir apis MinimalAPIs
PPTX
BaaS com Firebase 3
PDF
Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...
PDF
GDG Angular 2
PPTX
Ionic Framework - Parte 1 - Iniciando um Projeto mais Robusto
PPTX
Workshop - Ionic + firebase
PPTX
Novidades do ASP.NET 5.X
PDF
Mini curso: Ionic Framework
PDF
ASP.NET vNext – MVC6
Angular 2, TypeScript e Além
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
O Futuro do ASP.NET (vNext)
Performance do ASP.NET Core, um comparativo com Node.js
Escalabilidade com docker - ASP.NET Conference 2016
.NET Core Internals. O que é o .NET Platform Standard?
Descomplicando o Mobile com Ionic Framework
Desvendando ASP.NET MVC
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobile
Criar um sistema com asp net
Palestra UFPR - Intro Ionic framework + WordPress
DevPira Festival 21 - .NET6 Uma nova forma de construir apis MinimalAPIs
BaaS com Firebase 3
Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...
GDG Angular 2
Ionic Framework - Parte 1 - Iniciando um Projeto mais Robusto
Workshop - Ionic + firebase
Novidades do ASP.NET 5.X
Mini curso: Ionic Framework
ASP.NET vNext – MVC6
Anúncio

Destaque (20)

PPT
SQL select clause
PPTX
Introduction to .NET by QuontraSolutions
PPT
Prototipos1
PPTX
Easy staffing presentation
PPTX
frequente
PDF
10 Things You Need to Know Today: 11/3/16
PDF
Travis-final
PDF
.NET Core Blimey! (dotnetsheff Jan 2016)
PDF
18app - Guida pratica
PPTX
El proyecto eco learning una alternativa educativa para la construcción del ...
PDF
CodeIgniter For Project : Lesson 103 - Introduction to Codeigniter
PPTX
.NET Core 1.0 y ASP.NET Core 1.0
PPTX
Requisitos de SOX y FCPA para diseñar un sistema de control interno para cump...
PDF
Model Comparison for Delta-Compression
PPTX
Iso 21500 project management
PDF
Listado uniusa 100k
PPTX
Cross platform dotnet development using dotnet core
PDF
Getting Started .NET Core
DOCX
Hospital management System (asp.net with c#)Project report
PPTX
Inventory management project based on ASP.NET, introduction to C# and ASP.NET
SQL select clause
Introduction to .NET by QuontraSolutions
Prototipos1
Easy staffing presentation
frequente
10 Things You Need to Know Today: 11/3/16
Travis-final
.NET Core Blimey! (dotnetsheff Jan 2016)
18app - Guida pratica
El proyecto eco learning una alternativa educativa para la construcción del ...
CodeIgniter For Project : Lesson 103 - Introduction to Codeigniter
.NET Core 1.0 y ASP.NET Core 1.0
Requisitos de SOX y FCPA para diseñar un sistema de control interno para cump...
Model Comparison for Delta-Compression
Iso 21500 project management
Listado uniusa 100k
Cross platform dotnet development using dotnet core
Getting Started .NET Core
Hospital management System (asp.net with c#)Project report
Inventory management project based on ASP.NET, introduction to C# and ASP.NET
Anúncio

Semelhante a Asp.net core (20)

PPTX
Construindo aplicações leves e performáticas com ASP.NET Core 1.0
PPTX
Futuro do ASP.NET vNext - MVP ShowCast
PPTX
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie
PDF
Share - Mastermaq - Evolução e o futuro do C#
PPTX
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
PPTX
Microsoft .Net
PPTX
Dicas para migrar sua aplicação ASP.NET para ASP.NET Core 2.x
PPTX
O novo ASP.NET - Stone Tech Saturday - Março/2017
PPTX
ASP.NET Core 2.0 - NESS - Outubro/2017
PPTX
ASP.NET Core: visão geral, exemplos práticos e novidades esperadas - .NET SP ...
PDF
dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core
PPTX
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
PPTX
TDC SP 2015 - Criando aplicações ASP.NET no Mac
PPTX
ASP.NET Core 2.0 - .NET São Paulo - Outubro-2017
PPTX
ASP.NET Core 2.0 - Reply - Outubro/2017
PPTX
ASP.NET Core 2.0 - Pointer - Janeiro-2018
PPTX
ITerior - .NET Core, usando .NET no Linux!
PPTX
.NET 2015, ASP.NET 5, C# 6 e tudo mais
PPTX
ASP.NET Core e Linux: Explorando novas fronteiras - OneDay - Junho/2017
PPTX
.NET: Passado, Presente, Futuro, Mercado de Trabalho… | Generation Brazil
Construindo aplicações leves e performáticas com ASP.NET Core 1.0
Futuro do ASP.NET vNext - MVP ShowCast
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie
Share - Mastermaq - Evolução e o futuro do C#
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
Microsoft .Net
Dicas para migrar sua aplicação ASP.NET para ASP.NET Core 2.x
O novo ASP.NET - Stone Tech Saturday - Março/2017
ASP.NET Core 2.0 - NESS - Outubro/2017
ASP.NET Core: visão geral, exemplos práticos e novidades esperadas - .NET SP ...
dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
TDC SP 2015 - Criando aplicações ASP.NET no Mac
ASP.NET Core 2.0 - .NET São Paulo - Outubro-2017
ASP.NET Core 2.0 - Reply - Outubro/2017
ASP.NET Core 2.0 - Pointer - Janeiro-2018
ITerior - .NET Core, usando .NET no Linux!
.NET 2015, ASP.NET 5, C# 6 e tudo mais
ASP.NET Core e Linux: Explorando novas fronteiras - OneDay - Junho/2017
.NET: Passado, Presente, Futuro, Mercado de Trabalho… | Generation Brazil

Último (19)

PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PDF
Processos na gestão de transportes, TM100 Col18
PDF
Apple Pippin Uma breve introdução. - David Glotz
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PPTX
Aula 18 - Manipulacao De Arquivos python
PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Custos e liquidação no SAP Transportation Management, TM130 Col18
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
COBITxITIL-Entenda as diferença em uso governança TI
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Processos na gestão de transportes, TM100 Col18
Apple Pippin Uma breve introdução. - David Glotz
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Aula 18 - Manipulacao De Arquivos python
Aula04-Academia Heri- Tecnologia Geral 2025
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss

Asp.net core

  • 1. ASP.NET Core & OWIN ciandt.com Tanato Cartaxo André Paulovich
  • 5. ASP.NET ciandt.com Asp.Net é a plataforma para desenvolvimento Web da Microsoft, publicado em janeiro de 2002, hoje tem mais de 14 anos de idade.
  • 7. ● Windows Forms > Web Forms ● Programadores VB6 ● Interface Gráfica para montar telas usando “drag’n’drop” ● Click Duplo “amarrando” os eventos aos códigos O que é o Web Forms
  • 9. Eis que surge o MVC!
  • 15. Manter compatibilidade com tecnologias do início do século. Não foi construído com o pensamento completamente modular, uma simples aplicação carregava diversas funcionalidades que poderiam nunca ser utilizadas. Necessita de utilizar a System.Web em diversos módulos, que é uma biblioteca pesada. Problemas...
  • 17. ciandt.com Quando a Microsoft anunciou as versões “Release Candidate” dos novos frameworks de desenvolvimento ele rebatizou os mesmos da seguinte forma: ASP.NET 5 e o .NET Core 5 foram rebatizados como ASP.NET Core 1.0 e .NET Core 1.0. Já o Entity Framework 7 passou a ser chamado Entity Framework Core 1.0. Confusão
  • 18. ASP.NET Core - Visão Geral Um novo framework, desenvolvido do zero, evoluindo diversos conceitos e tecnologias presentes no ASP.NET mas visando conceitos atuais como cross-plaform e Cloud computing.
  • 19. ASP.NET Core - Visão Geral É um framework pensado do zero para ser modular, além de ser completamente open-source.
  • 20. ASP.NET Core - Visão Geral Pode ser desenvolvido tanto em cima do .NET Core para cross-platform em cima do .NET Framework para aplicações web em Windows.
  • 21. ASP.NET Core é Modular ciandt.com Traz apenas o “Core” da aplicação, permitindo a criação de aplicações leves e sem bloatware. Opt-in para os recursos (módulos) que deseja adicionar à sua aplicação desde os mais simples aos mais complexos. Otimização de recursos, tanto em hardware como em complexidade de código.
  • 23. Conceitos - Inversion Of Control (IOC) ciandt.com
  • 24. Conceitos - Unificação do MVC e Web API. ciandt.com
  • 25. Conceitos - CLI ciandt.com Agregador de ferramentas: dotnet Sintaxe: dotnet {comando} --arg Convenção: dotnet-{comando} --arg Algumas ferramentas disponíveis dotnet new --lang --type Cria arquivos de um novo tipo de projeto dotnet restore [argumentos] Restaura pacotes NuGet dependentes dotnet build [argumentos] Compila sua app ou biblioteca dotnet run [argumentos] Compila e executa sua app em um passo
  • 27. O que é? ciandt.com OWIN define uma interface entre web servers e web applications em .NET Padrão para desacoplamento entre servidor e aplicação, incentivando o desenvolvimento modular de middlewares.
  • 30. É leve e escalável! ciandt.com Possibilidade de escolha dos componentes do middleware ao servidor e host permite a escolha de opções mais leves e rápidas. Nenhuma funcionalidade é carregada por padrão, apenas funcionalidades realmente necessárias são carregadas no pipeline da aplicação. Não depende diretamente do System.Web, que contém um overhead para diversas tecnologias (SessionState, WebForms e etc.).
  • 31. Middlewares! ciandt.com Middlewares são incluídos, atualizados, removidos e substituídos de forma simples. Middlewares são criados para funções específicas e por isso tendem a ser leves.
  • 32. ciandt.com Abordagem limpa, facilita o desenvolvimento de um pipeline compreensível. Sem dependências do IIS e outros componentes.
  • 33. OWIN self-service pipeline ciandt.com Host Server Middlewar e Application IIS Self-Host Nginx Custom Host System.Web HttpListener Authentication WebApi Logging Dependency Injection Your Code! And a lot more
  • 34. Vantagens de Self-Host em relação ao IIS ciandt.com Lightweight/Low Memory Footprint. Carrega apenas o necessário para o pipeline. Não necessita configuração complexa do IIS. Versões do IIS estão diretamente ligadas com versões do SO.
  • 36. public class Startup { public void ConfigureServices(IServiceCollection services) { services.AddMvc(); } public void Configure(IApplicationBuilder app) { app.UseMvc(); } } Inicialização do Pipeline OWIN em ASP.NET Core ciandt.com
  • 37. app.Use(async (httpcontext, next) => { Console.WriteLine("Before Response"); await next.Invoke(); Console.WriteLine("After Response"); }); Exemplo de um middleware OWIN em função ciandt.com
  • 41. Entity Framework Core ciandt.com Assim como o ASP NET CORE, o Entity Framework CORE também foi totalmente refeito. Portanto, ele também teve sua numeração de versão reiniciada e agora chama-se Entity Framework Core 1.0 e não EntityFramework 7. Características: ● Experiência de desenvolvimento similar ao EF 6.x ● Modelo Code First (entidades POCO - Plain Old CLR Objects) ● LINQ para entidades DbContext, DbSet etc ● Suporte a fontes de dados relacionais e não relacionais ● Muito mais leve que o Entity Framework 6.x ● Suporte em nuvem, em dispositivos (UWP) e em cenários .NET tradicionais
  • 42. EF Core no dotnet-cli ciandt.com Sintaxe: dotnet ef {comando} --arg Algumas ferramentas disponíveis: dotnet ef migrations add ‘name’ Cria código de Migrations dotnet ef migrations remove Remove o último código de Migrations dotnet ef database update Atualiza o BD com as Migrations. dotnet ef database drop Dropa o banco de dados.