O documento apresenta Giovanni Bassi e sua palestra sobre ASP.Net MVC. A palestra irá explicar o que é ASP.Net MVC, quando usá-lo, seu padrão arquitetônico MVC e demonstrar criando controllers, views e rotas.
Release contínuo de um microsserviço com Docker ASP.net core e Azure Containe...
Conhecendo ASP.Net MVC
1. Conhecendo o ASP.Net MVC
Giovanni Bassi
giggio@giggio.net
http://unplugged.giggio.net
2. Giovanni Bassi
Arquiteto de software
Microsoft MVP
Consultoria, gestão, mentoring
Treinamento
C#, VB, J#, F#, etc...
.Net de Beta a Beta
Dezenas de artigos na .Net Magazine
Editor técnico da .Net Magazine
Palestrante
Professor universitário
Líder e fundador do .Net Architects (1º grupo de arquitetura de
software com .Net do Brasil)
4. Agenda
Entendendo Webforms
O que é o ASP.Net MVC
Quando usar
O que é o padrão ASP.Net MVC
Do que eu preciso?
Entendendo o ciclo de vida
FAQ
Mais demos (stretch goals)
Criando controller e view
Métodos e ações
Utilizando um Modelo
Rotas
6. Entendendo WebForms (WF)
• Primeiro framework de desenvolvimento web
com ASP.Net
• Existe desde 2001/2002
• Rapidamente tomou parte do mercado,
efetivamente matando o ASP3
• É hoje A solução de desenvolvimento web com
.Net
7. Prós
• Rápido, realmente RAD
• Designer visual
• Controles ricos
• Gerenciamento de estado abstraído
• Fácil de trabalhar
• Migração entre Windows Forms e WebForms é
muito simples
• Javascript “escondido” do programador
• Fácil integração com Sharepoint
8. Contras
• Difícil controle sobre o HTML gerado
• Inicialmente tinha problema com standards
– É fácil continuar sem standards
• Dificuldade na integração com frameworks
javascript
– será resolvido na versão 4.0
• Arquitetura não estimula a busca de padrões
arquiteturais, apesar de suportá-las
• Quase impossível testar GUI
14. É para todos?
• ASP.Net MVC não é para todos
• É mais complexo
• Exige mais do desenvolvedor
• Exige conhecimento de HTML
• Exige conhecimento de Javascript, CSS, etc
15. Quando usar: político
• Time maduro
• Time disposto ao desafio
• Time motivado a aprender
• Tempo do projeto deve permitir
• Time possui cultura de testes
16. Quando usar: técnico
• Nada de projetos “híbridos”
• Controle sobre o HTML
• Tamanho do HTML
• Foco em standards
• Flexibilidade
• Foco em padrões de projeto e arquitetura
• Foco em bons princípios de programação (KISS,
DRY)
• Quiser tirar vantagem do Routing agora
• Dois formulários HTML na mesma página
22. Dependências
• Um único assembly:
Abstractions
– System.Web.Mvc
• Depende de:
– System.Web (2.0)
– System.Core (3.5) Routing
– System.Web Extensions (3.5)
– System.Web.Abstractions (3.5 SP1)
– System.Web.Routing (3.5 SP1)
MVC
• Um único namespace:
– System.Web.Mvc
• Não é parte do SP 1 do .Net 3.5/VS 2008
25. Ciclo de vida
1. A tabela de rotas é criada
2. O UrlRoutingModule intercepta o request e
determina a rota
3. O MvcHandler é ativado e cria o controlador
esperado
4. A ação do controller é executada
5. Algum dado do modelo é obtido
6. O método View é chamado e uma view é criada
7. A view renderiza
28. FAQ
• Disponibilidade do framework
• Estabilidade
• Performance
• Segurança
• Flexibilidade
• Open Source?
– Código no Codeplex:
http://www.codeplex.com/aspnet
• Versão 2.0
29. Links
• Site do ASP.Net
– http://www.asp.net/mvc
• Blog do Scot Hanselman (MSFT – Routing/MVC)
– http://www.hanselman.com/blog/CategoryView.aspx?cate
gory=ASP.NET+MVC
• Blog do Scott Guthrie (MSFT)
– http://weblogs.asp.net/scottgu/archive/tags/ASP.NET/defa
ult.aspx
• Blog do Phil Haack (MSFT – Routing/MVC)
– http://haacked.com/Tags/ASP.NET%20MVC/default.aspx
• Blog do Rob Conery (MSFT – Routing/MVC)
– http://blog.wekeroad.com/tags/aspnetmvc
• Meu blog:
– http://unplugged.giggio.net/?tag=/asp.net+mvc
35. Mindset
- Nós precisamos de um controle Repeater!
- Nós já o temos, se chama: laço de foreach.
Conversa entre desenvolvedores da
Microsoft, segundo relatado por Scott
Hanselman, do time do MVC.