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

Desenvolviemento web com ASP.Net e MVC

  • 1.
    Desenvolvimento Web com ASP.Nete MVC Cleziel Franzoni da Costa
  • 2.
    Eu... • Técnico emInformática (Instituto Federal do Espírito Santo); • Bacharelando em Sistemas de Informação – 4º Período (Unes).
  • 3.
    Agenda • O .NETFramework 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 possofazer 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 noCLR • Gerenciamento de memória • Tratamento de exceções • Compilação • Segurança • Outros
  • 8.
    Estrutura do .NetFramework .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 peloCLR • 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 doASP.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 xASP.NET MVC
  • 17.
    Entendendo os WebForms • 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 vantagemde 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 componentesDetailsView e GridView para manipular cadastros.
  • 22.
  • 23.
  • 24.
  • 25.
    Um bom programadorWEB Referência: http://www.slideshare.net/felipernb
  • 26.
  • 27.
  • 28.
    Principais erros... • Muitosinventam seu próprio framework; • Apenas eles entendem o que fazem; • Tudo está misturado; • Não existe reaproveitamento de código.
  • 29.
  • 30.
    Então... • Use umpadrão pré-estabelecido; Não Invente seu próprio padrão!
  • 31.
  • 32.
  • 33.
    O padrão MVC •Padrão de arquitetura que separa lógica de negócio da apresentação
  • 34.
  • 35.
    Model (Modelo) • O“conteúdo” que povoa sua aplicação: dados vindos do banco, Web Services, Feeds, etc.
  • 36.
    View (Visão) • Oque é mostrado ao usuário
  • 37.
    Controller (Controle) • Gerenciao ambiente da requisição, e determina o que irá acontecer.
  • 38.
    O ASP.Net MVCFramework • 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: totalseparaçã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 deroteamento 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 eRoles 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>
  • 42.
  • 43.
  • 45.
    Finalizando... Links Úteis – http://www.microsoft.com/brasil/msdn/ –http://www.asp.net/ – http://www.msdev-es.com.br/ Contato: clezielfranzoni@hotmail.com