ASP .NET Core MVC

43
Aplicações Web multiplataforma com ASP .NET Core MVC

Transcript of ASP .NET Core MVC

Aplicações Web multiplataforma com ASP .NET Core MVC

Rafael Pessoni• Sistemas de Informação• Desenvolvedor de Software• MCP – Microsoft Certified Professional• Engenharia Solutions & SMN

Vinicius Mussak• Desenvolvo soluções/bugs• Microsoft Student Partner• MCP – Microsoft Certified Professional• Estudo Sistemas de Informação• Sou um péssimo piadista

Engenharia Solutions & SMN

Engenharia Solutions & SMN

Engenharia Solutions & SMN

Come with us!

Agenda• Introdução• Requisitos para começar• Arquitetura Web• HTTP• O que é ASP .NET Core MVC• O MVC

Agenda• Controllers• Views• Models• Rotas

IntroduçãoC# 6 C# 6

.NET Framework 4.6.2.NET Core 1.0.1

CoreCLR .NET Native

ASP .NET 4.6.2 (System.Web) ASP .NET Core 1.0.1 (Microsoft.AspNetCore)

ASP .NET MVC 5.2.3

ASP .NET Web Forms 4.6.2

ASP .NET Web API 2.2 ASP .NET Core MVC 1.0.1 (MVC + Web API)

Visual Basic 14 Visual Basic 14 (Em breve)

Requisitos para começar

ASP .NET + =♥

Requisitos para começar

Visual Studio Community 2015

Visual Studio Code

Arquitetura WebCliente Servido

r

Cliente

Servidor

HTTP – Hyper Text Transfer Protocol

http://

http://

http://

http://

Verbos HTTP

Verbos HTTP

Denominação correta:

HTTP Methods

Verbos HTTP

Indica qual ação será executada

Verbos HTTP

HTTP/1.1• OPTIONS• PUT• DELETE• TRACE• CONNECT

HTTP/1.0• GET• POST• HEAD

HTTP GET

http://fatec.com.br/alunos?nomeMae=Maria

QueryString

HTTP POST

http://fatec.com.br/alunos/novo

{ nome: “Carlos”, nomeMae: “Margarida” }

Body

StateFul x StateLess

StateFul

StateLess

O que é o ASP .NET Core MVC• Um conjunto de conceitos unificados• Aplicações web gráficas e como serviço• Construído sobre o ASP .NET Core• Suporta o .NET Core• Hospedagem no IIS• Hospedagem própria• Web Listener no Windows• Kestrel multiplataforma

ASP .NET Core MVC

MVC

View Controller

Model

Models• Classes para atender ao negócio

• Entidades

• Acesso à dados

• Serviços

ORM – Object Relational Mapping

Aplicação ORM

DEMO• Validação de dados• Model State• Data Annotations

Controllers• Recebe e responde requisições

• Não possui regras de negócio!

• “Ponte” entre a View e a Model

• Sufixo “Controller”• Exemplo: ClienteController

Acionamento do Controller

http://meusite.com.br/cliente

ClienteController

DEMO• Escrevendo o primeiro

Controller• Recebendo parâmetros• Redirecionamento• Action Results

Views• Representação gráfica do modelo

• Interagir e alterar o model

• Não possui regras de negócio!

• No máximo, regras de visualização

DEMO• Conhecendo a Layout Page• View Data, View Bag,

TempData e Session• Utilizando Partial Views• Html Helpers• Tag Helpers

Rotas• Recurso lógico

• URL’s amigáveis

DEMO• Utilizando rotas

Alguma dúvida até aqui?

DEMO• TODO List

Dúvidas?

Obrigado!

Rafael Pessonigithub.com/

rafael-pessonifacebook.com/

[email protected]

Rafael.Pessoni

Vinicius Mussakgithub.com/

vmussak

facebook.com/

ViniciusMussak

@outlook.com

Vinicius.Mussak