Java x .NET - Windows phone 7 e o Desenvolvimento com Silverlight e XNA

Preview:

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.

Citation preview

Plataforma Java x Plataforma .NETEdição SP 2010

Windows Phone 7Desenvolvimento para Windows Phone 7

com Silverlight ou XNA

Luciano CondéMicrosoft

luconde@microsoft.com@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