Construindoaplicaçõespara Windows Phone com SilverlightLuciano CondéArquiteto de Soluçõeshttp://blogs.msdn.com/condehttp://twitter.com/luconde20/07/2010
AgendaServiços Built-inLaunchers eChoosersInputOutputControles e temasEstrutura e ciclo de vida de umaaplicação
Introdução
Silverlight for Windows PhoneMissãoMesmocódigoe mesmo conhecimentoatravés dos projetos Silverlight
Silverlight for Windows Phone3
AplicaçõesSuaaplicação e lógicaFrameworksSilverlightXNAHTML/JavaScriptCLRModelo de AplicaçãoModelo UINuvemXbox LIVEBingLocationPush notificationsWindows Live IDApp managementLicensingChamber isolationSoftware updatesShell frame Session managerDirect3DCompositorKernelHardware BSPSecurityNetworkingStorageA-GPS	Accelerometer	Compass	Light	ProximityMedia	Wi-Fi		Radio	GraphicsHardware FoundationArquitetura do Windows Phone 7
Windows Phone 7Framework emdetalhesWindows Phone FrameworksCameraDevice IntegrationLaunchers & ChoosersWindows Phone ControlsPhoneApplicationPagePushNotificationWebBrowserControlSensorsPhoneApplicationFrameSilverlight Presentation and MediaXNA Frameworks for GamesControlsDrawingIsolatedStorageDrawingGamerServicesNavigationShapesMarkupMediaAudioMediaGraphicsContentInputApplication ObjectCommon Base Class LibraryDiagnosticsReflectionIORuntimeResourcesGlobalizationTextLocationNetCollectionsComponentModelConfigurationSecurityThreadingServiceModelLinq
Serviços Built-inLaunchers eChoosersInputOutputControles e temasEstrutura e ciclo de vida de umaaplicação
Estrutura de uma aplicaçãoComparação de estruturas
Estrutura default em SilverlightApplicationUserControlContentContentContent
Estrutura default em Silverlight 3ApplicationApplicationUserControlUserControlFramePage 3Page 1Page 2ContentContentContent
Estrutura default no WP7ApplicationApplicationUserControlFrameFramePage 3Page 1Page 2Page 3Page 1Page 2
DemoEstrutura de aplicação
Ciclo de vida
Ciclo de vidaSomente uma aplicação roda por vez
Há 4 eventos na classe Application
Launching
Closing
Activated
Deactived
No disparo de Activated e Deactivated gera-se thumbstonerecords
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çãoEx: Start -> App -> Back -> BackApplication_Closingé disparadoApplication_Launching é disparado
Ex: Start -> App -> StartThumbstonerecord gerado !Application_Deactivatedé disparadoApplication_Launching é disparado
Ex: Start -> App -> Start -> BackApplication_Activatedé disparadoApplication_Deactivatedé disparadoApplication_Launching é disparado
DemoCiclo de vida
A tecla “Back”
A Tecla “Back”Usuário volta para as páginas anterioresAplicações em background são reativadasHá uma exceção no uso
DemoTratando a tecla “Back”(Uma exceção)
Serviços Built-inLaunchers eChoosersInputOutputControles e temasEstrutura e ciclo de vida de umaaplicação
ControlesOrientação por simplicidade e elegânciaOs pontos de contato são maiores do que parecemUso de transparência
TemasPermite os usuário personalizar o seu celularDois temas já disponíveis – Dark e Light. Cada tema tem variações de cores para fontesOs controles Built-in já suportam temas
DemoO “botão”
Serviços Built-inLaunchers eChoosersInputOutputControles e temasEstrutura e ciclo de vida de umaaplicação
Input scope e o teclado virtual
TecladoSilverlight textbox integra com o teclado virtualPassword tem um atrasoTeclado virtual suporte input scopingScrollviewer suporta os gestos pan e flick
DemoInput scope e o teclado virtual
Acelerômetro+YMensuraforçaaplicadaem cada eixo-Z-X+X+Z-Y
DemoEmulando o acelerômetro
MicrofoneO formato do stream gerado é WAVChame o evento BufferReady de tempos em temposChame o método GetData a partir do evento BufferReady para coletar o stream gerado10ms de latência
Serviços Built-inLaunchers eChoosersInputOutputControles e temasEstrutura e ciclo de vida de umaaplicação
Elemento MídiaO elemento mídia suporta:Decodificação via hardwareMediaStreamSource (Remoto)PlayReady DRMNo framework XNA tem suporte para efeitos de somLimitaçõesSomente um elemento em cada página
DemoUsandoelementomídia
VibraçãoVibra o telefone durante um períodoUsingMicrosoft.Devices;VibrateControllervc = VibrateController.Default;vc.Start(TimeSpan.FromSeconds(3));
Serviços Built-inLaunchers eChoosersInputOutputControles e temasEstrutura e ciclo de vida de umaaplicação
Launchers e choosersLaunchers e Choosers são funções built-in (Tasks) dentro do OSLaunchersChama uma atividade para OS tratar sozinhoA aplicação continua executando após a chamadaEx: SMS, email, webbrowsers, maps, etChoosersChama uma atividade no OS, onde o usuário pode escolher o tipo de dado para interagirQuando o usuário termina, a ação retorna para a aplicaçãoEx: Picture, contact, camera, etc
DemoChoosers e Launchers
Launchers & ChoosersChoosersLaunchersBingMapsTaskMarketplaceLauncherMediaPlayerLauncherPhoneCallTaskPhoneNumberChooserTaskPhotoChooserTaskSaveEmailAddressTaskSavePhoneNumberTaskSearchTaskSMSComposeTaskWebBrowserTaskCameraCaptureTaskEmailAddressChooserTaskEmailComposeTask
Serviços Built-inLaunchers eChoosersInputOutputControles e temasEstrutura e ciclo de vida de umaaplicação
Serviços de NotificaçãoComunicação baseada em servidoresOrientada para cenários de notificação em backgroundPreserva a bateria
Tipos de notificações1415New photos online!Seattle, WA: Sunny and 85 degrees
Microsoft PushNotificationAplicaçãoNotifica a UrlSua AppEnvia MsgPushClientNamespaceSua AppPushNotificationLIbraryRegistraRecebe UrlRecebe Msg

Construindo aplicações para o Windows Phone com Silverlight

Notas do Editor

  • #6 Tunning performance na interpretação e execução de XAML e schemas em relação ao SL2Hardware integration, utilização GPU, GPS, record vídeosIntegrado com as capacidades do sistema operacional (camera, network)Integrado com as aplicações no celular (hubs, multimedia hub, notification)
  • #9 Falar sobre a estrutura de navegaçãoFalar sobre o mecanismo de orientação através do Silverlight
  • #25 Os controles por default utiliza transparencia (chorme x simplicidade) Leschorme More Content
  • #26 Vctb pode utilizar os temas dentro do sua aplicação
  • #27 Não há bodas arrendodas (variação de sistemas operacionais)Área de contatoTransparência
  • #30 Falar sobre a lista de input scoping.
  • #34 Informar que está reutilização o formato do XNA Framework
  • #36 A limitação é devido ao consumo de recursos da interface pelo usuárioNo framework XNA tem suporte a mais recursos (sons polifornicos)
  • #40 A limitação é devido ao consumo de recursos da interface pelo usuárioNo framework XNA tem suporte a mais recursos (sons polifornicos)