Sie sind auf Seite 1von 38

Desenvolvimento RIA com

Silverlight 4
do bsico ao acabamento...

Rodrigo Kono
MVP da Microsoft
MCP MCTS MCPD MCT
Fundador do grupo de usurios
DevGois .NET
7 anos de comunidade .NET
Mais de 12.000 pessoas nesse tempo
Pensou.NET Treinamentos e
Consultoria
Torcedor do Gois (Uhuu srie B)
Bonito

Developer Evangelist, Pai e Gamer.


Foco em Ferramentas e Solues Microsoft

Agenda
First steps
RIA
Sketflow: Tudo comea com a
Prototipao
Padro MVVM
WCF RIA Services

Media e RIA

Microsoft Silverlight um runtime


cross-browser, cross-platform
que permite desenvolver aplicaes
ricas para internet e potencializar a
experincia de media na Web,
Desktop e Devices.

Microsoft .NET Application


Platform
Tecnologia e Ferramenta
Ferramentas &
Modelo de Aplicaes

Develo
p

Browse
r

Deploy

User Experience

Design

Client

ALM

RIA

RIA Rich Internet


Applications

O que tem de diferente com RIA?


Web Developer

Desktop Developers

Business Logic in UI

Browser Sandbox
Hype

Back Button and Refresh

Non-text based layout

Visual Vocabulary
State management
Limited Runtime

Animation

Service Orientation

Component Level Logic

DEMO
App RIA

Blend + SketchFlow
Prottipos no lineares
Compatvel com as principais ferramentas de
criao
Presena de comportamentos
Padro de wireframes
Comportamentos extensveis
Soluo Silverlight e WPF
Reutilizao de sketchs
SketchFlow player
Feedbacks
+SketchFlow
Documentao

DEMO
Sketchflow

Entendendo o Layout
Essencial para a criao da sua UI
Renderizao/organizao do
contedo
Panels so usados para receber
contedo
Margin e Padding
Posicionamento Fixo (Canvas)
raramente usado

Controles

DEMO
Expression Blend
Layout , Bind e Controles

Dica #1: Escolha um padro e


respeite-o
Silverlight Line-of-Business (LOB)
pode crescer fora do controle e sem
planejamento adequado:
Normalmente muitas telas de cdigo
Cdigo de validao
Cdigo para chamar servios da
aplicao
Cdigo de Servio
Cdigo do Modelo
Cdigo de acesso aos dados

O Padro MVVM
O Model-View-ViewModel (MVVM)
funciona muito bem com apps para
Silverlight LOB:

Fornece consistncia em cdigo


Permite uma melhor reuso de cdigo
Permite a separao de preocupaes (SoC)
Suporta Testes Unitrios
Usado como um tipo de controller para view
Silverlight 4 fornece suporte ICommand
Code-behind no ruim, mas minimiza
o cdigo que voc adicionar

MVVM Pattern Players


O padro MVVM tem 3 elementos
chaves:
Model: domnio de negcio (regras de
negcio, acesso a dados, modelo de
classes)
View: Interface de usurio (telas
Silverlight)
Presentation
Business
ViewModel:
Fica
Layer Elemento do meio.
Domain
View a View e
ViewMod
entre
o Model similarModel
a um
el
controller

Cenrio MVVM: O que est


envolvido?
Precisa ser desenhado
Camada
Dados/
Servio

View

(Pessoa
Master/Details)

XAML Code

Model

(PessoaModel)

Pessoa

model

Precisa ser testvel


e sustentvelSilverlight client

Camada
de
Negcio
s

MVVM

Aberto para
aplicar tcnicas
ViewModel o
como injeo
DataContext da View.
de
Bind to data, commands
dependncia,
ViewMod
testes, etc

Designers
e
Ferrament
Vincula a
as de
View com a
Design
como
ViewModel
XAML para
(ViewModelLo
maximizar
cator)
(Pessoa
a
Master/Details)
utilizao.

View
XAM
L

Code

puro
Display

el

INotifyPropertyCh
anged

Envia para a
View quando
h mudanas
de dados
Model
(PessoaModel/Pess
oa)

Difcil de testar este


Cdigo sem retirar/ puro
Minimizar ele da UI Dado

DEMO
Vinculando View com a
ViewModel

MVVM+

Services

Service
ViewModel o
DataContext da View.
Binds
to data, commands

Fornece
servios para
realizar
operaes como
RetornaPessoa

Designers
e
ViewMod
Ferrament
as de
Vincula a
INotifyPropertyCh
el
Design
anged
Aberto para
View com a
como
Envia para a
ViewModel aplicar tcnicas
XAML para
como injeo
View quando
(ViewModelLo
maximizar
de
cator)
h mudanas
(Pessoa
a
dependncia,
de dados
Master/Details)
utilizao.
testes, etc
(PessoaModel/Pess
XAM
oa)
L
Code
Difcil de testar este

View

puro
Display

Model

Cdigo sem retirar/ puro


Minimizar ele da UI Dado

Camadas e camadas
XAML
Code behind
ViewModel
Model

Client Validation
rules

Network client
Network server
Model
Data Access
Database

Server Validation
rules

Melhorando isto
XAML
Code behind
ViewModel
Model

Client Validation
rules

WCF RIA
Network client
Services
Network server
Model
Data Access
Database

Server Validation
rules

A prxima grande onda


7
Silverlight

Windows
Phone
Hardware

nativo no Windows

Phone 7
Criao rpida de aplicaes
visuais fantsticas
Metro-themed UI controls
HTML/JavaScript
500.000 developers Windows e
Web
Desenvolvimento
Elementos
para oFoco na
Plataforma
de
Consistente
Qualidade
MarketPlace
Hardware

DEMO
Silverlight no Windows Phone
7

HTML 5 x Silverlight x Flash

Amigo ou inimigo?

Sparks

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/casestudies/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

P&R

Twitter:
@fernandomartin
@rodrigokono

Agradecimentos
Realizao

Patrocinadores

Apoio

Das könnte Ihnen auch gefallen