SlideShare uma empresa Scribd logo
Desenvolvimento RIA com
Silverlight 4
do básico ao acabamento...
Rodrigo Kono
• MVP da Microsoft
• MCP – MCTS – MCPD – MCT
• Fundador do grupo de usuários DevGoiás .NET
• 7 anos de comunidade .NET
• Mais de 12.000 pessoas nesse tempo
• Pensou.NET Treinamentos e Consultoria
• Torcedor do Goiás (Uhuu série B)
• Bonitão
• www.rodrigokono.net
Developer Evangelist, Pai e Gamer.
Foco em Ferramentas e Soluções Microsoft
Agenda
• First steps
• RIA
• Sketflow: Tudo começa com a Prototipação
• Padrão MVVM
• WCF RIA Services
Microsoft Silverlight é um runtime cross-
browser, cross-platform que permite
desenvolver aplicações ricas para
internet e potencializar a experiência de
media na Web, Desktop e Devices.
Media e RIA
Microsoft .NET Application Platform
Tecnologia e Ferramenta
DesignDevelop
Ferramentas &
Modelo de Aplicações
Deploy
Browser ClientUser Experience
ALM
RIA
RIA – Rich Internet Applications
Back Button and Refresh
Visual Vocabulary
State management
Browser Sandbox Business Logic in UI
Component Level Logic
Animation
Desktop Developers Web Developer
O que tem de diferente com RIA?
Limited Runtime
Service Orientation
Non-text based layout
Hype
App RIA
Blend + SketchFlow
Protótipos não lineares
Compatível com as principais ferramentas de criação
Presença de comportamentos
Padrão de wireframes
Comportamentos extensíveis
Solução Silverlight e WPF
Reutilização de sketchs
SketchFlow player
Feedbacks
Documentação
+SketchFlow
Sketchflow
Entendendo o Layout
• Essencial para a criação da sua UI
• Renderização/organização do conteúdo
• Panels são usados para receber conteúdo
• Margin e Padding
• Posicionamento Fixo (Canvas) é
raramente usado
Controles
Controles são Faceless. Crie o seu!
Subset do WPF, porém muitos controles do
Silverlight não existem no WPF
Silverlight Toolkit possui vários controles
Existem ótimos controles de terceiros
Expression Blend
Layout , Bind e Controles
Dica #1: Escolha um padrão e respeite-o
• Silverlight Line-of-Business (LOB) pode crescer
fora do controle e sem planejamento
adequado:
– Normalmente muitas telas de código
– Código de validação
– Código para chamar serviços da aplicação
– Código de Serviço
– Código do Modelo
– Código de acesso aos dados
O Padrão MVVM
• O Model-View-ViewModel (MVVM) funciona
muito bem com apps para Silverlight LOB:
– Fornece consistência em código
– Permite uma melhor reuso de código
– Permite a separação de preocupações (SoC)
– Suporta Testes Unitários
– Usado como um tipo de controller para view
– Silverlight 4 fornece suporte ICommand
Code-behind não é ruim, mas minimiza
o código que você adicionar
• O padrão MVVM tem 3 elementos chaves:
• Model: domínio de negócio (regras de negócio,
acesso a dados, modelo de classes)
• View: Interface de usuário (telas Silverlight)
• ViewModel: Elemento do meio. Fica entre a View e
o Model – similar a um controller
MVVM Pattern Players
View ViewModel Model
Presentation Layer Business Domain
Cenário MVVM: O que está envolvido?
Silverlight client
View
(Pessoa Master/Details)
XAML Code
Precisa ser desenhado
model
Model
(PessoaModel)
Pessoa
Camada
Dados/
Serviço
Camada
de
Negócios
Precisa ser testável e
sustentável
MVVM
View (Pessoa
Master/Details)
XAML
Code
puro
“Display”
Model
(PessoaModel/Pessoa)
puro
“Dados
ViewModel
ViewModel é o
DataContext da View.
Bind to data, commandsDesigners e
Ferramenta
s de Design
como
XAML para
maximizar
a
utilização.
Aberto para
aplicar técnicas
como injeção de
dependência,
testes, etc
Difícil de testar este
Código sem retirar/
Minimizar ele da UI
Vincula a
View com a
ViewModel
(ViewModelLoc
ator)
INotifyPropertyCh
anged
Envia para a
View quando há
mudanças de
dados
Vinculando View com a ViewModel
MVVM
View (Pessoa
Master/Details)
XAML
Code
puro
“Display”
Model
(PessoaModel/Pessoa)
puro
“Dados
ViewModel
ViewModel é o
DataContext da View.
Bind to data, commands
Designers e
Ferramenta
s de Design
como
XAML para
maximizar
a
utilização.
Aberto para
aplicar técnicas
como injeção de
dependência,
testes, etc
Difícil de testar este
Código sem retirar/
Minimizar ele da UI
Vincula a
View com a
ViewModel
(ViewModelLoc
ator)
INotifyPropertyCh
anged
Envia para a
View quando há
mudanças de
dados
+
Services
Services
Fornece serviços
para realizar
operações como
RetornaPessoa
Camadas e camadas…
XAML
Code behind
ViewModel
Model
Data Access
Network client
Database
Network server
Model Server Validation rules
Client Validation rules
Melhorando isto…
XAML
Code behind
ViewModel
Model
Data Access
Network client
Database
Network server
ModelModel Server Validation rules
Client Validation rules
Data Access
WCF RIA
Services
A próxima grande onda
7
Plataforma
Consistente
Windows Phone
Hardware
Elementos de
Hardware
Foco na
Qualidade
Silverlight no Windows Phone 7
HTML 5 x Silverlight x Flash
Amigo ou inimigo?
• Spark’s
• DreamSpark
• WebSiteSpark
• BizSpark
• WebsiteSpark
• Software
• Visibilidade
• Suporte
• WebsiteSpark
• WebsiteSpark
• WebsiteSpark
www.microsoft.com/web/websitespark/
XAMLCast
Podcast sobre Silverlight, WPF e XAML
www.xamlcast.net
Links
• Cases: www.microsoft.com/silverlight/case-
studies/business
• Site oficial do produto
– www.microsoft.com/silverlight
• Free Windows Phone Developer Tools
– http://developer.windowsphone.com
• Blog: Rodrigo Kono - www.rodrigokono.net
• Blog do Kelps Sousa - blog.kelps.net
Twitter:
@fernandomartin
@rodrigokono
Apoio
Agradecimentos
Patrocinadores
Realização

Mais conteúdo relacionado

PDF
Programando razor
PPTX
Comtec2010 asp.net mvc
PPT
Novidades no Windows Mobile Line of Business Solution Accelerator 2008
PPTX
A nova geração da arquitetura web para a era da nuvem
PDF
TDC 2014 - Arquitetura front-end com AngularJS
PDF
Padrões de Projeto WEB e o MVC
ODP
Arquitetura MVC, JavaBeans e DAO
PPTX
Silverlight no MIC Summer 2011
Programando razor
Comtec2010 asp.net mvc
Novidades no Windows Mobile Line of Business Solution Accelerator 2008
A nova geração da arquitetura web para a era da nuvem
TDC 2014 - Arquitetura front-end com AngularJS
Padrões de Projeto WEB e o MVC
Arquitetura MVC, JavaBeans e DAO
Silverlight no MIC Summer 2011

Mais procurados (20)

PPTX
Desenvolviemento web com ASP.Net e MVC
PDF
Ferramentas para desenvolvimento web com produtividade - Slide Artigo (2009)
PDF
MVC MVP MVVM para Web
PDF
Certificações Microsoft e o Mercado de Trabalho
PPTX
ASP .NET MVC - Você esta pronto para a pílula vermelha?
PPTX
Desenvolvimento Web com ASP.NET 4
PDF
Arquitetura MVC
PDF
Microservices com ASP.NET 5
PPTX
ASP.NET Web Forms X ASP.NET MVC
PPT
Apresentação Facelets_UNIFEI
PPTX
EasyFaces - Framework de Componentes JSF
PDF
Padrões Arquiteturais - MVC, MVP e MVVM
PDF
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
PPTX
Estudo de caso ASP.NET MVC e Silverlight
PDF
Afinal, o que são Single Page Applications
PPTX
Uma visão geral da estratégia de middleware da Microsoft
PPTX
MVC, MVP e MVVM: Uma Comparação de Padrões Arquiteturais
PDF
PDF
Estudo da aplicação da arquitetura orientada a serviços em um sistema de gest...
Desenvolviemento web com ASP.Net e MVC
Ferramentas para desenvolvimento web com produtividade - Slide Artigo (2009)
MVC MVP MVVM para Web
Certificações Microsoft e o Mercado de Trabalho
ASP .NET MVC - Você esta pronto para a pílula vermelha?
Desenvolvimento Web com ASP.NET 4
Arquitetura MVC
Microservices com ASP.NET 5
ASP.NET Web Forms X ASP.NET MVC
Apresentação Facelets_UNIFEI
EasyFaces - Framework de Componentes JSF
Padrões Arquiteturais - MVC, MVP e MVVM
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Estudo de caso ASP.NET MVC e Silverlight
Afinal, o que são Single Page Applications
Uma visão geral da estratégia de middleware da Microsoft
MVC, MVP e MVVM: Uma Comparação de Padrões Arquiteturais
Estudo da aplicação da arquitetura orientada a serviços em um sistema de gest...
Anúncio

Destaque (9)

PPTX
Introdução ao silverlight
PPTX
Programação
PDF
ACIDO URICO
PPTX
Galapagos
PPTX
Canales de distribución
PDF
Armenian food culture book
PDF
Social Media im Krisenjournalismus
PDF
Construindo aplicações ricas com Silverlight
PDF
Stay Up To Date on the Latest Happenings in the Boardroom: Recommended Summer...
Introdução ao silverlight
Programação
ACIDO URICO
Galapagos
Canales de distribución
Armenian food culture book
Social Media im Krisenjournalismus
Construindo aplicações ricas com Silverlight
Stay Up To Date on the Latest Happenings in the Boardroom: Recommended Summer...
Anúncio

Semelhante a Desenvolvimento RIA com Silverlight 4 (20)

PPTX
AAB301 - Rich Internet Application - wcamb
PDF
Primeiros passos com o framework Sencha Ext JS
PDF
Aula 1 ASP.NET Core com arquitetura MVC
PPTX
Introdução ao desenvolvimento front end usando bootstrap e angular js
PPTX
Treinamento ASP.NET 2014
PDF
Palestra ASP.NET MVC
PPTX
Microserviços - Universidade Metodista - EETI 2016
PDF
Plataforma Android: Produtividade Além do SDK
PPT
ASP.NET MVC para desenvolvedores Web Forms (TechEd)
PPTX
Application Insights
 
PPTX
Arquitetura de Microserviços - Stone Tech Saturday - Março/2017
PDF
Workshop soa, microservices e devops
PPTX
Desenvolvimento web com .NET Core - Meetup São Carlos
PPTX
Sonarqube
 
PPTX
Introdução C#
PDF
SATADS 2019 - Desenvolvimento com recursos da AWS
PPT
Arquitetura de sistemas web
PDF
Java Web, o Tutorial
PDF
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
PPTX
MVC e Frameworks MVC
AAB301 - Rich Internet Application - wcamb
Primeiros passos com o framework Sencha Ext JS
Aula 1 ASP.NET Core com arquitetura MVC
Introdução ao desenvolvimento front end usando bootstrap e angular js
Treinamento ASP.NET 2014
Palestra ASP.NET MVC
Microserviços - Universidade Metodista - EETI 2016
Plataforma Android: Produtividade Além do SDK
ASP.NET MVC para desenvolvedores Web Forms (TechEd)
Application Insights
 
Arquitetura de Microserviços - Stone Tech Saturday - Março/2017
Workshop soa, microservices e devops
Desenvolvimento web com .NET Core - Meetup São Carlos
Sonarqube
 
Introdução C#
SATADS 2019 - Desenvolvimento com recursos da AWS
Arquitetura de sistemas web
Java Web, o Tutorial
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
MVC e Frameworks MVC

Mais de Rodrigo Kono (20)

PPTX
Dicas para migrar sua aplicação ASP.NET para ASP.NET Core 2.x
PPTX
Develop using Office Graph API
PPTX
.NET no Browser - Webassembly com Blazor!
PPTX
.NET para construir qualquer coisa! (Visão Geral) #dotnetconf
PPTX
ASP.NET Core 2.1 #dotnetconf
PPTX
Novidades do ASP.NET Core 2.1
PPTX
Controlando o Ciclo de Software e porque você deveria usar o VSTS
PPTX
Ciclo de vida do desenvolvimento de software de ponta a ponta
PPTX
Conhecimentos para tomar atitude e migrar sua aplicação para asp.net core
PPTX
Controle do ciclo de vida do desenvolvimento de software com tfs vsts
PPTX
Desenvolvimento add in Office 2016
PPTX
Além do código dicas de evolução profissional
PPTX
Aprenda a controlar sua aplicação ASP.NET Core com técnicas de DevOps e ALM
PPTX
O que você precisa saber sobre ASP.NET CORE
PPTX
Deployment no Azure
PPTX
Servidor de Build e Integração Contínua
PPTX
Dia 01 - Workshop ASP.NET CORE 1.1
PPTX
Abertura - Workshop ASP.NET Core
PPTX
Desenvolvimento .NET no Linux. Veja porque a Microsoft ama Linux e Open Source
PPTX
TypeScript: turbinando os poderes do desenvolvedor javascript
Dicas para migrar sua aplicação ASP.NET para ASP.NET Core 2.x
Develop using Office Graph API
.NET no Browser - Webassembly com Blazor!
.NET para construir qualquer coisa! (Visão Geral) #dotnetconf
ASP.NET Core 2.1 #dotnetconf
Novidades do ASP.NET Core 2.1
Controlando o Ciclo de Software e porque você deveria usar o VSTS
Ciclo de vida do desenvolvimento de software de ponta a ponta
Conhecimentos para tomar atitude e migrar sua aplicação para asp.net core
Controle do ciclo de vida do desenvolvimento de software com tfs vsts
Desenvolvimento add in Office 2016
Além do código dicas de evolução profissional
Aprenda a controlar sua aplicação ASP.NET Core com técnicas de DevOps e ALM
O que você precisa saber sobre ASP.NET CORE
Deployment no Azure
Servidor de Build e Integração Contínua
Dia 01 - Workshop ASP.NET CORE 1.1
Abertura - Workshop ASP.NET Core
Desenvolvimento .NET no Linux. Veja porque a Microsoft ama Linux e Open Source
TypeScript: turbinando os poderes do desenvolvedor javascript

Último (19)

PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
Apple Pippin Uma breve introdução. - David Glotz
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PPTX
Aula 18 - Manipulacao De Arquivos python
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PDF
Processos na gestão de transportes, TM100 Col18
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PDF
Aula04-Academia Heri- Tecnologia Geral 2025
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Apple Pippin Uma breve introdução. - David Glotz
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
COBITxITIL-Entenda as diferença em uso governança TI
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Custos e liquidação no SAP Transportation Management, TM130 Col18
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Aula 18 - Manipulacao De Arquivos python
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Processos na gestão de transportes, TM100 Col18
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Aula04-Academia Heri- Tecnologia Geral 2025

Desenvolvimento RIA com Silverlight 4

Notas do Editor

  • #19: Separation of Concerns (SoC): é o processo de agrupar códigos com características distintas, separando em blocos de códigos especialistas, responsáveis por interesses específicos. Separa Design/Apresentação da Logica de Negócios Data Binding via XAML Teste unitário Sinergia de trabalho entre Designer e Developer
  • #20: Model: Objeto de Domínio, Properties, Entidades com RIA Services View: A Tela ou a Página ou Controle. Apresentação amigável da informação. Interação com o usuário em bindings, events, behaviors. Themes e Styles ViewModel: Cola, conecta a view na model. Ligação com a View através de properties, commands, methods. Contém o Model. Pode comunicar com o Serviço e ler/salvar o modelo.