SlideShare uma empresa Scribd logo
1 de 45
Desenvolvimento Web com
ASP.Net e MVC
Cleziel Franzoni da Costa
Eu...
• Técnico em Informática (Instituto Federal
do Espírito Santo);
• Bacharelando em Sistemas de Informação –
4º Período (Unes).
Agenda
• O .NET Framework e o CLR
• O que posso fazer com o .NET Framework?
• Plataforma Visual Studio 2010
• O que é ASP.Net
• Facilidades do ASP.Net
• Web Forms x ASP.NET MVC
• MVC
• ASP.Net MVC
O que é o .NET Framework?
• É uma iniciativa da Microsoft, que visa uma
plataforma única para desenvolvimento e
execução de sistemas e aplicações.
O que posso fazer com o .NET
Framework?
• Aplicativos Web
• Aplicativos para Servidores
• Aplicativos de Console
• Aplicativos de Banco de Dados
• Serviços Windows
• Web Services e muito mais...
• A plataforma .NET é executada sobre
uma Common Language Runtime - CLR
(Ambiente de Execução Independente de
Linguagem).
Serviços Presentes no CLR
• Gerenciamento de memória
• Tratamento de exceções
• Compilação
• Segurança
• Outros
Estrutura do .Net Framework
.NET Framework
C# C++ F# JScript ...
Common Type System (CTS)
ADO .NET: Data e XML
ASP .NET: Web Services
e Web Forms
Windows Forms
.NET Framework Base Class
Common Language Runtime (CLR)
VisualStudio.NET
Linguagens Suportadas pelo CLR
• APL
• Boo
• Clarion
• Component Pascal
• C#
• C++
• Eiffel
• Forth
• Fortran
• Haskell
• Java
• JScript
• J#
• Lua
• Mercury
• Mondrian
• Oberon
• Object Pascal / Delphi Language
• Oz
• Pascal
• Perl
• PowerBuilder
• PowerShell
• Python
• RPG
• Ruby
• Scheme
• SmallTalk
• Standard ML
• Visual Basic
Fonte:
http://www.dotnetlanguages.net
Visual Studio 2010
• Um conjunto de ferramentas de
desenvolvimento que permite aos
desenvolvedores de software resolver
problemas complexos e criar soluções
inovadoras.
Três principais pilares:
• Desenvolvimento rápido de aplicativos
• Colaboração eficaz em equipe
• Experiências inovadoras de usuários
O que é ASP.Net
• ASP.NET é a plataforma da Microsoft para o
desenvolvimento de aplicações Web e é o
sucessor da tecnologia ASP.
ASP.Net não é ...
• ASP - Active Server Pages;
• Linguagem de programação
O que é ASP?
• ASP é uma tecnologia de scripts que roda no
servidor e permite que os scripts embutidos
em uma página HTML sejam executados por
um servidor WEB.
Principais vantagens do ASP.Net
• Separação entre lógica e apresentação.
• Mais fácil de implementar.
• Suporte a múltiplas linguagens.
• Web Form Controls – controles mais
avançados e “inteligentes”.
• Todas as vantagens oferecidas pelo
Framework .NET.
Web Forms x ASP.NET MVC
Entendendo os Web Forms
• Primeiro framework de desenvolvimento
web com ASP.NET
• Existe desde 2001/2002
• Rapidamente tomou parte do mercado,
efetivamente matando o ASP 3
• Era a única solução de desenvolvimento
web com .NET
Qual a vantagem de usar Web Forms?
• Código compilado;
• Rapidez no desenvolvimento;
• Statefull (matém estado entre requisições);
• Vasta gama de classes;
• Encoraja o uso da POO.
Desvantagens dos webforms:
• Uso incorreto do ViewState pode pesar ;
• O ciclo de vida da página dificulta um pouco
a manipulação dos valores dos controles;
• O programador tende a colocar a lógica toda
no CodeBehind;
Desvantagens dos webforms:
• Há um controle limitado sobre o HTML
gerado pelos web server controls;
• Dificuldade de se aplicar testes automáticos.
Exemplo:
Usando os componentes DetailsView e
GridView para manipular cadastros.
Model View Controller - MVC
Referência: http://www.slideshare.net/felipernb
Resultado...
Um bom programador WEB
Referência: http://www.slideshare.net/felipernb
Referência: http://www.slideshare.net/felipernb
Resultado...
Principais erros...
• Muitos inventam seu próprio framework;
• Apenas eles entendem o que fazem;
• Tudo está misturado;
• Não existe reaproveitamento de código.
Referência: http://www.slideshare.net/felipernb
Então...
• Use um padrão pré-estabelecido;
Não Invente seu próprio padrão!
Morte aos Frameworks Caseiros...
Pense no futuro...
O padrão MVC
• Padrão de arquitetura que separa lógica de
negócio da apresentação
Resuldado do MVC:
Model (Modelo)
• O “conteúdo” que povoa sua aplicação:
dados vindos do banco, Web Services, Feeds,
etc.
View (Visão)
• O que é mostrado ao usuário
Controller (Controle)
• Gerencia o ambiente da requisição, e
determina o que irá acontecer.
O ASP.Net MVC Framework
• O que é:
– Implementação do padrão MVC para o ASP.NET
– Um novo template de projeto no Visual Studio
– Uma nova maneira de desenvolver com ASP.NET
– Uma opção
• O que não é:
– Um substituto ao Webforms
– Uma nova versão dos Webforms
Vantagens...
• Arquitetura: total separação de conceitos
• Extensibilidade: pode-se alterar a engine de
visualização, de roteamento de urls, da
fábrica de controllers
• Alto controle sobre o HTML gerado
• Testabilidade
Vantagens...
• Sistema de roteamento de URLs sofisticado
e intuitivo
• Construído sobre o que há de melhor na
plataforma .NET
• Evolução constante
• Open Source
• Controle sobre HTTP: POST, GET, DELETE
Segurança
• Membership e Roles continuam valendo
– Com exceção da restrição de paginas por
grupo/usuário
<location path="Contas/ContaCorrente.aspx">
<system.web>
<authorization>
<allow roles="Gerentes" />
<deny users="*" />
</authorization>
</system.web>
</location>
Devo usar Web
Forms ou
MVC??
WebForms
Plug-and-Play
MVC
Expõe a arquitetura
Finalizando...
Links Úteis
– http://www.microsoft.com/brasil/msdn/
– http://www.asp.net/
– http://www.msdev-es.com.br/
Contato:
clezielfranzoni@hotmail.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
 
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
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Daniel Makiyama
 
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
 
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
 
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
 
Comtec2010 asp.net mvc
Comtec2010 asp.net mvcComtec2010 asp.net mvc
Comtec2010 asp.net mvcTadeu Matos
 
Desenvolvimento Web com ASP.NET 4
Desenvolvimento Web com ASP.NET 4Desenvolvimento Web com ASP.NET 4
Desenvolvimento Web com ASP.NET 4Rodrigo Kono
 
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
 
ASP.Net MVC no VS 2010
ASP.Net MVC no VS 2010ASP.Net MVC no VS 2010
ASP.Net MVC no VS 2010Giovanni Bassi
 
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
 
Desafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSFDesafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSFRafael Ponte
 
Desenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHPDesenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHPSérgio Vilar
 
Introdução ao LiveOak
Introdução ao LiveOakIntrodução ao LiveOak
Introdução ao LiveOakjesuinoPower
 
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
 
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
 

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
 
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
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
 
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
 
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
 
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...
 
Comtec2010 asp.net mvc
Comtec2010 asp.net mvcComtec2010 asp.net mvc
Comtec2010 asp.net mvc
 
Estudo de caso ASP.NET MVC e Silverlight
Estudo de caso ASP.NET MVC e SilverlightEstudo de caso ASP.NET MVC e Silverlight
Estudo de caso ASP.NET MVC e Silverlight
 
Desenvolvimento Web com ASP.NET 4
Desenvolvimento Web com ASP.NET 4Desenvolvimento Web com ASP.NET 4
Desenvolvimento Web com ASP.NET 4
 
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
 
ASP.Net MVC no VS 2010
ASP.Net MVC no VS 2010ASP.Net MVC no VS 2010
ASP.Net MVC no VS 2010
 
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
 
Desafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSFDesafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSF
 
Apresentação angular js
Apresentação angular jsApresentação angular js
Apresentação angular js
 
Palestra ASP.NET MVC
Palestra ASP.NET MVCPalestra ASP.NET MVC
Palestra ASP.NET MVC
 
Desenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHPDesenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHP
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Introdução ao LiveOak
Introdução ao LiveOakIntrodução ao LiveOak
Introdução ao LiveOak
 
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
 
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
 

Destaque

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
 
Cadastro de clientes em c#
Cadastro de clientes em c#Cadastro de clientes em c#
Cadastro de clientes em c#André Luiz
 
Programação c# - banco de dados
Programação   c# - banco de dadosProgramação   c# - banco de dados
Programação c# - banco de dadosdouglasschaefler
 
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
 
Programacao Com Asp Ii
Programacao Com Asp   IiProgramacao Com Asp   Ii
Programacao Com Asp Iiguest3118b2
 
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
 
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 (12)

Sistema Controle de Estoque ASP.NET
Sistema Controle de Estoque ASP.NETSistema Controle de Estoque ASP.NET
Sistema Controle de Estoque ASP.NET
 
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#
 
Cadastro de clientes em c#
Cadastro de clientes em c#Cadastro de clientes em c#
Cadastro de clientes em c#
 
Programação c# - banco de dados
Programação   c# - banco de dadosProgramação   c# - banco de dados
Programação c# - banco de dados
 
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
 
Programacao Com Asp Ii
Programacao Com Asp   IiProgramacao Com Asp   Ii
Programacao Com Asp Ii
 
Aula 1 - ASP
Aula 1 - ASPAula 1 - ASP
Aula 1 - ASP
 
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#
 
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#
 
.NET e C# - Introdução Geral
.NET e C# - Introdução Geral.NET e C# - Introdução Geral
.NET e C# - Introdução Geral
 
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 Desenvolvimento Web 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 MVCBenicio Ávila
 
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...Fabrício Lopes Sanchez
 
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
 
Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4Rodrigo 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
 
Criando aplicações web com tecnologias Microsoft
Criando aplicações web com tecnologias MicrosoftCriando aplicações web com tecnologias Microsoft
Criando aplicações web com tecnologias MicrosoftFabrício Lopes Sanchez
 
Jsf com hibernate, spring security e maven
Jsf com hibernate, spring security e mavenJsf com hibernate, spring security e maven
Jsf com hibernate, spring security e mavenLeandro Costa
 
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...anybalrocha
 
.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo mais.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo maisakamud
 
Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Valmir Justo
 
T@rget trust microsoft asp.net mvc
T@rget trust   microsoft asp.net mvcT@rget trust   microsoft asp.net mvc
T@rget trust microsoft asp.net mvcTargettrust
 
TDC SP 2015 - Criando aplicações ASP.NET no Mac
TDC SP 2015 - Criando aplicações ASP.NET no MacTDC SP 2015 - Criando aplicações ASP.NET no Mac
TDC SP 2015 - Criando aplicações ASP.NET no MacAndre Baltieri
 

Semelhante a Desenvolvimento Web ASP.NET MVC (20)

ASP .NET Core MVC
ASP .NET Core MVCASP .NET Core MVC
ASP .NET Core MVC
 
Web Dev Camp
Web Dev CampWeb Dev Camp
Web Dev Camp
 
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
 
Introdução ao Asp.NET MVC
Introdução ao Asp.NET MVCIntrodução ao Asp.NET MVC
Introdução ao Asp.NET MVC
 
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
 
Introdução C#
Introdução C#Introdução C#
Introdução C#
 
Curso jsf
Curso jsfCurso jsf
Curso jsf
 
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
 
Apostila MVC
Apostila MVCApostila MVC
Apostila MVC
 
Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4
 
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
 
Criando aplicações web com tecnologias Microsoft
Criando aplicações web com tecnologias MicrosoftCriando aplicações web com tecnologias Microsoft
Criando aplicações web com tecnologias Microsoft
 
Jsf com hibernate, spring security e maven
Jsf com hibernate, spring security e mavenJsf com hibernate, spring security e maven
Jsf com hibernate, spring security e maven
 
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...
 
.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo mais.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo mais
 
O Futuro do ASP.NET (vNext)
O Futuro do ASP.NET (vNext)O Futuro do ASP.NET (vNext)
O Futuro do ASP.NET (vNext)
 
Software gratuito
Software gratuitoSoftware gratuito
Software gratuito
 
Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.
 
T@rget trust microsoft asp.net mvc
T@rget trust   microsoft asp.net mvcT@rget trust   microsoft asp.net mvc
T@rget trust microsoft asp.net mvc
 
TDC SP 2015 - Criando aplicações ASP.NET no Mac
TDC SP 2015 - Criando aplicações ASP.NET no MacTDC SP 2015 - Criando aplicações ASP.NET no Mac
TDC SP 2015 - Criando aplicações ASP.NET no Mac
 

Desenvolvimento Web ASP.NET MVC

  • 1. Desenvolvimento Web com ASP.Net e MVC Cleziel Franzoni da Costa
  • 2. Eu... • Técnico em Informática (Instituto Federal do Espírito Santo); • Bacharelando em Sistemas de Informação – 4º Período (Unes).
  • 3. Agenda • O .NET Framework e o CLR • O que posso fazer com o .NET Framework? • Plataforma Visual Studio 2010 • O que é ASP.Net • Facilidades do ASP.Net • Web Forms x ASP.NET MVC • MVC • ASP.Net MVC
  • 4. O que é o .NET Framework? • É uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.
  • 5. O que posso fazer com o .NET Framework? • Aplicativos Web • Aplicativos para Servidores • Aplicativos de Console • Aplicativos de Banco de Dados • Serviços Windows • Web Services e muito mais...
  • 6. • A plataforma .NET é executada sobre uma Common Language Runtime - CLR (Ambiente de Execução Independente de Linguagem).
  • 7. Serviços Presentes no CLR • Gerenciamento de memória • Tratamento de exceções • Compilação • Segurança • Outros
  • 8. Estrutura do .Net Framework .NET Framework C# C++ F# JScript ... Common Type System (CTS) ADO .NET: Data e XML ASP .NET: Web Services e Web Forms Windows Forms .NET Framework Base Class Common Language Runtime (CLR) VisualStudio.NET
  • 9. Linguagens Suportadas pelo CLR • APL • Boo • Clarion • Component Pascal • C# • C++ • Eiffel • Forth • Fortran • Haskell • Java • JScript • J# • Lua • Mercury • Mondrian • Oberon • Object Pascal / Delphi Language • Oz • Pascal • Perl • PowerBuilder • PowerShell • Python • RPG • Ruby • Scheme • SmallTalk • Standard ML • Visual Basic Fonte: http://www.dotnetlanguages.net
  • 10. Visual Studio 2010 • Um conjunto de ferramentas de desenvolvimento que permite aos desenvolvedores de software resolver problemas complexos e criar soluções inovadoras.
  • 11. Três principais pilares: • Desenvolvimento rápido de aplicativos • Colaboração eficaz em equipe • Experiências inovadoras de usuários
  • 12. O que é ASP.Net • ASP.NET é a plataforma da Microsoft para o desenvolvimento de aplicações Web e é o sucessor da tecnologia ASP.
  • 13. ASP.Net não é ... • ASP - Active Server Pages; • Linguagem de programação
  • 14. O que é ASP? • ASP é uma tecnologia de scripts que roda no servidor e permite que os scripts embutidos em uma página HTML sejam executados por um servidor WEB.
  • 15. Principais vantagens do ASP.Net • Separação entre lógica e apresentação. • Mais fácil de implementar. • Suporte a múltiplas linguagens. • Web Form Controls – controles mais avançados e “inteligentes”. • Todas as vantagens oferecidas pelo Framework .NET.
  • 16. Web Forms x ASP.NET MVC
  • 17. Entendendo os Web Forms • Primeiro framework de desenvolvimento web com ASP.NET • Existe desde 2001/2002 • Rapidamente tomou parte do mercado, efetivamente matando o ASP 3 • Era a única solução de desenvolvimento web com .NET
  • 18. Qual a vantagem de usar Web Forms? • Código compilado; • Rapidez no desenvolvimento; • Statefull (matém estado entre requisições); • Vasta gama de classes; • Encoraja o uso da POO.
  • 19. Desvantagens dos webforms: • Uso incorreto do ViewState pode pesar ; • O ciclo de vida da página dificulta um pouco a manipulação dos valores dos controles; • O programador tende a colocar a lógica toda no CodeBehind;
  • 20. Desvantagens dos webforms: • Há um controle limitado sobre o HTML gerado pelos web server controls; • Dificuldade de se aplicar testes automáticos.
  • 21. Exemplo: Usando os componentes DetailsView e GridView para manipular cadastros.
  • 25. Um bom programador WEB Referência: http://www.slideshare.net/felipernb
  • 28. Principais erros... • Muitos inventam seu próprio framework; • Apenas eles entendem o que fazem; • Tudo está misturado; • Não existe reaproveitamento de código.
  • 30. Então... • Use um padrão pré-estabelecido; Não Invente seu próprio padrão!
  • 31. Morte aos Frameworks Caseiros...
  • 33. O padrão MVC • Padrão de arquitetura que separa lógica de negócio da apresentação
  • 35. Model (Modelo) • O “conteúdo” que povoa sua aplicação: dados vindos do banco, Web Services, Feeds, etc.
  • 36. View (Visão) • O que é mostrado ao usuário
  • 37. Controller (Controle) • Gerencia o ambiente da requisição, e determina o que irá acontecer.
  • 38. O ASP.Net MVC Framework • O que é: – Implementação do padrão MVC para o ASP.NET – Um novo template de projeto no Visual Studio – Uma nova maneira de desenvolver com ASP.NET – Uma opção • O que não é: – Um substituto ao Webforms – Uma nova versão dos Webforms
  • 39. Vantagens... • Arquitetura: total separação de conceitos • Extensibilidade: pode-se alterar a engine de visualização, de roteamento de urls, da fábrica de controllers • Alto controle sobre o HTML gerado • Testabilidade
  • 40. Vantagens... • Sistema de roteamento de URLs sofisticado e intuitivo • Construído sobre o que há de melhor na plataforma .NET • Evolução constante • Open Source • Controle sobre HTTP: POST, GET, DELETE
  • 41. Segurança • Membership e Roles continuam valendo – Com exceção da restrição de paginas por grupo/usuário <location path="Contas/ContaCorrente.aspx"> <system.web> <authorization> <allow roles="Gerentes" /> <deny users="*" /> </authorization> </system.web> </location>
  • 44.
  • 45. Finalizando... Links Úteis – http://www.microsoft.com/brasil/msdn/ – http://www.asp.net/ – http://www.msdev-es.com.br/ Contato: clezielfranzoni@hotmail.com