O documento apresenta uma introdução ao framework ASP.NET MVC, comparando-o com o ASP.NET WebForms. Apresenta as principais características e benefícios do ASP.NET MVC, como controle total sobre HTML, URLs amigáveis, separação de responsabilidades e testabilidade. A agenda inclui explicar o que é o ASP.NET MVC, as diferenças em relação ao WebForms, criar um projeto de exemplo e avaliar recursos como routing, controllers, views e validação.
ASP .NET MVC - Você esta pronto para a pílula vermelha?
1. ASP .NET MVC Você esta pronto para a pílula vermelha? Douglas Aguiar http://twitter.com/DouglasAguiar http://devisland.com http://sitewaredevelopers.blogspot.com
2. Quem é Douglas Aguiar? Gerente de Desenvolvimento na Siteware – http://www.sitewarebrasil.com. Líder do Projeto DevIsland – http://devisland.com. Um Geek alucinado por tecnologia, desenvolvimento e arquitetura de software. Trabalha com desenvolvimento há 8 anos. Possui as certificações:
4. Vertentes Ilhas de Desenvolvimento em parceria com Centros Tecnológicos DevDojo DevCast (Podcast e/ou Webcast) DevCommunity, uma comunidade de desenvolvimento DevDay, evento anual com palestras e novidades tecnológicas
5. As Ilhas Programando com C# e .Net 4.0 Algoritmos e Estruturas de Dados com C# Gerencie seu código: TeamFoundation Server e Mercurial TDD, BDD Conceitos SOLID, DRY, KISS e outros DDD (DomainDriven Design) Modelagem usando Entity Framework 4 e NHibernate Utilizando e compreendendo o framework LiteFX Desenvolvendo aplicativos utilizando o ASP. NET MVC Scrum Elaborando especificações de software
6.
7. Agenda O que é o ASP .NET MVC? Diferenças entre WebForms e o ASP .NET MVC. Hello World! Com o ASP .NET MVC. Uma aplicação pronta para avaliarmos os principais recursos do ASP .NET MVC. Routing. Controllers. Model. Views. ModelBinder. Validation.
8. O que é o ASP .NET MVC? É um framework para o desenvolvimento de aplicações web que utilizem o padrão Model-View-Controller - http://bit.ly/kTExW. O ASP .NET MVC é LIVRE. É um framework com suporte completo da Microsoft. Como o WebForms, o ASP .NET MVC é construído sobre o ASP .NET Framework.
9. Principais Benefícios Controle total sobre o HTML. Poderosa integração com AJAX. URLs amigáveis. Separação de responsabilidades clara. SoC – SeparationofConcerns - http://bit.ly/SMSKF. Aplicações fáceis de manter (aumenta o tempo de vida da aplicação). Testável – Suporta TDD TDD – Test-drivedevelopment - http://bit.ly/zBGgt.
10. WebForms não é ruim!O ASP .NET MVC não irá substituir o WebForms !
14. Esta é a construção O framework onde podemos instanciar tudo, buttons, dropdownlists, calendars, datagrids, datasets, qualquer coisa que precisarmos.
15. Este é o mundo que vocês conhecem. E ele existe somente por causa de uma simulação que chamamos de WebForms.
16. Vocês viviam em mundo de sonhos. E este é o mundo que existe realmente.
17. Bem vindos ao mundo REAL! PROTOCOLO HTTP GET /index.html HTTP/1.1 Host: www.exemplo.com POST /index.html HTTP/1.0 Accept: text/html If-modified-since: Sat, 29 Oct 1999 19:43:31 GMT Content-Type: application/x-www-form-urlencoded Content-Length: 30 Nome=NamePessoa&Idade=99&Curso=Computacao
18. Bem vindos ao mundo REAL! <html> <head> <title>Título da Página</title> </head><body>javascript, css... texto, imagem, links, ...</body> </html>
19. Em torno de 2001 todos estávamos celebrando a chegada do ASP .NET e do WebForms. Um framework que gerou uma raça inteira de aplicativos.
20. Programadores produziam milhares de linhas de código por dia para aplicações Windows, usando VB6, C#, VB.NET, Delphi, C++ e outros. O Webforms é um framework criado para fazer com que nós, desenvolvedores, acreditássemos que estavamos programando com isto.
21. Eu disse que não seria fácil, tudo que ofereci foi a verdade.
22. TheRedPillPrincipais diferenças entre: WebForms Statefull – ViewState. Desenvolvimento parecido com o WindowsForms. Difícil de testar. SoC mais difícil. !know({HTML, javascript, CSS}) Mais rígido. ASP .NET MVC Stateless. Desenvolvimento Web exposto. Ele expõe o HTTP. Fácil de testar. SoC. know({HTML, javascript, CSS}) Flexível – looselycoupled. http://msdn.microsoft.com/pt-br/magazine/dd942833.aspx
24. Qual é o melhor? Como no WebForms, o que alguns percebem claramente como uma força outros podem vê-la como uma fraqueza. Por exemplo o controle total sobre o HTML, Javascript e etc., pode ser considerado como uma fraqueza por alguns.
28. Uma avaliação dos principais recursos do ASP .NET MVC Avaliando Routing, Controllers, Model, Views, ModelBinders e Validation. {Let’scodedevelopers!!!}
29. Routing Principais benefícios URLs amigáveis Facilita a otimização para mecanismos de pesquisa (SEO – Search EngineOptimizer - http://bit.ly/UDII) Melhor organização Melhoria na arquitetura da informação RESTful - http://pt.wikipedia.org/wiki/REST
30. Controller Deixe o seus controllers “magros” KIS – Keep It Simple - http://bit.ly/zZYNX, http://bit.ly/sty7R http://www.youtube.com/watch?v=91C7ax0UAAc RESTful - http://pt.wikipedia.org/wiki/REST http://www.youtube.com/watch?v=p30dcETXwD4
31. Model Model tem que ser “gordo”, ele é o domínio da sua aplicação http://www.youtube.com/watch?v=91C7ax0UAAc
32. View Suas Views devem ser “estúpidas” KISS – Keep It Simple, Stupid - http://bit.ly/zZYNX, http://bit.ly/sty7R http://www.youtube.com/watch?v=ku3QkWcPSEw Regra de Rob Conery – Onde houver um IF construa um Helper http://blog.wekeroad.com/blog/asp-net-mvc-avoiding-tag-soup/
36. Referências ASP .NET MVC Site http://asp.net/mvc Elijah Manor http://elijahmanor.com/ Stephen Walther http://weblogs.asp.net/StephenWalther Scott Guthrie http://weblogs.asp.net/Scottgu/ Scott Hanselman http://www.hanselman.com/blog/ Phil Haack http://haacked.com/ Giovanni Bassi http://unplugged.giggio.net/
37. Obrigado pela participação! Perguntas? Douglas Aguiar http://twitter.com/DouglasAguiar http://devisland.com http://sitewaredevelopers.blogspot.com