WUX201 - ASP.NET MVC
ASP.NET MVC RC1
Bruno Tavares
Software Engineer @Sapo.pt
Objectivos

• Uma sessão para developers

• Compreender o padrão MVC

• Compreender os principais conceitos ASP.NET MVC

•...
Por vezes…
desenvolver/manter aplicações faz-me sentir que estou a
  jogar o “Operação” com a minha filha:
MVC Pattern

• MVC = Model/View/Controller

• É uma design pattern para
  presentation layers                   Model

• I...
MVC Pattern                                      Model

                                                Entidades de negóc...
MVC Pattern

O que é uma View?                                 View

                                      Model
• Respons...
MVC Pattern                                             Evento




O que é um Controller?
                                ...
O que é o ASP.NET MVC RC1?

• É a primeira Release Candidate (RC1)

• É um novo tipo de projecto web para o ASP.NET

• Imp...
E o ASP.NET?

 E o que vai acontecer ao Microsoft ASP .NET?
E o ASP.NET?

• ASP.NET MVC é só mais uma OPÇÃO desenvolvida
  sobre ASP.NET!
   – System.Web;
   – System.Web.MVC;
Escolher entre ASP.NET MVC e ASP.NET Web Forms



ASP.NET Web forms:

•   Os Web Forms são uma tecnologia bem compreendida...
Escolher entre ASP.NET MVC e ASP.NET Web Forms



ASP.NET MVC:

• Para aqueles que gostam “mexer” no HTML
• Baixa ou inexi...
Escolher entre ASP.NET MVC e ASP.NET Web Forms


                Mais controlo sobre detalhes



                         ...
Como funciona o ASP.NET MVC?


Request                                 Response




 HTTP                           View
 ...
demo
 - Criação de um Projecto
 - Routing
Como é que os Controllers e views funcionam?


                                       Controller
Controller   Controller
 ...
demos
 - Controllers e Views
 - ActionFilters e ResultActions
 - Desenvolver um ViewEngine
NHaml


#foo
    - foreach (var product in ViewData)
        - if (product.Category.CategoryName != null)
            %h2=...
Spark


<ul class=quot;productlistquot;>
 <var styles='new[] {quot;oddquot;, quot;evenquot;}'/>
 <li each=quot;var product...
Próximos desenvolvimentos MVC?

• Mais próximo do mundo Corporate
  – Mais controlo sobre estado
  – Acções assíncronas no...
Conclusões

• Total controlo sobre o HTML

• Extensível e Pluggable

• Preconiza a clara separação de âmbito entre
  compo...
Links

• http://www.asp.net/MVC

• http://www.codeplex.com/aspnet

• http://weblogs.asp.net/scottgu/ (ScottGus’s)

• http:...
Q&A
Software em versão completa para avaliação
  Suporte técnico 24x7 para incidentes
  Acesso antecipado às versões beta
  Mi...
w w w. m i c r o s o f t . c o m / l e a r n i n g / m c p / o f f e r s / s e c o n d s h o t
MSDN Flash




w w w. m i c r o s o f t . c o m / p o r t u g a l / m s d n / m s d n f l a s h
Participe nos próximos ciclos
   Traga Amigos a assistir e …
   …ganhe uma Xbox, trolleys e
   livros




w w w. m i c r o...
[BI] Resort
GASP
GetCertified
GetVirtual
Mundo Móvel
PocketPT
PontoNetPT
UC’ed
ScrumPT
ZoomIn
Questionário
A sua opinião é importante!
Complete o questionário de avaliação e
devolva-
devolva-o no balcão da recepção.
Instituto Superior Técnico
Campus do Taguspark
Asp.Net Mvc Dev Days09 V3 Pt
Asp.Net Mvc Dev Days09 V3 Pt
Próximos SlideShares
Carregando em…5
×

Asp.Net Mvc Dev Days09 V3 Pt

1.554 visualizações

Publicada em

It's a presentation that I did in Microsoft Devdays09.

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.554
No SlideShare
0
A partir de incorporações
0
Número de incorporações
7
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Asp.Net Mvc Dev Days09 V3 Pt

  1. 1. WUX201 - ASP.NET MVC ASP.NET MVC RC1 Bruno Tavares Software Engineer @Sapo.pt
  2. 2. Objectivos • Uma sessão para developers • Compreender o padrão MVC • Compreender os principais conceitos ASP.NET MVC • Emersão na ASP.NET MVC Framework • Apresentar cenários onde a Framework seja uma mais- valia
  3. 3. Por vezes… desenvolver/manter aplicações faz-me sentir que estou a jogar o “Operação” com a minha filha:
  4. 4. MVC Pattern • MVC = Model/View/Controller • É uma design pattern para presentation layers Model • Isola a lógica de negócio do user interface • Clara separação de âmbito entre componentes View Controller • É mais simples manter as aplicações
  5. 5. MVC Pattern Model Entidades de negócio O que é o Model? Workflow • Responsável pelo acesso a dados, persistência de estado, processamento Processamento de dados de dados, pela lógica de negócio, etc. • É agnóstico à apresentação/formatação Acesso dos dados • Responde a pedidos do Controller e notifica as Views de alteração de estado que dependam de um Model Database Webservice
  6. 6. MVC Pattern O que é uma View? View Model • Responsável pelo look and feel, apresentação, formatação, ordenação, etc. dos dados Display(HTML, Renderiza JSON, XML, etc) • Um Model pode ter diversas Views Formatação Lógica deUI
  7. 7. MVC Pattern Evento O que é um Controller? Controller • Responsável por tratar de eventos, View1 Select manipula os Model e selecciona as View2 Select Select View3 Views Selecciona Views • O seu objectivo fundamental é receber um evento e verificar o que vai fazer com ele Trata de eventos Manipula Model Model Model
  8. 8. O que é o ASP.NET MVC RC1? • É a primeira Release Candidate (RC1) • É um novo tipo de projecto web para o ASP.NET • Implementa a design pattern MVC • Entega RESTfull-like web aplicações • Extensível e Pluggable – substituam ou adicionem qualquer componente à Framework • Desenvolvido a pensar no Test Driven Development (TDD) • Total controlo sobre o <html/>
  9. 9. E o ASP.NET? E o que vai acontecer ao Microsoft ASP .NET?
  10. 10. E o ASP.NET? • ASP.NET MVC é só mais uma OPÇÃO desenvolvida sobre ASP.NET! – System.Web; – System.Web.MVC;
  11. 11. Escolher entre ASP.NET MVC e ASP.NET Web Forms ASP.NET Web forms: • Os Web Forms são uma tecnologia bem compreendida e enraizada • Uma curva de aprendizagem relativamente rápida • Maior abstracção sobre o HTML • Existem inúmeras aplicações sobre Web Forms que funcionam bem: – Intranets – Aplicações web do mundo corporativo onde o foco está nas funcionalidade vs restrições como time-to-market – Aplicações web onde exista muita dependência entre componentes – existe um mercado forte com componentes sofisticados e a baixo custo – Backoffices
  12. 12. Escolher entre ASP.NET MVC e ASP.NET Web Forms ASP.NET MVC: • Para aqueles que gostam “mexer” no HTML • Baixa ou inexistente abstracção sobre HTML • Múltiplas Views sobre o mesmo Model • Para website sobre os quais seja necessário total controlo sobre o seu output • Test-Drivem Development (TDD) • Exemplos: – Blogs engines – E-commerce store-front – Canais temáticos
  13. 13. Escolher entre ASP.NET MVC e ASP.NET Web Forms Mais controlo sobre detalhes MVC WebForms ASP.NET • Do it yourself • Ecossistema de • Services • Separação de âmbito Controlos • Caching • Test Driven Development • Gestão de estado • Routing • Extensibilidade • Simples de começar - • Localization • Convenção sobre a drag and drop configuração Ready-to- Ready-to-use building blocks
  14. 14. Como funciona o ASP.NET MVC? Request Response HTTP View Route Controller View Routing Engine
  15. 15. demo - Criação de um Projecto - Routing
  16. 16. Como é que os Controllers e views funcionam? Controller Controller Controller Action Controller Filters Builder Factory Invoker View Action Response View Response Result Engine View Locator
  17. 17. demos - Controllers e Views - ActionFilters e ResultActions - Desenvolver um ViewEngine
  18. 18. NHaml #foo - foreach (var product in ViewData) - if (product.Category.CategoryName != null) %h2=product.Category.CategoryName - break %ul.productlist - foreach (var product in ViewData) %li = Html.Image(quot;/Content/Images/quot; + product.ProductID + quot;.jpgquot;, product.ProductName) .productdetail =Html.ActionLink(product.ProductName, quot;Detailquot;, new { ID=product.ProductID }) %br Price: =String.Format(quot;{0:C2}quot;, product.UnitPrice) “.productdetail” %span.editlink ( =Html.ActionLink(quot;Editquot;, quot;Editquot;, new { ID=product.ProductID }) ) becomes <div id=”productdetail”>
  19. 19. Spark <ul class=quot;productlistquot;> <var styles='new[] {quot;oddquot;, quot;evenquot;}'/> <li each=quot;var product in ViewData.Modelquot; class=quot;${styles[productIndex%2]}quot;> <ProductImage style='quot;float:left;quot;'/> <p> <a href=quot;/Products/Detail/${product.ProductID}quot;>${product.ProductName}</a> <br /> Price: ${String.Format(quot;{0:C2}quot;, product.UnitPrice)} <span class=quot;editlinkquot;> (${Html.ActionLink[[ProductsController]](c=>c.Edit(product.ProductID), quot;Edi tquot;)}) </span> </p> <div style=quot;clear:both;quot;></div> </li> </ul> <li each=quot;var product in ViewData.Modelquot; class=quot;${styles[productIndex%2]}quot;>
  20. 20. Próximos desenvolvimentos MVC? • Mais próximo do mundo Corporate – Mais controlo sobre estado – Acções assíncronas nos Controllers – Maior portfólio de “componentes” drag-and-drop • Lambda-based helpers
  21. 21. Conclusões • Total controlo sobre o HTML • Extensível e Pluggable • Preconiza a clara separação de âmbito entre componentes • Testabilidade - suporte a Test-Driven Development • ASP.NET MVC é uma opção sobre ASP.NET webforms
  22. 22. Links • http://www.asp.net/MVC • http://www.codeplex.com/aspnet • http://weblogs.asp.net/scottgu/ (ScottGus’s) • http://blog.wekeroad.com/ (Rob Conery) • http://www.hanselman.com/ (Scott Hanselman's)
  23. 23. Q&A
  24. 24. Software em versão completa para avaliação Suporte técnico 24x7 para incidentes Acesso antecipado às versões beta Microsoft Office Software Assurance formação gratuita ….e muito mais. w w w. m i c r o s o f t . c o m / p o r t u g a l / m s d n / s u b s c r i c o e s
  25. 25. w w w. m i c r o s o f t . c o m / l e a r n i n g / m c p / o f f e r s / s e c o n d s h o t
  26. 26. MSDN Flash w w w. m i c r o s o f t . c o m / p o r t u g a l / m s d n / m s d n f l a s h
  27. 27. Participe nos próximos ciclos Traga Amigos a assistir e … …ganhe uma Xbox, trolleys e livros w w w. m i c r o s o f t . c o m / p o r t u g a l / m s d n / w e b c a s t s 4 s h a r e
  28. 28. [BI] Resort GASP GetCertified GetVirtual Mundo Móvel PocketPT PontoNetPT UC’ed ScrumPT ZoomIn
  29. 29. Questionário A sua opinião é importante! Complete o questionário de avaliação e devolva- devolva-o no balcão da recepção.
  30. 30. Instituto Superior Técnico Campus do Taguspark

×