SlideShare uma empresa Scribd logo
1 de 37
ASP .NET MVC Você esta pronto para a pílula vermelha? Douglas Aguiar http://twitter.com/DouglasAguiar http://devisland.com http://sitewaredevelopers.blogspot.com
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:
DEVELOPERS!!! WHAT’S YOUR PROFESSION?!?!?!CODE! CODE! CODE! Projeto DevIsland – http://devisland.com
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
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
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.
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.
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.
WebForms não é ruim!O ASP .NET MVC não irá substituir o WebForms !
Uma comparação com a Matrix WebForms – Matrix ASP .NET MVC – Mundo Real
Vocês estão prontos para a pílula vermelha?
Vocês querem saber o que é o WebForms? Então tentem relaxar.
Esta é a construção O framework onde podemos instanciar tudo, buttons, dropdownlists, calendars, datagrids, datasets, qualquer coisa que precisarmos.
Este é o mundo que vocês conhecem. E ele existe somente por causa de uma simulação que chamamos de WebForms.
Vocês viviam em mundo de sonhos.  E este é o mundo que existe realmente.
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
Bem vindos ao mundo REAL! <html> <head> <title>Título da Página</title> </head><body>javascript, css...	texto, imagem, links, ...</body> </html>
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.
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.
Eu disse que não seria fácil, tudo que ofereci foi a verdade.
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
O ASP .NET MVC é para DESENVOLVEDORES WEB
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.
Exemplo rápido!Hello MVC! { Let’scodedevelopers!!! }
MVC
ASP .NET MVC
Uma avaliação dos principais recursos do ASP .NET MVC Avaliando Routing, Controllers, Model, Views, ModelBinders e Validation. {Let’scodedevelopers!!!}
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
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
Model Model tem que ser “gordo”, ele é o domínio da sua aplicação http://www.youtube.com/watch?v=91C7ax0UAAc
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/
ModelBinder O melhor do MVC em ação
Validation Validação do Model integrada com o ModelState Validação customizada, DataAnnotations, IDataErrorInfo.
MVC na Prática
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/
Obrigado pela participação! Perguntas? Douglas Aguiar http://twitter.com/DouglasAguiar http://devisland.com http://sitewaredevelopers.blogspot.com

Mais conteúdo relacionado

Mais procurados

Criar um sistema com asp net
Criar um sistema com asp netCriar um sistema com asp net
Criar um sistema com asp netAnderson Wernek
 
Introdução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsIntrodução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsCloves Moreira Junior
 
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
Desenvolvimento em três camadas com PHP 5, MVC e AJAXDesenvolvimento em três camadas com PHP 5, MVC e AJAX
Desenvolvimento em três camadas com PHP 5, MVC e AJAXOtávio Calaça Xavier
 
Nadando em Dinheiro com jQuery
Nadando em Dinheiro com jQueryNadando em Dinheiro com jQuery
Nadando em Dinheiro com jQueryReinaldo Junior
 
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...Rodrigo Branas
 
Desenvolvimento Web com ASP.NET 4
Desenvolvimento Web com ASP.NET 4Desenvolvimento Web com ASP.NET 4
Desenvolvimento Web com ASP.NET 4Rodrigo Kono
 
ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifaguestea329c
 
Desenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFXDesenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFXjesuinoPower
 
Desenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual StudioDesenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual StudioGeovani Ferreira Gonçalves
 
Comtec2010 asp.net mvc
Comtec2010 asp.net mvcComtec2010 asp.net mvc
Comtec2010 asp.net mvcTadeu Matos
 
Desafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSFDesafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSFRafael Ponte
 
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVAVRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVAYelken Heckman Ferreira Gonzales
 
Introdução ao LiveOak
Introdução ao LiveOakIntrodução ao LiveOak
Introdução ao LiveOakjesuinoPower
 
Curso ASP.NET MVC 3 - Vinicius Quaiato
Curso ASP.NET MVC 3 - Vinicius QuaiatoCurso ASP.NET MVC 3 - Vinicius Quaiato
Curso ASP.NET MVC 3 - Vinicius QuaiatoVinicius Quaiato
 
Criando aplicações java fx em minutos
Criando aplicações java fx em minutosCriando aplicações java fx em minutos
Criando aplicações java fx em minutosBruno Oliveira
 
TDC 2014 - Arquitetura front-end com AngularJS
TDC 2014 - Arquitetura front-end com AngularJSTDC 2014 - Arquitetura front-end com AngularJS
TDC 2014 - Arquitetura front-end com AngularJSLeonardo Zanivan
 
JavaFX: Desktop para desenvolvedores WEB
JavaFX: Desktop para desenvolvedores WEBJavaFX: Desktop para desenvolvedores WEB
JavaFX: Desktop para desenvolvedores WEBjesuinoPower
 
Introdução ao Asp.Net Mvc
Introdução ao Asp.Net MvcIntrodução ao Asp.Net Mvc
Introdução ao Asp.Net MvcGiovanni Bassi
 

Mais procurados (20)

Criar um sistema com asp net
Criar um sistema com asp netCriar um sistema com asp net
Criar um sistema com asp net
 
Introdução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsIntrodução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular js
 
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
Desenvolvimento em três camadas com PHP 5, MVC e AJAXDesenvolvimento em três camadas com PHP 5, MVC e AJAX
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
 
Nadando em Dinheiro com jQuery
Nadando em Dinheiro com jQueryNadando em Dinheiro com jQuery
Nadando em Dinheiro com jQuery
 
Java Web Fácil com VRaptor
Java Web Fácil com VRaptorJava Web Fácil com VRaptor
Java Web Fácil com VRaptor
 
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
 
Desenvolvimento Web com ASP.NET 4
Desenvolvimento Web com ASP.NET 4Desenvolvimento Web com ASP.NET 4
Desenvolvimento Web com ASP.NET 4
 
ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifa
 
Desenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFXDesenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFX
 
Desenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual StudioDesenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual Studio
 
Comtec2010 asp.net mvc
Comtec2010 asp.net mvcComtec2010 asp.net mvc
Comtec2010 asp.net mvc
 
Desafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSFDesafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSF
 
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVAVRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA
 
Introdução ao LiveOak
Introdução ao LiveOakIntrodução ao LiveOak
Introdução ao LiveOak
 
Curso ASP.NET MVC 3 - Vinicius Quaiato
Curso ASP.NET MVC 3 - Vinicius QuaiatoCurso ASP.NET MVC 3 - Vinicius Quaiato
Curso ASP.NET MVC 3 - Vinicius Quaiato
 
Web Dev Camp
Web Dev CampWeb Dev Camp
Web Dev Camp
 
Criando aplicações java fx em minutos
Criando aplicações java fx em minutosCriando aplicações java fx em minutos
Criando aplicações java fx em minutos
 
TDC 2014 - Arquitetura front-end com AngularJS
TDC 2014 - Arquitetura front-end com AngularJSTDC 2014 - Arquitetura front-end com AngularJS
TDC 2014 - Arquitetura front-end com AngularJS
 
JavaFX: Desktop para desenvolvedores WEB
JavaFX: Desktop para desenvolvedores WEBJavaFX: Desktop para desenvolvedores WEB
JavaFX: Desktop para desenvolvedores WEB
 
Introdução ao Asp.Net Mvc
Introdução ao Asp.Net MvcIntrodução ao Asp.Net Mvc
Introdução ao Asp.Net Mvc
 

Destaque

Web Server Controls e Banco de Dados
Web Server Controls e Banco de DadosWeb Server Controls e Banco de Dados
Web Server Controls e Banco de DadosOrlando Junior
 
LINQ - C#
LINQ - C#LINQ - C#
LINQ - C#fpadoan
 
Cadastro de clientes em c#
Cadastro de clientes em c#Cadastro de clientes em c#
Cadastro de clientes em c#André Luiz
 
Boas práticas de programação em C# .NET
Boas práticas de programação em C# .NETBoas práticas de programação em C# .NET
Boas práticas de programação em C# .NETFabiano Roman Beraldi
 
Programação c# - banco de dados
Programação   c# - banco de dadosProgramação   c# - banco de dados
Programação c# - banco de dadosdouglasschaefler
 
Apostila desenvolvimento aplicações comerciais com C#
Apostila desenvolvimento aplicações comerciais com C#Apostila desenvolvimento aplicações comerciais com C#
Apostila desenvolvimento aplicações comerciais com C#Vinicius Vieira
 
Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)Marcos Castro
 

Destaque (10)

Web Server Controls e Banco de Dados
Web Server Controls e Banco de DadosWeb Server Controls e Banco de Dados
Web Server Controls e Banco de Dados
 
LINQ - C#
LINQ - C#LINQ - C#
LINQ - C#
 
Cadastro de clientes em c#
Cadastro de clientes em c#Cadastro de clientes em c#
Cadastro de clientes em c#
 
Como Implementar Um Menu Ribbon em C#
Como Implementar Um Menu Ribbon em C#Como Implementar Um Menu Ribbon em C#
Como Implementar Um Menu Ribbon em C#
 
Boas práticas de programação em C# .NET
Boas práticas de programação em C# .NETBoas práticas de programação em C# .NET
Boas práticas de programação em C# .NET
 
.NET e C# - Introdução Geral
.NET e C# - Introdução Geral.NET e C# - Introdução Geral
.NET e C# - Introdução Geral
 
Sistema Controle de Estoque ASP.NET
Sistema Controle de Estoque ASP.NETSistema Controle de Estoque ASP.NET
Sistema Controle de Estoque ASP.NET
 
Programação c# - banco de dados
Programação   c# - banco de dadosProgramação   c# - banco de dados
Programação c# - banco de dados
 
Apostila desenvolvimento aplicações comerciais com C#
Apostila desenvolvimento aplicações comerciais com C#Apostila desenvolvimento aplicações comerciais com C#
Apostila desenvolvimento aplicações comerciais com C#
 
Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)
 

Semelhante a ASP.NET MVC introdução

Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3André Luiz Forchesatto
 
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010Rodrigo Kono
 
01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1César Augusto Pessôa
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Eric Gallardo
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014Giovanni Bassi
 
Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4Rodrigo Kono
 
Introdução ao Asp.NET MVC
Introdução ao Asp.NET MVCIntrodução ao Asp.NET MVC
Introdução ao Asp.NET MVCBenicio Ávila
 
Criando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMindCriando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMindJaydson Gomes
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaAlexandre Tarifa
 
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )Getúlio Strapazzon
 
Apresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemApresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemRodrigo Valerio
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosRodolfo Fadino Junior
 
Matando web forms e modernizando um grande varejista
Matando web forms e modernizando um grande varejistaMatando web forms e modernizando um grande varejista
Matando web forms e modernizando um grande varejistaJosé Roberto Araújo
 

Semelhante a ASP.NET MVC introdução (20)

Conheça o ASP.NET MVC 3
Conheça o ASP.NET MVC 3Conheça o ASP.NET MVC 3
Conheça o ASP.NET MVC 3
 
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
 
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010
 
01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1
 
Java: Por onde começar nos dias de hoje?
Java: Por onde começar nos dias de hoje?Java: Por onde começar nos dias de hoje?
Java: Por onde começar nos dias de hoje?
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014
 
Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Introdução ao Asp.NET MVC
Introdução ao Asp.NET MVCIntrodução ao Asp.NET MVC
Introdução ao Asp.NET MVC
 
Criando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMindCriando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMind
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
 
Apostila MVC
Apostila MVCApostila MVC
Apostila MVC
 
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )
 
SPA's com Blazor e .NET Core
SPA's com Blazor e .NET CoreSPA's com Blazor e .NET Core
SPA's com Blazor e .NET Core
 
Apresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemApresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvem
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São Carlos
 
ASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e alémASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e além
 
A Nova Web
A Nova WebA Nova Web
A Nova Web
 
Matando web forms e modernizando um grande varejista
Matando web forms e modernizando um grande varejistaMatando web forms e modernizando um grande varejista
Matando web forms e modernizando um grande varejista
 

Mais de Douglas Aguiar

Autenticação e autorização
Autenticação e autorizaçãoAutenticação e autorização
Autenticação e autorizaçãoDouglas Aguiar
 
Scrum e a Espiral Positiva
Scrum e a Espiral PositivaScrum e a Espiral Positiva
Scrum e a Espiral PositivaDouglas Aguiar
 
MVCSummit - DDD e ASP NET MVC na prática com o LiteFx
MVCSummit - DDD e ASP NET MVC na prática com o LiteFxMVCSummit - DDD e ASP NET MVC na prática com o LiteFx
MVCSummit - DDD e ASP NET MVC na prática com o LiteFxDouglas Aguiar
 
Domain driven design na Prática
Domain driven design na PráticaDomain driven design na Prática
Domain driven design na PráticaDouglas Aguiar
 

Mais de Douglas Aguiar (6)

Autenticação e autorização
Autenticação e autorizaçãoAutenticação e autorização
Autenticação e autorização
 
Scrum e a Espiral Positiva
Scrum e a Espiral PositivaScrum e a Espiral Positiva
Scrum e a Espiral Positiva
 
jQuery
jQueryjQuery
jQuery
 
Iniciando com DDD
Iniciando com DDDIniciando com DDD
Iniciando com DDD
 
MVCSummit - DDD e ASP NET MVC na prática com o LiteFx
MVCSummit - DDD e ASP NET MVC na prática com o LiteFxMVCSummit - DDD e ASP NET MVC na prática com o LiteFx
MVCSummit - DDD e ASP NET MVC na prática com o LiteFx
 
Domain driven design na Prática
Domain driven design na PráticaDomain driven design na Prática
Domain driven design na Prática
 

ASP.NET MVC introdução

  • 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:
  • 3. DEVELOPERS!!! WHAT’S YOUR PROFESSION?!?!?!CODE! CODE! CODE! Projeto DevIsland – http://devisland.com
  • 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 !
  • 11. Uma comparação com a Matrix WebForms – Matrix ASP .NET MVC – Mundo Real
  • 12. Vocês estão prontos para a pílula vermelha?
  • 13. Vocês querem saber o que é o WebForms? Então tentem relaxar.
  • 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
  • 23. O ASP .NET MVC é para DESENVOLVEDORES WEB
  • 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.
  • 25. Exemplo rápido!Hello MVC! { Let’scodedevelopers!!! }
  • 26. MVC
  • 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/
  • 33. ModelBinder O melhor do MVC em ação
  • 34. Validation Validação do Model integrada com o ModelState Validação customizada, DataAnnotations, IDataErrorInfo.
  • 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