1. Estudo de Caso de Tecnologia Arquitetural Alexandre Pacheco Anne Kelly Diógenes Peçanha Glauco Vinícius Gustavo Veloso Karla Lages
2. ASP.NET MVC 3 + Silverlight ASP.NET MVC 3 Framework Model-View-Controller da Microsoft Não substitui o Web Forms, sendo mais uma opção Silverlight Plataforma de desenvolvimento RIA Resposta da Microsoft ao AIR e Flex, da Adobe
3. A quem se destina? ASP.NET MVC 3 Times que já têm habilidades com o desenvolvimento web em .NET Framework e que gostariam de utilizar um framework de alto nível, com uma proposta de design conhecida. Silverlight Times que necessitam criar interfaces ricas diferenciadas ou que iniciaram a desenvolver aplicações para Windows Phone 7
4. Principais cenários de uso ASP.NET MVC 3 Aplicações web onde gerenciar a complexidade é um risco Testabilidade e manutenibilidade Novos projetos com pouco débito técnico Silverlight Desenvolvimento RIA Aplicações com uso intensivo de conteúdo multimídia (ex. streaming de vídeo) Apps para Windows Phone 7
5. Pontos fortes ASP.NET MVC 3 Força a divisão da complexidade da aplicação em 3 unidades de única responsabilidade Facilita TDD Maior controle sobre a aplicação (sem ViewState) Silverlight Aplicações multibrowser Linguagem para definição de interface baseada em XML, como no WPF Suporte à todas as linguagens do .NET (CLR e DLR)
6. Pontos fracos ASP.NET MVC 3 Curva de aprendizado maior se comparada com o Web Forms Necessita maior conhecimento de HTML, CSS e JavaScript Silverlight Não suporta arquivos .gif, apenas .png e .jpg Não possui API nativa para áudio Versões para sistemas não-Windows possuem suporte limitado à versão 2.0 Moonlight (Mono)
7. Modelo arquitetural ASP.NET MVC 3 Model-View-Controller Silverlight MVVM Baseado no PresentationModel Controller Model View View ViewModel Model
8. Estilos arquiteturais Cliente/Servidor Arquitetura baseada em componentes Arquitetura em camadas Inclusive em máquinas separadas (N-tier) Apresentação separada
9. Como funciona? ASP.NET MVC 3 Projeto específico no Visual Studio Estrutura do projeto Convenção sobre Configuração Scaffolding
10. Como funciona? Silverlight Organização semelhante ao Windows Forms/Web Forms (code-behind) Arquivo .xaml e .xaml.cs ou .xaml.vb Diversos projetos Business Application (a partir da versão 4) Novidade: LightSwitch. Ferramenta para criar aplicações corporativas para “não-nerds”
12. Depoimentos ASP.NET MVC 3 Por que escolher? “Como íamos trabalhar com serviços de terceiros, os arquitetos do projeto escolheram MVC 3 pelo modo ágil de desenvolvimento porém não se preocuparam em dar treinamentos para equipe.” O que aconteceu? “Foi uma adoção precipitada pois pouca gente da equipe tinha experiência em uma das tecnologias. O projeto não teve continuidade com MVC 3 pela pouca experiência dos participantes.” #fail
13. Depoimentos Silverlight Pontos positivos “Baixa curva de aprendizagem, desenvolvimento de interfaces ricas com pouco trabalho, suporte visual para desenvolvimento das interfaces (Expression Blend).” Pontos negativos “Poucos componentes disponíveis, e os que existem, baixo poder de customização.”
14. Demonstração Como ela foi utilizada? Decisões de projeto Frameworks de suporte FluentNhibernate Unity
16. Conclusões ASP.NET MVC 3 já é um framework maduro e pronto para o mainstream Silverlight ainda precisa amadurecer Microsoft precisa definir o futuro da tecnologia de maneira consistente Os dois funcionam bem juntos!