Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

Curso ASP.NET MVC 3 - Vinicius Quaiato

on

  • 10,894 views

Slides do minicurso de ASP.NET MVC 3 ministrado por Vinicius Quaiato na GlobalCode....

Slides do minicurso de ASP.NET MVC 3 ministrado por Vinicius Quaiato na GlobalCode.

O ninicurso mostra as novidades do ASP.NET MVC: Razor, WebHelpers, IDependencyResolver, dynamic ViewModel, Global Filters, Output cache, etc.

Statistics

Views

Total Views
10,894
Views on SlideShare
9,763
Embed Views
1,131

Actions

Likes
8
Downloads
491
Comments
0

2 Embeds 1,131

http://viniciusquaiato.com 1130
http://a0.twimg.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Curso ASP.NET MVC 3 - Vinicius Quaiato Curso ASP.NET MVC 3 - Vinicius Quaiato Presentation Transcript

  • ASP.NET MVC 3 Mais poder no ASP.NET MVC
  • About: Vinicius Quaiato
    • Arquitetura e desenvolvimento
    • Apaixonado pelo que faz
    • Apaixonado por MVC
    • .NET Architects
    • .NET Magazine
    • Vegetariano
    • Pai
    • Santista
    • Geek
  • Contact: me
    • http://viniciusquaiato.com
    • [email_address]
      • msn e gtalk
    • @vquaiato
  • Lambda3
    • Parceria
    • http://lambda3.com.br
  • Objetivos
  • O que é ASP.NET?
    • Framework web
    • Free
    • Roda em cima do .NET
    • Utiliza-se C# ou VB.NET
    • Independe de Browser
    • Aplicações rodam no IIS
  • O que é ASP.NET?
    • Conjunto de componentes
    • Possibilita escolha de componentes
      • Terceiros
      • Microsoft
    • Possui uma enorme comunidade
    • Milhares de aplicações
    • Não é o mesmo que WebForms!
  • O que é ASP.NET?
  • O que é ASP.NET MVC?
    • Parte do ASP.NET
    • Uma forma de programar ASP.NET
    • Um framework
      • Classes
      • Componentes
      • Templates de projeto
  • O que é ASP.NET MVC?
    • Framework que implementa padrão MVC
    • MVC é um padrão arquitetural
      • Não é apenas uma tecnologia
  • O que é ASP.NET MVC?
  • WebForms é ruim?
    • Depende!
    • Uma plataforma madura
    • Possui cerca de 10 anos de mercado
    • Fornece uma vasta variedade de controles
    • Trabalha com o modelo de Forms comum aos desenvolvedores desktop
  • WebForms é ruim?
    • Ciclo de vida muito complexo
    • Dificuldade em testar
    • Difícil separar lógica de domínio de lógica de interface
    • Difícil controlar a saída para o browser
    • Difícil trabalhar com Ajax
    • MS Ajax é muito ruim
  •  
  • ASP.NET Page life cycle
  • WebForms é ruim?
    • Há quem consiga trabalhar bem com ele
    • Há quem consiga fazer bons projetos
    • Há quem esteja acostumado com ele
  •  
  •  
  •  
    • Então...
  • Não precisa ser tão complicado!
  • ASP.NET MVC é cool!
  • Por que usar ASP.NET MVC?
    • Padrão de arquitetura
    • Framework possibilita SoC
      • Separação de conceitos/resposabilidades
      • Maior coesão
      • Maior clareza
      • Facilidade no desenvolvimento
  • Por que usar ASP.NET MVC?
    • Permite o trabalho com TDD
      • É tudo testável!
    • Você tem controle do HTML gerado
    • Lógica de negócios não se mistura com lógica de interface
  • Quando usar MVC?
    • Sempre?!
  • Quando não usar MVC?
    • Projetos simples não devem usar MVC
  • Quando não usar MVC?
    • Projetos simples não devem usar MVC
    Mentira!
  • Quando não usar MVC?
    • A equipe não conhece o ASP.NET MVC
  • Quando não usar MVC?
    • A equipe não conhece o ASP.NET MVC
    Mentira!
  • Quando não usar MVC?
    • Precisar de controles prontos
  • Quando não usar MVC?
    • Precisar de controles prontos
    Mentira!
  • Quando não usar MVC?
    • Precisar trabalhar com AJAX
  • Quando não usar MVC?
    • Precisar trabalhar com AJAX
    Mentira!
  • Quando não usar MVC?
    • Meu projeto já é WebForms
  • Quando não usar MVC?
    • Meu projeto já é WebForms
    Verdade!
  • Quando não usar MVC?
    • Preciso de um framework maduro
  • Quando não usar MVC?
    • Preciso de um framework maduro
    Mentira!
  • Quando não usar MVC?
    • Precisar de mais profissionais do mercado
  • Quando não usar MVC?
    • Precisar de mais profissionais do mercado
    Mentira!
  • Quando não usar MVC?
    • Preciso fazer meu projeto rápido
  • Quando não usar MVC?
    • Preciso fazer meu projeto rápido
    Mentira!
  • Quando usar ASP.NET MVC?
    • Então...
    • ...use ASP.NET MVC em todas as situações anteriores!
  • Qual usar?
    • ASP.NET MVC 1?
    • ASP.NET MVC 2?
    • ASP.NET MVC 3?
  • ASP.NET mvc 3
  • O que há de novo no MVC 3?
  • Razor
  • Razor
    • View Engine
    • Uma forma de criar as Views
    • Não é uma nova linguagem
      • Usa-se C# ou VB
    • Criado para facilitar o trabalho com as views
    • Transição de HTML para server side quase transparente
    • Ele é muito inteligente
  • Razor
    • Objetivo é facilitar
    • Chega de <% %>
    • Agora é simplesmente @
    • Conhece HTML e conhece C#/VB
    • Agora no Release Candidate há colorização e intellisense
  • Demo
    • Primeiro contato com Razor
  • Razor
    • Podemos trabalhar com statements
      • Condicionais
      • Declarações de variáveis
      • Multi line statements
      • Mesclar HTML + server code
    • Sim, o Razor é inteligente demais!
  • Demo
    • Conhecendo a sintaxe do Razor
  • Razor
    • A idéia é facilitar o uso com o Razor:
      • Helpers
      • Functions
    • Helpers no geral são código server side que produz código HTML
    • Functions são métodos não não possuem output HTML
  • Demo
    • Escrevendo Helpers com Razor
    • Escrevendo functions com Razor
  • Razor
    • Facilidades na criação de templates
    • Não é necessário trabalhar com MasterPages
    • Criam-se páginas de layout e sections
      • As sections são customizadas
  • Demo
    • Layout Pages com Razor
  • Razor
    • Possibilidade de executar código da View antes de carregar
    • Ajuda a manter algumas coisas em um único ponto
    • Mantém o DRY
  • Demo
    • Mantendo DRY com _ViewStart.cshtml
  • Dynamic ViewModel
    • Facilidade no acesso e manipulação do ViewData
    • Utiliza recursos de programação dinâmica do .NET 4
    • Funciona tanto do lado do controller quanto da view
    • Mantém o código mais legível
  • Dynamic ViewModel
  • Demo
    • Usando Dynamic ViewModels
  • WebHelpers
    • Helpers criados para facilitar algumas ativiades:
      • Envio de emails
      • Criação e exibição de charts
      • Criação e manipulação de dados tabulares (grid)
      • Anti forgery
      • Criptografia
      • Json
      • E outros.
  • WebHelpers
    • A idéia é facilitar
    • Reaproveitar o trabalho
    • Se preocupar mais com o negócio do que com a tecnologia
    • Utilizar o poder do framework
  • Demo
    • WebChart, WebMail e WebGrid helpers
  • ActionResult types
    • Dois novos tipos de ActionResult
    • Retornam status code apropriados
    • HttpNotFound
    • HttpStatusCode
    • Informações importantes para search engines
  • Demo
    • Usando os novos ActionResult types
  • Global Filters
    • Filtros definidos para controllers
    • Aplica-se de forma global a todos os controllers
    • Conseguem fazer a interceptação das actions
    • Conseguem executar atividades em momentos chave
    • Mantém o DRY
  • Demo
    • Utilizando Global Filters
  • IDependencyResolver
    • Uma forma simples de resolver dependências
    • Tudo via configuração
    • TDD fica mais simples
    • Responsabilidades ficam separadas
    • Só é necessário informar quem sabe resolver as coisas
  • Demo
    • Simplificando com IDependencyResolver
  • ASP.NET MVC 3 RC
    • Suporte a controle de session state dos controllers
    • Output cache para child actions
    • Colorização e intellisense do Razor
    • Novos atributos de validação
      • Compare
      • Remote
  • Sessionless controllers
    • HTTP é stateless, não mantém estado
    • Ajuda evitar uso descabível se sessions
    • Sessões não são para passar parâmetros
    • Sessões não são “banco de dados”
    • Session não é thread safe
      • Múltiplos requests do mesmo user criarão uma fila
      • Sessionless permite processar em paralelo
  • Demo
    • Trabalhando com sessionless controllers
  • Output cache
    • Já existe no ASP.NET
    • A novidade é output cache para child actions
    • Faz cache da action e não de toda uma view
    • Granular
      • Pode variar por parâmetros
      • Facilmente configurável com atributtes
  • Demo
    • Usando output cache para child actions
  • O que faltou?
    • JavaScript/JQuery não obstrusivo
    • Atributos de validação
    • Request Validations
    • IViewActivator e IControllerActivator
    • Muito obrigado!
  • Contact: me
    • http://viniciusquaiato.com
    • [email_address]
      • msn e gtalk
    • @vquaiato
  • Links
    • http://asp.net/mvc
    • http://asp.net/mvc/mvc3
    • http://weblogs.asp.net/scottgu /
    • http://haacked.com /
    • http://viniciusquaiato.com/blog/asp-net-mvc-3/