introdução silverlight windows phone
TRANSCRIPT
Introdução ao Silverlight para Windows PhoneNuno Luz | Mobility Solutions Specialist Microsoft Portugal
16-04-2012
Windows Phone
Agenda• Introdução ao Windows Phone
• Ferramentas
• Silverlight
• Novidades na versão Mango
• Novidades na versão Tango
• Truques e dicas
• App-me-up
Introdução ao Windows Phone
Windows Phone
O nosso ecossistema
Outlook e Office
integrados
Integra-se com as
suas infraestrut
uras
Facilita o desenvolvimen
to de aplicações
empresariais
Windows Phone
O user interface
Design inspirado na sinalética de transportes
Rápido e intuitivo
Windows Phone
App connect
Integração das aplicações no centros (Música + Vídeos e Imagens)
Pesquisa no mercado a partir da lista de aplicações
Windows Phone
Live Tiles e notificações
Ferramentas
As melhores ferramentas de desenvolvimento
Aplicações intuitivas e cativantes com o interface Metro
Inclui ferramentas para proteger os dados do negócio
Desenvolvimento acelerado e mais facilitado
Suporte para tecnologias e serviços actuais
Ferramentas largamente utilizadas e reconhecidas mundialmente
Todas as ferramentas necessárias num só download gratuito
Beneficios:
Windows Phone
Modelos de projecto
• O Visual Studio oferece uma série de modelos de projecto
• Cada um corresponde a um tipo especifico de aplicação
10
Windows Phone
Modelos de aplicação
• “Windows Phone” application– Projecto simples de uma página
• “DataBound” application– É um exeplo de aplicação que utiliza databinding
• Class Library– Projecto sem UI para conter classes reutilizaveis
• “Pivot” application– Aplicação com vários ecrãs onde a navegação é feita na
horizontal
• “Panorama” application– Aplicação com o fundo panorâmico (na horizontal), que
ocupa mais do que um ecrã11
Windows Phone
Tipos de aplicação
• Os três tipos de projectos de aplicação oferecem um user interface para diferentes experiências de utilização
12
Windows Phone
Expression Blend: Design gráfico
• Orientado para os designers, permite importar e criar gráficos e vectores, e ainda criar animações.
– O Blend faz parte do SDK.13
Windows Phone
Visual Studio: Criação do código
• Um programador pode pegar na base desenhada no Blend e tratar da “canalização” para que a mesma funcione.
– O Visual Studio também permite trabalhar o design de uma aplicação mas não de forma tão completa como o Expression Blend
14
Silverlight Windows Phone
Windows Phone
Elementos e o XAML
• O XAML é a linguagem que descreve os componentes do interface do Silverlight
16
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> <TextBox Height="72" HorizontalAlignment="Left" Margin="8,19,0,0" Name="firstNumberTextBox" Text="0" VerticalAlignment="Top" Width="460" TextAlignment="Center" /> . . . <Button Content="equals" Height="72" HorizontalAlignment="Left" Margin="158,275,0,0" Name="equalsButton" VerticalAlignment="Top" Width="160" Click="equalsButton_Click" /> . . .</Grid>
16
Windows Phone
O code behind
• Cada página XAML tem associada um ficheiro, denominado de code behind no qual assenta a lógica de programação
1717
Application ChromeSystem Tray e Application BarSystem Tray
Àrea que mostra informações do sistema (reservada ao sistema)O programador pode esconder esta na sua app:Microsoft.Phone.Shell.SystemTray.IsVisible = false;
Application BarÀrea da aplicação onde estão os botões de acesso às tarefas mais comuns da aplicação
Windows Phone
Pode ter opacidade e ficar minimizado
Utilizar ApplicationBar em vez de criar um menu próprio
Até 4 botões + menu opcional
Basta deslizar a barra para cima de modo a mostrar o menu
Navegação - Application Bar
Windows Phone
Application Bar no Xaml
20
<phone:PhoneApplicationPage x:Class=“MyApp.MainPage” … >
<phone:PhoneApplicationPage.ApplicationBar> <shell:ApplicationBar x:Name="AppBar" IsMenuEnabled="True"> <shell:ApplicationBar.Buttons> <shell:ApplicationBarIconButton x:Name="NewContactButton" IconUri="Images/appbar.new.rest.png" Text="New" Click="NewContactButton_Click"/> <shell:ApplicationBarIconButton x:Name="SearchButton" IconUri="Images/appbar.feature.search.rest.png" Text="Find" Click="SearchButton_Click"/> </shell:ApplicationBar.Buttons> <shell:ApplicationBar.MenuItems> <shell:ApplicationBarMenuItem x:Name="GenerateMenuItem"
Text="Generate Data" Click="GenerateMenuItem_Click" /> <shell:ApplicationBarMenuItem x:Name="ClearMenuItem" Text="Clear Data" Click="ClearMenuItem_Click" /> </shell:ApplicationBar.MenuItems> </shell:ApplicationBar> </phone:PhoneApplicationPage.ApplicationBar>
Windows Phone
Navegação• O Silverlight no Windows
Phone utiliza um modelo de navegação baseado em páginas
– Semelhante ao modelo das páginas de internet
– Cada página é identificada por um URI diferente
– A navegação é feita com ajuda do botão “Back”
– O botão “Back” pode ser contornado
– É ainda possível passar dados entre páginas
Windows Phone
Navegação não linear
• Atenção ao desenhar a aplicação!
• Se navegar da ‘pagina3’ para a ‘MainPage’ e o utilizador tocar no botão Back, o que é que acontece?
– O utilizador espera que a aplicação feche?
– De facto é levado de novo para a página 3!
• Solução: nova API– NavigationService.RemovebackE
ntry()22
Windows Phone
NavigationService.RemoveBackEntry()• Quando se navega da ‘Pagina3’ para a
‘MainPage’, deve-se introduzir um marcador na query string:
• E no método OnNavigatedTo() na MainPage, procura-se pelo marcador, e remove-se a ‘ Pagina3’ e ‘Pagina2’ do histórico de navegação (navigation history stack):
23
NavigationService.Navigate(new Uri("/MainPage.xaml?homeFromThird=true", UriKind.Relative));
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e ){ if (e.NavigationMode == System.Windows.Navigation.NavigationMode.New && NavigationContext.QueryString.ContainsKey( “homeFromThird" )) { NavigationService.RemoveBackEntry(); // Remove ThirdPage NavigationService.RemoveBackEntry(); // Remove SecondPage }
Demo
ApplicationBar e navegação
24
Novidades no Mango
Windows Phone 7.5
Software Architecture
App Model
Cloud and Integration
Services
Hardware Foundation
UI Model
Gyro
Camera, Sensors & Motion
Fast App Switch Silverlight and
XNA Integration
Silverlight 4.0
Flexible chassis
SQL CEGen GC
Push, Alerts
Multitasking
Calendar Contacts Maps
Extras, Tiles
Sockets
Windows Phone
Silverlight Bing Map• Controle do Silverlight Map
• Optimizado para Windows Phone– Touch Enabled
Pinch – zoom in/out Trandução
– Caching
http://www.microsoft.com/maps/developers/mobile.aspx
Windows Phone
Localização no emulador
• O emulador do SDK 7.1 do Windows Phone trás um simulador de localização
28
Windows Phone
Câmara
• É possível capturar uma imagem a partir de uma aplicação
• A aplicação também pode apresentar a visualização da câmara
29
• A aplicação pode aceder directamente ao vídeo e mostrar o mesmo para se criar uma aplicação de realidade aumentada ou uma câmara com interface personalizado.
• A classe PhotoCamera permite controlar a cârmara e mostrar a mesma no ecrã.
Windows Phone
Sensores disponíveis
• Existem 3 sensores diferentes– Acelerometro– Compasso– Giroscópio
• Nem todos os sensores estão disponíveis em todos o telefones
– O Giroscópio apenas está disponíveis em telefones com o Mango
• Os sensores são utilizados todos da mesma forma:
– Despoletam um evento quando têm alguma leitura
Windows Phone
A biblioteca de sensores
• Os sensores de movimento estão em Devices.Sensors library
• É necessário adicionar uma referência para o projecto
using Microsoft.Devices.Sensors;
Windows Phone
Determinar se os sensores estão disponíveis
• Todos os sensores expôem a propriedade IsSupported que pode ser utilizada para verificar se o equipamento tem o sensor
• Se uma aplicação tentar utilizar um sensor que não esteja disponível ocorre uma excepção:
– Testar sempre antes de usar!
• Todos os telefones têm acelerómetro
if (Gyroscope.IsSupported){ // we have a gyro on the phone}
Windows Phone
Simulador de movimento
• O SDK do Windows Phone tem um simulador que permite testar o código.
Demo
Mapas, câmara e sensores
34
Novidades no Tango
Windows Phone
Tango explicado
Equipamentos de baixo custo para mercados emergentes
23 novos mercadosBahrain, Bulgária, China, Costa Rica, Croacia, Estonia, Islandia, Iraque, Israel, Cazaquistão, Letónia, Lituania, Qatar, Roménia, Arábia Saudita, Eslováquia, Eslovenia, Tailandia, Turquia, EAU, Ucrania, Venezuela e Vietname
Requisitos de memória e processadorAcomoda processadores 7x27 e 256 MB de memória.Não permite correr Background agents.
Nokia Lumia 610
Testem o Tango hoje! Instalem o Windows Phone 7.1.1 SDK
Update Download: http://tinyurl.com/cuh8nez Confirmem que a vossa app correm bem em
baixa memória Adicionem a vossa app a 23 novos mercados!
2 emuladores
256 e 512 MB
Recursos e Dicas
Windows Phone
Opções de distribuição no Marketplace
“Beta” Targeted PublicNúmero de utlizadores 100 Ilimitado Ilimitado
Preço Sem custoPode ser
pago Pode ser pago
Limite de tempoExpira após 90
dias Sem limiteSem limite
Actualizável Não Sim Sim
Certificação necessária Não Sim Sim
Visivel ao Publico Não Não* Sim
Controle de acesso WL ID’s Não Não
Utilizadores tipo Beta Privados Público
Windows Phone
Recursos
Mapashttp://www.microsoft.com/maps/developers/mobile.aspxApp Hubhttp://create.msdn.com/en-US/ Silverlight Developer Toolkithttp://silverlight.codeplex.com
Windows Phone
Marketplace Test Kit
Verifica o Xap para ver se passa nos testes de certificação do Marketplace
Fornece detalhes em caso de falha e aponta soluções
Windows Phone
+Recursos
App Hub http://create.msdn.com
Tools http://wpdev.ms/wpsdk71rc
WP on MSDN Library
http://wpdev.ms/wponmsdn
WP “How To” Index http://wpdev.ms/wphowtos
WP UX Guide http://wpdev.ms/wpuxguide
WP P&P Guide http://wpdev.ms/wppnpguide
WP Dev Blog http://wpdev.ms/developerblog
Porting to WP http://wpdev.ms/porting
WP Labs (WP7) http://wpdev.ms/wprtmhols
WP Labs (WP7.5) http://wpdev.ms/mangohol
WP SL Quick Starts http://wpdev.ms/xamlquick
Windows Phone
+Recursos: Videos
WP Jumpstart http://wpdev.ms/jumpstarts
WP How To Videos http://wpdev.ms/howvidsWP “Absolute Beginners”
http://wpdev.ms/beginvids
Inside WP on C9 http://wpdev.ms/insidewpDesign Toolbox http://wpdev.ms/designtbWP Game Dev Vids http://wpdev.ms/gamevidsWP at MIX 11 Vids http://wpdev.ms/wpmix11WP at TENA 11 Vids http://wpdev.ms/wptena11
Windows Phone
+Recursos: Outros
App Hub FAQ http://wpdev.ms/apphubfaq
App Hub Forums http://wpdev.ms/ahforumRegistration Walkthrough
http://wpdev.ms/regwalk
Submission Walkthrough
http://wpdev.ms/subwalk
Cert Requirements http://wpdev.ms/certreqWP Samples on MSDN
http://wpdev.ms/officialsamples
SL Toolkit for WP http://wpdev.ms/wpsltkAzure Toolkit for WP http://wpdev.ms/wpwaztk
Windows Phone
+Recursos: de terceiros
Silverlight Show on WP
http://www.silverlightshow.net/Search.aspx?q=%5Bwindows-phone-7%5D
Windows Phone Geek
http://www.windowsphonegeek.com/
WPDEV on Twitter http://twitter.com/#search?q=wp7devWPDEV on REDDIT http://www.reddit.com/r/wp7devWPDEV on Stack
Overflowhttp://stackoverflow.com/questions/tagged/windows-phone-7
App me up e MSP
Windows Phone
App me up
Formação e tutoriais Suporte directo Notícias e novidades em primeira mão App VIP – ganha um Nokia
Programa Microsoft Student
PartnerO programa Microsoft Student Partners destina-se a jovens estudantes, de todo o mundo, com espírito empreendedor, paixão por tecnologia e que desempenhem um papel activo nas respectivas comunidades académicas.
Através da ligação privilegiada que mantém com a Microsoft, as funções do MSP passam por:- Organizar eventos de teor tecnológico;- Divulgar as mais recentes novidades tecnológicas;- Apoiar no desenvolvimento das ideias dos seus colegas;- Participar em projectos de cariz social;- Etc.
Em suma, o MSP tem a tarefa de aproximar a sua comunidade académica das tecnologias Microsoft.
http://microsoftstudentpartners.com
Q&A
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
© 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.