ASP.NET Web Forms X ASP.NET MVC

Click here to load reader

  • date post

    15-Jun-2015
  • Category

    Documents

  • view

    8.802
  • download

    5

Embed Size (px)

description

Segunda reunião do DotNetArchitects apresentada por Daniel Ferreira

Transcript of ASP.NET Web Forms X ASP.NET MVC

  • 1. Web Forms x ASP.NET MVC
    Daniel Ferreira
    Engenheiro de Sistemas @ C.E.S.A.R
    MSP | MCP | MCTS | MCPD

2. About me
Engenheiro de Sistemas C.E.S.A.R (Recife)
FormadoemCinciasdaComputaopela UFPE
MestrandoemBancos de Dados GeogrficospelaUFPE
Microsoft Student Partner Co-lead (N/NE)
MCTS ASP.NET, MCTS WPF, MCPD ASP.NET
Contato: dfsdaniel@msn.com
3. Agenda
Entendendo o Web Forms
Vantagens e Desvantagens do WF
O padro MVC
O ASP.NET MVC Framework
Comparativos
Concluses
4. Entendendoos Web Forms
Primeiro framework de desenvolvimento web com ASP.NET
Existedesde 2001/2002
Rapidamentetomou parte do mercado, efetivamentematando o ASP 3
Era a nicasoluo de desenvolvimento web com .NET
5. Usaressetreco
tem vantagens?
6. Sim, e muito!
Rpido, realmente RAD
Designer Visual
Controlesricos
Gerenciamento de estadoabstrado
Fcil de trabalhar
Migrao de Windows Forms para Web Forms muito simples
Javascript escondidodoprogramador
Fcilintegrao com o Sharepoint
7. Masnemtudosoflores
8. Na vida de Joseph Climber
Difcilcontrolesobre o HTML gerado
Inicialmentetinhaproblemas com standards
fcilcontinuarsem standards
Dificuldade de integrao com frameworks javascript
Arquiteturanoestimula a busca de padresarquiteturais, apesar de suport-las
Quaseimpossveltestar GUI
9. MVC
10. O padro MVC
MVC = Model View Controller
Padro de arquiteturaqueseparalgica de negciodaapresentao
11. O ASP.NET MVC Framework
O que :
Implementao do padro MVC para o ASP.NET
Um novo template de projeto no Visual Studio
Uma nova maneira de desenvolver com ASP.NET
Umaopo
O queno :
Um substitutoaoWebforms
Uma nova verso dos Webforms
12. Um novo template
13. Dependncias
Um nico assembly e namespace:
System.Web.Mvc
Depende de:
System.Web (2.0)
System.Web (3.0)
System.Web.Extensions (3.5)
System.Web.Abstractions (3.5 SP1)
System.Web.Routing (3.5 SP1)
No parte do SP1 do .NET 3.5/VS 2008
14. http://www.asp.net/mvc
15. Open
Source!
16. http://codeplex.com/aspnet
17. Ciclo de Vida
A tabela de rotas criada
O UrlRoutingModeintercepta o request e determina a rota
O MVC Handler ativado e cria o controladoresperado
A ao do controller executada
Algum dado do modelo obtido
O mtodo View chamado e uma view criada
A View renderizada
18. HTML Helpers
18
ou
Antes
Agora
19. Qualquer um
podeusar?
20. No paratodos!
maiscomplexo
Exigemais do desenvolvedor
Exigeconhecimento de HTML
Exigeconhecimento de Javascript, CSS, etc.
Curva de aprendizado do web forms elevada.
21. demo
22. Devo usar Web Forms ou MVC??
23. Web Forms
Sua aplicao j est concluda (ou com boa parte pronta) com Web Forms. No faa uma aplicao meio MVC, meio Web Forms.
Tiver pouco tempo de desenvolvimento e a equipe no conhecer o padro MVC, o framework ASP.Net MVC, ou os dois.
Voc gostar muito do modelo proporcionado pelo Web Forms de iluso de manuteno de estado proporcionado pelo Viewstate.
24. Web Forms
Suas necessidades de AJAX ou manipulao de Javascript forem muito altas, ou voc odeia programar Javascript.
Voc f de carteirinha de alguns controles complexos, como o gridview, os de membership, ou ainda, voc gosta muito de databinding;
Voc precisar utilizar programao de webparts para o Sharepoint.
25. MVC
Precisar mais controle sobre o HTML gerado
Quiser ter uma aplicao focada em padres mais reconhecidos, inclusive no front-end.
Quiser trabalhar com testes unitrios tambm na interface com o usurio.
Precisar de uma aplicao mais modular, inclusive no front-end.
26. MVC
Quiser ter mais liberadade para extender alguns pedaos do framework. Com ASP.Net MVC voc pode substituir os controllers, o engine de View, a maneira de procurar Views, o framework de testes, etc.
Quiser utilizar XSLT, XML, texto puro, ou sei l o que mais para renderizar as pginas web.
Tiver a inteno de gerar uma pgina menor em bytes
27.


28. Mindset

  • Nsprecisamos de um controle Repeater!

29. Nsj o temos, se chama: lao de foreach.Conversa entre desenvolvedoresda
Microsoft, segundorelatadopor Scott
Hanselman, do time do MVC.
30. Arquitetando
31. Desvantagens do Web Forms
No tem separao de preocupaes (SoC)
Ambiente de runtime monoltico
No facilmenteestendido
No conectvel e flexvel
Alta asbtrao do HTML
Acessibilidade
Compatibilidade com navegadores
Integrao com estruturas de JavaScript populares
JQuery, Dojo e PrototypeJS
Postbacktorna a pginadifcil de ser indexadapormecanismos de busca e classificao
Estimula o arrastar-e-soltar
32. Desvantagens do MVC
Baixaprodutividade
Nomantemestado
Semfacilidadesparagerar HTML
Necessidade de conhecimento do padro MVC
No tem controles prontos
33. 34. Pginas X Aes
35. Conclundo
36. WebForms
Plug-and-Play
MVC
Expe a arquitetura
37. WebForms
Pgina Codificao
MVC
Mod. dos dados Pgina
38. 39. ?
System.Web.Mvc.GridView
40. Segurana no MVC .NET
Membership e Roles continuamvalendo
Com exceodarestrio de paginasporgrupo/usurio

41. Testes com Web Forms
Umanicapgina/classe:
Tratar a exibio dos dados
Exibiros dados
Capturar as informaesfornecidaspelousurio
Validar e manterestados
Enviar as informaesnovamentepara a aplicao.
Necessrioexecuodentro do IIS
= Forte acoplamento
42. Testes com MVC .NET
Facilidadedevidoaodesacoplamento do padro MVC
Cadaclasse, controler e mtodopode ser testadoseparadamente
Testes unitrios e template de projeto pronto
43. Links teis
Blog do Phil Haack
http://haacked.com
Blog do ScottGu
http://weblogs.asp.net/scottgu/
http://weblogs.asp.net/scottguportuguese
MSDN - ASP.NET MVC Forum
http://social.msdn.microsoft.com/Forums/pt-BR/mvcpt/threads
ComparingWebFormsand ASP.NET MVC
Dino Esposito
42
44. Conclundo