SlideShare une entreprise Scribd logo
1  sur  41
Desenvolvimento
web com .NET
Core
@rodolfofadino
Rodolfo Fadino Junior
Head de Tecnologia – tech.fit (Dieta e Saúde e Tecnonutri)
Tecnologia em Processamento de Dados. FATEC-SP
Microsoft MVP - Visual Studio and Development Technologies (2014-2018)
Eventos:
Visual Studio Summit
TDC - The Developer Conference
ASP.NET Brasil
DevXperience
MVP Summit
https://rodolfofadino.com.br
rodolfo@tech.fit
História .NET
System.Web
• WebForms, MVC 1-4
• Performance
• Dificuldade de evoluir
• Manter compatibilidade
.NET Core
• Cross-platform
• Open source
• Arquitetura de micro serviços
• Containers
• Design Modular
• Variedade de ferramentas de desenvolvimento
• Alta performance e escalabilidade
ASP.NET 4.7 e ASP.NET Core 2.0
Começando
https://www.microsoft.com/net/download/windows/build
Ferramentas
• Sublime
• Visual Studio
• Visual Studio Code
• Atom
• Notepad ++
• Vi
.NET Core command-line interface (CLI) tools
.NET Core command-line interface (CLI) tools
• new
• restore
• build
• publish
• run
• test
• vstest
• pack
• migrate
• clean
• sln
• help
• store
Criando um projeto
• dotnet new
• dotnet restore
• dotnet build
Console => Web Site
• Vamos criar um console em .NET Core
Console => Web Site
Install-package Microsoft.ASPNETCore.All
ou
dotnet add package Microsoft.ASPNETCore.All
Console => Web Site
Adicionamos o método que será responsável por criar um WebHost no
Program.cs, notem que precisaremos de uma classe Startup
Console => Web Site
Na criação do WebHost foi utilizado uma classe chamada Startup como
configuração, é nela que iremos colocar o que nossa app terá no
pipeline para responder as requests.
Console => Web Site
Após criar a Startup.cs, vamos utilizar o método que cria o WebHost na
main do nosso Program.cs
Console => Web Site
• Com isto, ao executar nosso Console, teremos um servidor web
ouvindo e respondendo na porta 5000 o/
Console => Web Site
Console => Web Site
Tínhamos um console
Temos um servidor web respondendo um texto
Como eu transformo um console em um site?
Console => Web Site
Middlewares
Utilizaremos o MVC, um middleware que facilita nosso
desenvolvimento web.
Mas o que é MVC? Model View Controller?
MVC (1978, Smalltalk Xerox)
• Model
Sempre que você pensar em manipulação de dados, pense em model. Ele
é responsável pela leitura e escrita de dados, e também de suas validações.
• View
Simples: a camada de interação com o usuário. Ela apenas faz a exibição dos dados, sendo ela por
meio de um html ou xml.
• Controller
O responsável por receber todas as requisições do usuário. Seus métodos chamados actions são
responsáveis por uma página, controlando qual model usar e qual view será mostrado ao usuário.
MVC (1978, Smalltalk Xerox)
Como o ASP.NET MVC funciona
Controller
“faz algo”
Retorna o Model
View
Representa visualmente
o Model
Routing
MVC (middleware)
MVC
• Para começar a utilizar o MVC em nossos projetos vamos precisar
adicionar ele no pipeline de nossa aplicação, para isto vamos utilizar o
seguinte código:
MVC
• Também será necessário adicionar via injeção de dependência o
serviço do MVC
Routing
• Ao tentar acessar nossa aplicação, ela não saberá qual Controller e
Action deverá ser executado, pois falta o roteamento
Routing
• O Roteamento pode ser configurado no AddMVC da seguinte
maneira:
Routing
• Caso seja necessário criar mais rotas, elas devem ser adicionadas da
rota mais especifica, para a mais genérica (de cima para baixo)
Controllers
• Com o ASP.NET Core, os controllers de Web e de API foram unificado em um tipo só para herdar.
• Notem que qualquer método publico em um controller pode ser acessível e retornar.
Controllers
• Por convenção no exemplo abaixo ele irá procurar uma View com o
nome Index.cshtml dentro de uma pasta chamada Home
Controllers
• É possível sobrescrever a convenção par retornar uma view especifica
em determinados cenários
Controllers
• Desambiguação: em determinados momentos teremos duas actions com o
mesmo nome, podemos utilizar um filtro determinando qual action funcionara
no verbo http GET e qual será utilizada no POST
Controllers
• Model Binder, mecanismo do ASP.NET que transforma os parâmetros
da requisição e atribui os dados em um Objeto (Model)
Views
• Views são arquivos .cshtml que
utilizam C# e usam linguagem de
marcação chamada Razor.
• Por convenção elas são
organizadas em pastas de acordo
com a estrutura de Controllers da
aplicação.
Views
• Podemos passar dados dos controllers para as views de diferentes
maneiras, as principais são:
• 1) ViewData
• 2) ViewBag
• 3) Model
Views
• 1) ViewData
• 2) ViewBag
Views
• 3) Model
Views
• View Engine => Razor
• Helpers
• Partial
• Layout
• Section
Links
• http://asp.net/
• https://code.visualstudio.com/
• https://docs.microsoft.com/pt-br/aspnet/
• https://rodolfofadino.com.br
rodolfo@tech.fit
@rodolfofadino
Rodolfo Fadino
rodolfo@techfitapps.com

Contenu connexe

Tendances

Novidades do ASP.NET 5.X
Novidades do ASP.NET 5.XNovidades do ASP.NET 5.X
Novidades do ASP.NET 5.XEduardo Pires
 
ASP.NET 5 - Novidades do Desenvolvimento Web em .NET
ASP.NET 5 - Novidades do Desenvolvimento Web em .NETASP.NET 5 - Novidades do Desenvolvimento Web em .NET
ASP.NET 5 - Novidades do Desenvolvimento Web em .NETRenato Groff
 
365on Lab Asp.Net MVC Fundamentos 01 Overview
365on Lab Asp.Net MVC Fundamentos 01 Overview365on Lab Asp.Net MVC Fundamentos 01 Overview
365on Lab Asp.Net MVC Fundamentos 01 OverviewAlexsandro Almeida
 
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010Rodrigo Kono
 
TDC2016SP - Trilha Frameworks JavaScript
TDC2016SP - Trilha Frameworks JavaScriptTDC2016SP - Trilha Frameworks JavaScript
TDC2016SP - Trilha Frameworks JavaScripttdc-globalcode
 
ASP.NET MVC 4 - Part III - Views (Continuação: Part II)
ASP.NET MVC 4 - Part III - Views (Continuação: Part II)ASP.NET MVC 4 - Part III - Views (Continuação: Part II)
ASP.NET MVC 4 - Part III - Views (Continuação: Part II)Carlos Atila Abreu
 
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
 
Criar um sistema com asp net
Criar um sistema com asp netCriar um sistema com asp net
Criar um sistema com asp netAnderson Wernek
 
ASP.NET Web Forms X ASP.NET MVC
ASP.NET Web Forms X ASP.NET MVCASP.NET Web Forms X ASP.NET MVC
ASP.NET Web Forms X ASP.NET MVCguest489a65e
 
Como criar um http proxy dinamico com mule parte 1
Como criar um http proxy dinamico com mule   parte 1Como criar um http proxy dinamico com mule   parte 1
Como criar um http proxy dinamico com mule parte 1Jeison Barros
 
ASP.NET MVC, para sua vida melhorar
ASP.NET MVC, para sua vida melhorarASP.NET MVC, para sua vida melhorar
ASP.NET MVC, para sua vida melhorarWaldyr Felix
 
Microservices com ASP.NET 5
Microservices com ASP.NET 5Microservices com ASP.NET 5
Microservices com ASP.NET 5Waldyr Felix
 

Tendances (20)

Novidades do ASP.NET 5.X
Novidades do ASP.NET 5.XNovidades do ASP.NET 5.X
Novidades do ASP.NET 5.X
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
O Futuro do ASP.NET
O Futuro do ASP.NETO Futuro do ASP.NET
O Futuro do ASP.NET
 
ASP.NET 5 - Novidades do Desenvolvimento Web em .NET
ASP.NET 5 - Novidades do Desenvolvimento Web em .NETASP.NET 5 - Novidades do Desenvolvimento Web em .NET
ASP.NET 5 - Novidades do Desenvolvimento Web em .NET
 
Instalação CakePHP 2.2.3
Instalação CakePHP 2.2.3Instalação CakePHP 2.2.3
Instalação CakePHP 2.2.3
 
Docker para devs .NET
Docker para devs .NETDocker para devs .NET
Docker para devs .NET
 
365on Lab Asp.Net MVC Fundamentos 01 Overview
365on Lab Asp.Net MVC Fundamentos 01 Overview365on Lab Asp.Net MVC Fundamentos 01 Overview
365on Lab Asp.Net MVC Fundamentos 01 Overview
 
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010
 
365on Lab - Asp.Net MVC
365on Lab - Asp.Net MVC365on Lab - Asp.Net MVC
365on Lab - Asp.Net MVC
 
TDC2016SP - Trilha Frameworks JavaScript
TDC2016SP - Trilha Frameworks JavaScriptTDC2016SP - Trilha Frameworks JavaScript
TDC2016SP - Trilha Frameworks JavaScript
 
ASP.NET MVC 4 - Part III - Views (Continuação: Part II)
ASP.NET MVC 4 - Part III - Views (Continuação: Part II)ASP.NET MVC 4 - Part III - Views (Continuação: Part II)
ASP.NET MVC 4 - Part III - Views (Continuação: Part II)
 
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!
 
ASP .NET MVC na Prática
ASP .NET MVC na PráticaASP .NET MVC na Prática
ASP .NET MVC na Prática
 
ASP.NET MVC 5.x
ASP.NET MVC 5.xASP.NET MVC 5.x
ASP.NET MVC 5.x
 
Criar um sistema com asp net
Criar um sistema com asp netCriar um sistema com asp net
Criar um sistema com asp net
 
ASP.NET Web Forms X ASP.NET MVC
ASP.NET Web Forms X ASP.NET MVCASP.NET Web Forms X ASP.NET MVC
ASP.NET Web Forms X ASP.NET MVC
 
Como criar um http proxy dinamico com mule parte 1
Como criar um http proxy dinamico com mule   parte 1Como criar um http proxy dinamico com mule   parte 1
Como criar um http proxy dinamico com mule parte 1
 
ASP.NET MVC, para sua vida melhorar
ASP.NET MVC, para sua vida melhorarASP.NET MVC, para sua vida melhorar
ASP.NET MVC, para sua vida melhorar
 
ASP .NET Core MVC
ASP .NET Core MVCASP .NET Core MVC
ASP .NET Core MVC
 
Microservices com ASP.NET 5
Microservices com ASP.NET 5Microservices com ASP.NET 5
Microservices com ASP.NET 5
 

Similaire à Desenvolvimento web com .NET Core - Meetup São Carlos

ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifaguestea329c
 
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...anybalrocha
 
Introdução ao Asp.NET MVC
Introdução ao Asp.NET MVCIntrodução ao Asp.NET MVC
Introdução ao Asp.NET MVCBenicio Ávila
 
Treinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVCTreinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVCMichael Costa
 
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.1César Augusto Pessôa
 
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...Daniel Makiyama
 
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)Rafael Oliveira
 
Dicas para migrar sua aplicação ASP.NET para ASP.NET Core 2.x
Dicas para migrar sua aplicação ASP.NET para ASP.NET Core 2.xDicas para migrar sua aplicação ASP.NET para ASP.NET Core 2.x
Dicas para migrar sua aplicação ASP.NET para ASP.NET Core 2.xRodrigo Kono
 
Desenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHPDesenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHPSérgio Vilar
 
Palestra MVC - Online tech day 2010
Palestra MVC - Online tech day 2010Palestra MVC - Online tech day 2010
Palestra MVC - Online tech day 2010Alexandre Tarifa
 
Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010Alexandre Tarifa
 
Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKRyan Padilha
 
Introdução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsIntrodução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsCloves Moreira Junior
 
Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.Vinícius de Paula
 

Similaire à Desenvolvimento web com .NET Core - Meetup São Carlos (20)

ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifa
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Palestra ASP.NET MVC
Palestra ASP.NET MVCPalestra ASP.NET MVC
Palestra ASP.NET MVC
 
ApresentaçãO Mvc
ApresentaçãO MvcApresentaçãO Mvc
ApresentaçãO Mvc
 
Apresentação M V C
Apresentação M V CApresentação M V C
Apresentação M V C
 
Curso AngularJS - Parte 1
Curso AngularJS - Parte 1Curso AngularJS - Parte 1
Curso AngularJS - Parte 1
 
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...
 
Introdução ao Asp.NET MVC
Introdução ao Asp.NET MVCIntrodução ao Asp.NET MVC
Introdução ao Asp.NET MVC
 
Treinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVCTreinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVC
 
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
 
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
 
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
 
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)
 
Dicas para migrar sua aplicação ASP.NET para ASP.NET Core 2.x
Dicas para migrar sua aplicação ASP.NET para ASP.NET Core 2.xDicas para migrar sua aplicação ASP.NET para ASP.NET Core 2.x
Dicas para migrar sua aplicação ASP.NET para ASP.NET Core 2.x
 
Desenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHPDesenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHP
 
Palestra MVC - Online tech day 2010
Palestra MVC - Online tech day 2010Palestra MVC - Online tech day 2010
Palestra MVC - Online tech day 2010
 
Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010
 
Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDK
 
Introdução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsIntrodução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular js
 
Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.
 

Plus de Rodolfo Fadino Junior

Como gerenciar e manter minha equipe engajada [Avance 21]
Como gerenciar e manter minha equipe engajada [Avance 21]Como gerenciar e manter minha equipe engajada [Avance 21]
Como gerenciar e manter minha equipe engajada [Avance 21]Rodolfo Fadino Junior
 
TDC 2019 Clean Architeture com .net core
TDC 2019  Clean Architeture com .net coreTDC 2019  Clean Architeture com .net core
TDC 2019 Clean Architeture com .net coreRodolfo Fadino Junior
 
Mvp conf middlewares com asp.net core
Mvp conf   middlewares com asp.net coreMvp conf   middlewares com asp.net core
Mvp conf middlewares com asp.net coreRodolfo Fadino Junior
 
Design e boas práticas de api's com CSharp
Design e boas práticas de api's com CSharpDesign e boas práticas de api's com CSharp
Design e boas práticas de api's com CSharpRodolfo Fadino Junior
 
Design e boas praticas de apis com CSharp
Design e boas praticas de apis com CSharpDesign e boas praticas de apis com CSharp
Design e boas praticas de apis com CSharpRodolfo Fadino Junior
 
Web Performance Optimization com ASP.NET Core
Web Performance Optimization com ASP.NET CoreWeb Performance Optimization com ASP.NET Core
Web Performance Optimization com ASP.NET CoreRodolfo Fadino Junior
 
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 2016Rodolfo Fadino Junior
 
Performance Codificando Night Week 2016
Performance Codificando Night Week 2016Performance Codificando Night Week 2016
Performance Codificando Night Week 2016Rodolfo Fadino Junior
 
Fatec-SP Desenvolvendo Web/Mobile para 20 milões de usuários
Fatec-SP Desenvolvendo Web/Mobile para 20 milões de usuáriosFatec-SP Desenvolvendo Web/Mobile para 20 milões de usuários
Fatec-SP Desenvolvendo Web/Mobile para 20 milões de usuáriosRodolfo Fadino Junior
 

Plus de Rodolfo Fadino Junior (20)

Como gerenciar e manter minha equipe engajada [Avance 21]
Como gerenciar e manter minha equipe engajada [Avance 21]Como gerenciar e manter minha equipe engajada [Avance 21]
Como gerenciar e manter minha equipe engajada [Avance 21]
 
Performance tdc sp 2020 final
Performance tdc sp 2020 finalPerformance tdc sp 2020 final
Performance tdc sp 2020 final
 
TDC 2019 Clean Architeture com .net core
TDC 2019  Clean Architeture com .net coreTDC 2019  Clean Architeture com .net core
TDC 2019 Clean Architeture com .net core
 
Mvp conf middlewares com asp.net core
Mvp conf   middlewares com asp.net coreMvp conf   middlewares com asp.net core
Mvp conf middlewares com asp.net core
 
Middlewares com asp.net core
Middlewares com asp.net coreMiddlewares com asp.net core
Middlewares com asp.net core
 
DevXperience WPO com .NET CORE
DevXperience WPO com .NET COREDevXperience WPO com .NET CORE
DevXperience WPO com .NET CORE
 
Design e boas práticas de api's com CSharp
Design e boas práticas de api's com CSharpDesign e boas práticas de api's com CSharp
Design e boas práticas de api's com CSharp
 
Design e boas praticas de apis com CSharp
Design e boas praticas de apis com CSharpDesign e boas praticas de apis com CSharp
Design e boas praticas de apis com CSharp
 
Web Performance Optimization com ASP.NET Core
Web Performance Optimization com ASP.NET CoreWeb Performance Optimization com ASP.NET Core
Web Performance Optimization com ASP.NET Core
 
ASP.NET Core e MVC - Fatec-SP 2016
ASP.NET Core e MVC - Fatec-SP 2016ASP.NET Core e MVC - Fatec-SP 2016
ASP.NET Core e MVC - Fatec-SP 2016
 
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
 
Performance Codificando Night Week 2016
Performance Codificando Night Week 2016Performance Codificando Night Week 2016
Performance Codificando Night Week 2016
 
Desenvolvimento Web com ASP.NET MVC
Desenvolvimento Web com ASP.NET MVCDesenvolvimento Web com ASP.NET MVC
Desenvolvimento Web com ASP.NET MVC
 
Fatec-SP Desenvolvendo Web/Mobile para 20 milões de usuários
Fatec-SP Desenvolvendo Web/Mobile para 20 milões de usuáriosFatec-SP Desenvolvendo Web/Mobile para 20 milões de usuários
Fatec-SP Desenvolvendo Web/Mobile para 20 milões de usuários
 
Minha Vida Fiap - Desenvolvimento
Minha Vida Fiap - DesenvolvimentoMinha Vida Fiap - Desenvolvimento
Minha Vida Fiap - Desenvolvimento
 
SignalR Visual Studio Summit
SignalR Visual Studio SummitSignalR Visual Studio Summit
SignalR Visual Studio Summit
 
Performance Web com ASP.NET MVC
Performance Web com ASP.NET MVCPerformance Web com ASP.NET MVC
Performance Web com ASP.NET MVC
 
TDC, Quem derrubou o meu site?
TDC, Quem derrubou o meu site?TDC, Quem derrubou o meu site?
TDC, Quem derrubou o meu site?
 
Entregabilidade e Emails
Entregabilidade e EmailsEntregabilidade e Emails
Entregabilidade e Emails
 
EmberJS + SPA
EmberJS + SPAEmberJS + SPA
EmberJS + SPA
 

Desenvolvimento web com .NET Core - Meetup São Carlos

  • 2. Rodolfo Fadino Junior Head de Tecnologia – tech.fit (Dieta e Saúde e Tecnonutri) Tecnologia em Processamento de Dados. FATEC-SP Microsoft MVP - Visual Studio and Development Technologies (2014-2018) Eventos: Visual Studio Summit TDC - The Developer Conference ASP.NET Brasil DevXperience MVP Summit https://rodolfofadino.com.br rodolfo@tech.fit
  • 4. System.Web • WebForms, MVC 1-4 • Performance • Dificuldade de evoluir • Manter compatibilidade
  • 5. .NET Core • Cross-platform • Open source • Arquitetura de micro serviços • Containers • Design Modular • Variedade de ferramentas de desenvolvimento • Alta performance e escalabilidade
  • 6. ASP.NET 4.7 e ASP.NET Core 2.0
  • 8. Ferramentas • Sublime • Visual Studio • Visual Studio Code • Atom • Notepad ++ • Vi
  • 9. .NET Core command-line interface (CLI) tools
  • 10. .NET Core command-line interface (CLI) tools • new • restore • build • publish • run • test • vstest • pack • migrate • clean • sln • help • store
  • 11. Criando um projeto • dotnet new • dotnet restore • dotnet build
  • 12. Console => Web Site • Vamos criar um console em .NET Core
  • 13. Console => Web Site Install-package Microsoft.ASPNETCore.All ou dotnet add package Microsoft.ASPNETCore.All
  • 14. Console => Web Site Adicionamos o método que será responsável por criar um WebHost no Program.cs, notem que precisaremos de uma classe Startup
  • 15. Console => Web Site Na criação do WebHost foi utilizado uma classe chamada Startup como configuração, é nela que iremos colocar o que nossa app terá no pipeline para responder as requests.
  • 16. Console => Web Site Após criar a Startup.cs, vamos utilizar o método que cria o WebHost na main do nosso Program.cs
  • 17. Console => Web Site • Com isto, ao executar nosso Console, teremos um servidor web ouvindo e respondendo na porta 5000 o/
  • 19. Console => Web Site Tínhamos um console Temos um servidor web respondendo um texto Como eu transformo um console em um site?
  • 20. Console => Web Site Middlewares Utilizaremos o MVC, um middleware que facilita nosso desenvolvimento web. Mas o que é MVC? Model View Controller?
  • 21. MVC (1978, Smalltalk Xerox) • Model Sempre que você pensar em manipulação de dados, pense em model. Ele é responsável pela leitura e escrita de dados, e também de suas validações. • View Simples: a camada de interação com o usuário. Ela apenas faz a exibição dos dados, sendo ela por meio de um html ou xml. • Controller O responsável por receber todas as requisições do usuário. Seus métodos chamados actions são responsáveis por uma página, controlando qual model usar e qual view será mostrado ao usuário.
  • 23. Como o ASP.NET MVC funciona Controller “faz algo” Retorna o Model View Representa visualmente o Model Routing MVC (middleware)
  • 24. MVC • Para começar a utilizar o MVC em nossos projetos vamos precisar adicionar ele no pipeline de nossa aplicação, para isto vamos utilizar o seguinte código:
  • 25. MVC • Também será necessário adicionar via injeção de dependência o serviço do MVC
  • 26. Routing • Ao tentar acessar nossa aplicação, ela não saberá qual Controller e Action deverá ser executado, pois falta o roteamento
  • 27. Routing • O Roteamento pode ser configurado no AddMVC da seguinte maneira:
  • 28. Routing • Caso seja necessário criar mais rotas, elas devem ser adicionadas da rota mais especifica, para a mais genérica (de cima para baixo)
  • 29. Controllers • Com o ASP.NET Core, os controllers de Web e de API foram unificado em um tipo só para herdar. • Notem que qualquer método publico em um controller pode ser acessível e retornar.
  • 30. Controllers • Por convenção no exemplo abaixo ele irá procurar uma View com o nome Index.cshtml dentro de uma pasta chamada Home
  • 31. Controllers • É possível sobrescrever a convenção par retornar uma view especifica em determinados cenários
  • 32. Controllers • Desambiguação: em determinados momentos teremos duas actions com o mesmo nome, podemos utilizar um filtro determinando qual action funcionara no verbo http GET e qual será utilizada no POST
  • 33. Controllers • Model Binder, mecanismo do ASP.NET que transforma os parâmetros da requisição e atribui os dados em um Objeto (Model)
  • 34. Views • Views são arquivos .cshtml que utilizam C# e usam linguagem de marcação chamada Razor. • Por convenção elas são organizadas em pastas de acordo com a estrutura de Controllers da aplicação.
  • 35. Views • Podemos passar dados dos controllers para as views de diferentes maneiras, as principais são: • 1) ViewData • 2) ViewBag • 3) Model
  • 38. Views • View Engine => Razor • Helpers • Partial • Layout • Section
  • 39. Links • http://asp.net/ • https://code.visualstudio.com/ • https://docs.microsoft.com/pt-br/aspnet/ • https://rodolfofadino.com.br