Download - Produtividade na criação de websites com ASP.NET MVC

Transcript
Page 1: Produtividade na criação de websites com ASP.NET MVC

Produtividade na criação de websites com ASP.NET MVC

Waldyr FelixMVP, MCPD, MCTS, MCP Arquiteto de software e ConsultorE-mail: [email protected]: waldyrfelix.net | Twitter: @WaldyrFelix

Page 2: Produtividade na criação de websites com ASP.NET MVC

MVC

Page 3: Produtividade na criação de websites com ASP.NET MVC

1.Usar as convenções do ASP.NET MVC2.Template Scaffolding 3.Entity Framework Code First & Migrations4.Partial Views e Template Views5.Validações via Data Annotations6.Crie HTML Helpers7.Use Bootstrap8.Web Essentials

O que veremos hoje

Page 4: Produtividade na criação de websites com ASP.NET MVC

Vocês depois da palestra

Page 5: Produtividade na criação de websites com ASP.NET MVC

• Existem diversas convenções no ASP.NET MVC• Respeitar nomes dos Controllers nas pastas das Views• Nomear as Views com o mesmo nome das Actions• Deixar os nomes das Actions de GET e POST de uma

mesma tela com o mesmo nome• Seguir o padrão de rotas estabelecido no projeto• Usar os Model Binders para pegar os dados da

requisição

1) Usar as convenções do ASP.NET MVC

Page 6: Produtividade na criação de websites com ASP.NET MVC

Controllers tem uma pasta correspondente de mesmo nome

Para cada Action que renderize uma páginadeve haver uma View de mesmo nome

As Partial Views devem ter um underscorecomo prefixo em seus nomes

Convenção de nomes de pasta

Page 7: Produtividade na criação de websites com ASP.NET MVC

Actions de GET e POST

Page 8: Produtividade na criação de websites com ASP.NET MVC

Exemplo de rota padrão

http://localhost/Produto/Editar/2

Parâmetro da rota

Nome da action

Nome do controller

Domínio

Page 9: Produtividade na criação de websites com ASP.NET MVC

• Possibilitam usar classes customizadas como parâmetro das Actions

• Usam convenção de nomes para preenchimento dos dados

Model Binders

public ActionResult Criar(Produto produto){...

public ActionResult Criar(Produto[] produtos){...

Page 10: Produtividade na criação de websites com ASP.NET MVC

• Gera código repetitivo das Views e Controllers• Pode ser usado para criar somente as actions do

Controller ou para gerar o CRUD completo• Existem Scaffolding de Controllers e de APIs• Já vem por padrão no Visual Studio• Pode ser customizado para atender necessidade do

projeto

2) Template Scaffolding

Page 11: Produtividade na criação de websites com ASP.NET MVC

• Botão direito na pasta Controllers > Add > Controller...

Gerar código a partir dos templates scaffolding

Page 12: Produtividade na criação de websites com ASP.NET MVC

• Basta copiar o template padrão para dentro do projeto

• Geralmente ficam na pasta: “C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ItemTemplates\CSharp\Web\MVC 4\CodeTemplates”

• Depois de copiado, basta alterar o template T4 para se adequar a seu projeto

• Para criar as telas novamente basta seguir o mesmo processo de sempre

Customizando os templates scaffolding

Page 13: Produtividade na criação de websites com ASP.NET MVC

3) Entity Framework Code First & Migrations

Page 14: Produtividade na criação de websites com ASP.NET MVC

• Criar primeiro as classes “Entidades” depois criamos o banco

• Não precisamos saber o que está acontecendo no banco de dados

• Trabalhar completamente orientado a objetos de verdade!

• Sem EDMX• Maior controle sobre as configurações• As mina pira

Entity Framework Code First

Page 15: Produtividade na criação de websites com ASP.NET MVC

• Versionar o banco de dados usando C#

• Permite fazer upgrade e downgrade das versões

• Funciona dentro ou fora do Visual Studio através de linha de comando

• Não elimina os dados quando muda o esquema do banco

• É lindo

Entity Framework Migrations

Page 16: Produtividade na criação de websites com ASP.NET MVC

Vamos ver isso tudo na prática!!!

Page 17: Produtividade na criação de websites com ASP.NET MVC

Já podemos descansar… Só que não

Page 18: Produtividade na criação de websites com ASP.NET MVC

• As Partial Views são pequenos trechos de Views que podem ser reutilizados em vários pontos

• São como os User Controls do Web Forms• Os Template Views são pedaços de Views que

podem ser utilizados a partir de um tipo de dado• Existem Templates de edição e de visualização

4) Partial Views e Template Views

Page 19: Produtividade na criação de websites com ASP.NET MVC

Vamos ver isso tudo na prática!!!

Page 20: Produtividade na criação de websites com ASP.NET MVC

• Esse tipo de validação é feita no Model • Usam atributos (data annotations) para

descrever o que será validado• Afetam tanto o servidor como o cliente

(validação em JavaScript)• Não precisa mudar nada nas Views somente

no Model

5) Validações via Data Annotations

Page 21: Produtividade na criação de websites com ASP.NET MVC

Vamos ver isso tudo na prática!!!

Page 22: Produtividade na criação de websites com ASP.NET MVC

• Os Helpers são os controles do ASP.NET MVC• Através deles podemos criar componentes

reutilizáveis em vários projetos• Componentes de tela que aparecem muitas

vezes num Sistema ou em vários Sistemas devem feitos com HTML Helpers

6) Crie HTML Helpers

@Html.TextBoxFor(model => model.Name)

@Html.MeuHelper(model => model.Name)

Page 23: Produtividade na criação de websites com ASP.NET MVC

• Ferramenta para criar rapidamente sites usando um padrão pré definido

• Muito usado para criar protótipos de tela rapidamente

• Tornou-se um padrão para a construção de sites

• Existem milhares de templates prontos

6) Use Bootstrap

Page 24: Produtividade na criação de websites com ASP.NET MVC

• Extensão do Visual Studio que ajuda no desenvolvimento Web

• Vários facilitadores para HTML, CSS e JavaScript

• Tools > Extensions and Updates… Web Essentials

7) Web Essentials

Page 25: Produtividade na criação de websites com ASP.NET MVC

HTML/CSS/JavaScript

Page 26: Produtividade na criação de websites com ASP.NET MVC

Muito obrigado a todos!

Waldyr FelixE-mail: [email protected]: waldyrfelix.net | Twitter: @WaldyrFelix