• Like

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.

Curso ASP.NET MVC 3 - Vinicius Quaiato

  • 10,378 views
Uploaded on

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.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
10,378
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
497
Comments
0
Likes
8

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. ASP.NET MVC 3 Mais poder no ASP.NET MVC
  • 2. About: Vinicius Quaiato
    • Arquitetura e desenvolvimento
    • Apaixonado pelo que faz
    • Apaixonado por MVC
    • .NET Architects
    • .NET Magazine
    • Vegetariano
    • Pai
    • Santista
    • Geek
  • 3. Contact: me
    • http://viniciusquaiato.com
    • [email_address]
      • msn e gtalk
    • @vquaiato
  • 4. Lambda3
    • Parceria
    • http://lambda3.com.br
  • 5. Objetivos
  • 6. 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
  • 7. 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!
  • 8. O que é ASP.NET?
  • 9. O que é ASP.NET MVC?
    • Parte do ASP.NET
    • Uma forma de programar ASP.NET
    • Um framework
      • Classes
      • Componentes
      • Templates de projeto
  • 10. O que é ASP.NET MVC?
    • Framework que implementa padrão MVC
    • MVC é um padrão arquitetural
      • Não é apenas uma tecnologia
  • 11. O que é ASP.NET MVC?
  • 12. 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
  • 13. 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
  • 14.  
  • 15. ASP.NET Page life cycle
  • 16. WebForms é ruim?
    • Há quem consiga trabalhar bem com ele
    • Há quem consiga fazer bons projetos
    • Há quem esteja acostumado com ele
  • 17.  
  • 18.  
  • 19.  
  • 20.
    • Então...
  • 21. Não precisa ser tão complicado!
  • 22. ASP.NET MVC é cool!
  • 23. 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
  • 24. 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
  • 25. Quando usar MVC?
    • Sempre?!
  • 26. Quando não usar MVC?
    • Projetos simples não devem usar MVC
  • 27. Quando não usar MVC?
    • Projetos simples não devem usar MVC
    Mentira!
  • 28. Quando não usar MVC?
    • A equipe não conhece o ASP.NET MVC
  • 29. Quando não usar MVC?
    • A equipe não conhece o ASP.NET MVC
    Mentira!
  • 30. Quando não usar MVC?
    • Precisar de controles prontos
  • 31. Quando não usar MVC?
    • Precisar de controles prontos
    Mentira!
  • 32. Quando não usar MVC?
    • Precisar trabalhar com AJAX
  • 33. Quando não usar MVC?
    • Precisar trabalhar com AJAX
    Mentira!
  • 34. Quando não usar MVC?
    • Meu projeto já é WebForms
  • 35. Quando não usar MVC?
    • Meu projeto já é WebForms
    Verdade!
  • 36. Quando não usar MVC?
    • Preciso de um framework maduro
  • 37. Quando não usar MVC?
    • Preciso de um framework maduro
    Mentira!
  • 38. Quando não usar MVC?
    • Precisar de mais profissionais do mercado
  • 39. Quando não usar MVC?
    • Precisar de mais profissionais do mercado
    Mentira!
  • 40. Quando não usar MVC?
    • Preciso fazer meu projeto rápido
  • 41. Quando não usar MVC?
    • Preciso fazer meu projeto rápido
    Mentira!
  • 42. Quando usar ASP.NET MVC?
    • Então...
    • ...use ASP.NET MVC em todas as situações anteriores!
  • 43. Qual usar?
    • ASP.NET MVC 1?
    • ASP.NET MVC 2?
    • ASP.NET MVC 3?
  • 44. ASP.NET mvc 3
  • 45. O que há de novo no MVC 3?
  • 46. Razor
  • 47. 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
  • 48. Razor
    • Objetivo é facilitar
    • Chega de <% %>
    • Agora é simplesmente @
    • Conhece HTML e conhece C#/VB
    • Agora no Release Candidate há colorização e intellisense
  • 49. Demo
    • Primeiro contato com Razor
  • 50. Razor
    • Podemos trabalhar com statements
      • Condicionais
      • Declarações de variáveis
      • Multi line statements
      • Mesclar HTML + server code
    • Sim, o Razor é inteligente demais!
  • 51. Demo
    • Conhecendo a sintaxe do Razor
  • 52. 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
  • 53. Demo
    • Escrevendo Helpers com Razor
    • Escrevendo functions com Razor
  • 54. 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
  • 55. Demo
    • Layout Pages com Razor
  • 56. Razor
    • Possibilidade de executar código da View antes de carregar
    • Ajuda a manter algumas coisas em um único ponto
    • Mantém o DRY
  • 57. Demo
    • Mantendo DRY com _ViewStart.cshtml
  • 58. 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
  • 59. Dynamic ViewModel
  • 60. Demo
    • Usando Dynamic ViewModels
  • 61. 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.
  • 62. 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
  • 63. Demo
    • WebChart, WebMail e WebGrid helpers
  • 64. ActionResult types
    • Dois novos tipos de ActionResult
    • Retornam status code apropriados
    • HttpNotFound
    • HttpStatusCode
    • Informações importantes para search engines
  • 65. Demo
    • Usando os novos ActionResult types
  • 66. 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
  • 67. Demo
    • Utilizando Global Filters
  • 68. 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
  • 69. Demo
    • Simplificando com IDependencyResolver
  • 70. 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
  • 71. 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
  • 72. Demo
    • Trabalhando com sessionless controllers
  • 73. 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
  • 74. Demo
    • Usando output cache para child actions
  • 75. O que faltou?
    • JavaScript/JQuery não obstrusivo
    • Atributos de validação
    • Request Validations
    • IViewActivator e IControllerActivator
  • 76.
    • Muito obrigado!
  • 77. Contact: me
    • http://viniciusquaiato.com
    • [email_address]
      • msn e gtalk
    • @vquaiato
  • 78. 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/