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!

Like this? Share it with your network

Share

Curso ASP.NET MVC 3 - Vinicius Quaiato

  • 11,073 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
11,073
On Slideshare
9,942
From Embeds
1,131
Number of Embeds
2

Actions

Shares
Downloads
495
Comments
0
Likes
8

Embeds 1,131

http://viniciusquaiato.com 1,130
http://a0.twimg.com 1

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/