java x .net - windows phone 7 e o desenvolvimento com silverlight e xna
DESCRIPTION
Microsoft está muito empolgada com o lançamento do Windows Phone 7, que tem como principal foco do produto o consumidor final. Mas não é só a Microsoft que pode ficar empolgada com esse lançamento. Veja nessa apresentação comomuitas portas se abrem para os desenvolvedores também.TRANSCRIPT
Plataforma Java x Plataforma .NETEdição SP 2010
Windows Phone 7Desenvolvimento para Windows Phone 7
com Silverlight ou XNA
Luciano CondéMicrosoft
[email protected]@luconde
Tema 6Aplicações para dispositivos móveis
João Paulo ClementiMicrosoft
www.jpclementi.com@jpclementi
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft)
Agenda
2
Filosofia
Experiência
Plataforma
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft)
Windows Phone 7
3
Filosofia
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 4
Mudando nosso jogo
DESIGN: USUÁRIO FINAL USUÁRIO VEM PRIMEIRO
PLATAFORMA: APPS MAIS RICAS, SOFISTICADAS E FÁCEIS
HARDWARE:MAIS FÁCIL DE PROMOVER, MAIS LEVE
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 5
Windows Phone 7
Filosofia
Experiência
Plataforma
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 6
Windows Phone 7
Experiência
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 7
Experiência
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 8
Sistema de Design do Windows Phone
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 9
Experiências Integradas (Hubs)
PEOPLE
OFFICE
MARKETPLACE
PICTURES
MUSIC+VIDEO
GAMES
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 10
Conjunto consistente de capacidades de hardware, definido pela Microsoft 8
00
or 4
80
480 or 320
• Uma resolução no lançamento
• Segunda resolução adicionada depois
• Same touch input
• Processador / GPU
• Mesma quantidade de RAM
• Teclado opcional
PlataformaConsistente
Windows Phone
Hardware
Elementos comuns no Hardware
Foco Qualidade
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 11
Hardware FoundationCapacidade de multitouch4 ou mais pontos de contato
SensoresA-GPS, Acelerômetro, Bússola
Câmera5 mega pixels ou mais
MultimídiaMicrofone, aceleração Codec
Memória256MB RAM ou mais, 8GB Flash ou mais
GPUDirectX 9
CPUARMv7 Cortex/Scorpion ou superior
Hardware buttons | Back, Start, Search
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 12
Serviços aprimorando as experiências
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 13
Serviços aprimorando as experiências
Browser
Web SiteWeb API
Outrosdispositivos
Pessoas + padrões + código do servidor + código do cliente
experiências
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 14
Hello Windows Phone 7
Demo
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 15
Windows Phone 7
Filosofia
Experiência
Plataforma
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 16
Windows Phone 7
Plataforma
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 17
Missões da Plataforma
Ajudar usuários na personalização dos seus celulares
Facilitar para os desenvolvedores tornarem suas aplicações rentáveis
Expandir a experiência através dos serviços cloud-based
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 18
Elementos da plataforma de aplicações
Serviços na nuvem
Runtime – On “Screen”
Código que você escreve no cliente
Código que você escreve no
servidor
Ferramentas & Suporte
Portal de Serviços
Ferramentas que você usa para
construir
Ferramentas que você usa para
vender
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 19
Elementos da plataforma de aplicações
Serviços na nuvem
Runtime – On “Screen” Ferramentas & Suporte
Portal de Serviços
Sensors Media Data
Xbox LIVE Notifications
.NET Framework managed code sandbox
Location
Phone
Phone Emulator
Samples Documentation
Guides Community
Packaging and Verification Tools
Notifications
Location Identity Feeds
MapsSocial
App Deployment Registration
Validation
Certification
Publishing
Marketplace
MO and CC Billing
Business Intelligence
Update Management
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 20
Elementos da plataforma de aplicações
Runtime – On “Screen”
Sensors Media Data
Xbox LIVE Notifications
.NET Framework managed code sandbox
Location
Phone
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 21
Dois “sabores” de aplicações
Framework de alto desempenho para games.
Criação rápida para jogos em multitelas de 2D e 3D
Maduro, robutos, tecnologia amplamente adotada. Vide: Xbox 360, Windows, e Zune
Framework UI orientadoa eventos para aplicações XAML.
Criação rápida de appsvisuais.
Controles baseados noMetro tema.
Metro-themed UI controls
HTML/JavaScript 500,000 desenvolvedores
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 22
Capacidades comuns
Input• Toque• Botões do Chassi
Mídia• Captura conteúdo e executa• Acesso a biblioteca de mídia
Dados• Isolated Storage• LINQ (Objects e XML)
.NET
• Superset do Silverlight 3.0• Windows Communication Foundation
• SOAP e serviços REST
Acesso ao telefone• Integrado com o framework• Sensores• Conector para contatos e fotos
Integrado com serviços cloud• App Deployment & Updates• Notificações• Localização• Xbox LIVE
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 23
Demo
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 24
Arquitetura do Windows Phone
KernelHardware BSP
Modelo de Aplicação
Modelo UI Nuvem
Aplicações
App managementLicensingChamber isolationSoftware updates
Shell frame Session managerDirect3DCompositor
Xbox LIVEBingLocationPush notificationsWindows Live ID
Sua aplicação e lógica
A-GPS Accelerometer Compass Light ProximityMedia Wi-Fi Radio Graphics
SecurityNetworkingStorage
Frameworks
Silverlight XNAHTML/
JavaScriptCLR
Hardware Foundation
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 25
Windows Phone 7 Series Frameworks
XNA Media Library
Windows Phone 7 Series Fx
Windows Phone UI controls
XNA Game LoopWindows Phone App & UI Model
Silverlight Presentation & Media Library
Cloud Services Integration
Common Base Class Library
Device & Phone Capabilities
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 26
Windows Phone 7 Series Detalhes do Framework
Common Base Class Library
Collections ComponentModel Configuration
DiagnosticsReflection IO
Security Threading
Runtime Resources Globalization TextLocation Net
ServiceModel Linq
Application Object
Silverlight Presentation and Media
XNA Frameworks for Games
Windows Phone Frameworks
NavigationShapes Markup Media
Controls Drawing IsolatedStorage
AudioMedia GraphicsInput
Drawing GamerServices
Content
PhoneApplicationPage
PushNotification
WebBrowserControl
SensorsPhoneApplicationFra
me
CameraDevice
IntegrationLaunchers &
ChoosersWindows Phone
Controls
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 27
Modelo de Aplicação
.NET CommonLanguage Runtime
Modelo de processo
Service BasedApplication Deployment
Missão: ExcelenteExperiência para
usuário
PrevisívelSegura
Alto desempenhoCom foco na inovação
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 28
O que é um XAP?
Ferramentas
Formato comum para todas as aplicações e jogos com o Windows Phone
Declarativo, baseado em manifesto
Integrado com o modelo de segurança do Windows Phone
myapp.xap
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 29
Gerenciamento do Estado
• Somente uma aplicação roda por vez• Há 4 eventos na classe Application
• Launching• Closing• Activated• Deactived
• No disparo de Activated e Deactivated gera-se thumbstone records
• A chamada dos eventos depende da interação do Usuário
• Botão Start• Botão Back• Lanchers/Choosers
• O developer é responsável pelo armazenamento dos dados da aplicação
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 30
Ex: Start -> App -> Back -> Back
Application_Launching é disparado
Application_Closing é disparado
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 31
Ex: Start -> App -> Start
Application_Launching é disparado
Application_Deactivated é disparado
Thumbstone record gerado!
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 32
Ex: Start -> App -> Start -> Back
Application_Launching é disparado
Application_Deactivated é disparado
Application_Activated é disparado
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 33
Gerenciamento do Estado
Demo
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 34
Elementos da plataforma de aplicações
Ferramentas & Suporte
Phone Emulator
Samples Documentation
Guides Community
Packaging and Verification Tools
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 35
Windows Phone Developer Tools
Packaging & Verification Toolsmyapp.xap
Windows Phone device
Windows PhoneEmulator
Phone Emulator
Samples Documentation
Guides Community
Packaging and Verification Tools
Ferramentas
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 36
Elementos da plataforma de aplicações
Serviços na nuvem
Notifications
Location Identity Feeds
MapsSocial
App Deployment
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 37
Serviços na Nuvem
Acesso a APIs que você conhece via Windows Communication Foundation SOAP. REST. LINQ.
Deles
Você constroe, consome e hospeda onde quiser.
Seus
NotificationsLocationXbox LIVEApp Deployment & Marketplace
Nossos
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 38
Integração com a nuvem
Windows Phone
Serviços para integração
Frameworks
Windows Phone
Application
Seu serviçoServiço construído
Outros serviços
Microsoft Services
Notification ServiceLocation Service
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 39
Microsoft Push Notification
Aplicação
PushNotificationRegistra
Notifica a Url
En
via
Msg
Sua App
Push Client
Sua App
Namespace
LIbrary
Recebe UrlRecebe Msg
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 40
Tipos de notificações
New photos online!
Seattle, WA: Sunny and 85 degrees
1415
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 41
Push Notification
Demo
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 42
Processo de publicação
Application and Game Submission
Assinar
Windows Phone 7 Deployment Service
.xap
.dllEnviar
aplicação
Empacotamento&
Validação
.xap
.dll
.xap
.dll
.xap
.dll
AplicarCritériode teste
Marketplace
AdicionarMetadata
.xap
.dll
.xap
.dll
.xap
.dll
.xap
.dll
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 43
Considerações importantes
Aplique as melhores práticas de empacotamento
Usar recurso de trial maximizar lealdade
Lembre-se do critério de teste
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 44
Empacotamento da aplicação
Use as boas práticas do .NET Localization
Empacote múltiplos idiomas dentro do XAP
Use o suporte Trial
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 45
API de Trial
API de Trial
Implemente IsTrial() API
Você controla a funcionalidade
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 46
Princípios do critério de teste
Funcionalidade é protegida
Aplicações “bem” comportadas
O processo de certificação seja transparente para os desenvolvedores
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 47
Pilares do critério de testes
validação técnica
validação das políticas
validação de mercado
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 48
Marketplace
Fácil encontrar• Fácil encontrar, listar
e identificar aplicações• Listar as aplicações
disponíveis
Simples para comprar• Try antes de Buy• Pagamento flexível
(fatura da operadora e cartão de crédito)
• Fácil atualização de aplicações
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 49
Disponibilidade para o Marketplace
30 markets world wide
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 50
Serviços na nuvem
Demo
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 51
Lembretes
Compreenda os modelos de desenvolvimento e os principais
recursos da plataforma
Less chrome, more content Boas práticas sempre !
Baixe hoje as ferramentas de desenvolvimento e já entre na
“golden rush”
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 52
Recursos Portal para Desenvolvedor de Windows Phone
Ref.: http://developer.windowsphone.com
Plat
afor
ma
Java
x P
lata
form
a .N
ETEd
ição
SP
2010
© 2010 JavaVersusDotNet.com.br, Luciano Condé e João Paulo Clementi (Microsoft) 53