What’s new in Windows Phone SDK 8.0

23

Este novo SDK trás realmente um número grande de novos recursos para o desenvolvedor, até porque temos agora acesso a um novo kernel. Desta forma, é imprescindível que o desenvolvedor as conheça para poder tirar o máximo de proveito desta plataforma de desenvolvimento.

Como um vislumbre, faremos apenas um overview dos seguintes novos\atualizados recursos:
1 – SDK tools
2 – Tiles and notifications
3 – Lock screen
4 – Maps and navigation
5 – Location
6 – Speech
7 – Camera and photos
8 – User interface
9 – Communications
10 – Data and extensibility

1 – SDK tools

Os seguintes novos recursos foram adicionados no Visual Studio:
• Template de projetos para aplicações Direct3D – Este tipo de template se refere a criação de Jogos, somente na linguagem C++. Para templates de Jogos, utilizando C# ou VB.NET, você deverá usar a já existente biblioteca chamada [XNA Game Studio 4.0].

• Localization Template [Suporte melhorado] – Podemos agora, de forma mais fácil e com menos passos, construir uma aplicação que faz uso do recurso de localização. Entende-se por Localização (Localized App) a possibilidade de configurar todos os labels de sua aplicação para serem “traduzidas” para um idioma configurado no dispositivo pelo usuário, em tempo real. Desta forma, o desenvolvedor pode criar diversos arquivos (.resx) que representarão arquivos de “dicionário” – um arquivo para cada idioma.

Por exemplo, podemos configurar a propriedade Text de um TextBlock para mostrar um texto do nosso “dicionário”, da seguinte forma:

Para mais detalhes sobre recurso acesse Globalization and localization for Windows Phone

• Depuração de aplicação iniciada via [Tile ou Notification] – Este recurso melhorado ficou interessante, pois o desenvolvedor pode depurar seu código fonte não apenas quando a aplicação é iniciada pelo Visual Studio, mas também quando a aplicação é abandonada (quando pressionamos o botão Back) e retornada quando pressionamos o ícone da aplicação (Tile) ou pelo recurso de Notificação.

Os seguintes novos recursos foram adicionados no Windows Phone 8 Emulator:

• Suporte para múltiplas resoluções – Com o WP8 podemos desenvolver aplicações para três tipos de resolução (WVGA [480 × 800], WXGA [768 × 1280] e 720p [720 × 1280]) – diferentemente do WP7.1, na qual suporta somente WVGA (480 × 800).
Inclusive, podemos facilmente criar uma classe de apoio para nos ajudar a descobrir qual a resolução atual do dispositivo (através do namespace App.Current.Host.Content.ScaleFactor), conforme ilustra o código abaixo:

• Requerimentos do sistema para uso do Emulador – Como ele roda sob o Hyper-V, existem diversos pré-requisitos que precisam ser satisfeitos, como por exemplo:

o Ter o Windows 8 Pro ou superior
o Processador de 64-bits
o 4 GB ou mais de RAM
o Suporte a [Hardware-assisted virtualization] – habilitada na BIOS
o Suporte a [Second Level Address Translation] – habilitada na BIOS
o Suporte a [Hardware-based Data Execution Prevention] – habilitada na BIOS

Estes passos são explicados em detalhes em System Requirements for Windows Phone Emulator

• Networking no Emulador – A versão 7.1 do emulador usa o adaptador de rede do computador do desenvolvedor. Entretanto, no novo emulador, um novo adaptador é criado para suportar este novo processo (chamado Hyper-V Virtual Ethernet Adapter). Para criar este adaptador você pode seguir os passos do artigo Desenvolvimento Windows Phone 8 – Primeiros Passos.

Referente a testes de desempenho de aplicação, o desenvolvedor conta agora com um recurso chamado Simulation Dashboard na qual pode recriar cenários reais onde sua aplicação vai rodar. Por exemplo, pode criar um cenário onde a aplicação irá rodar em um ambiente de conexão fraca, com uma largura de banda fraca, com sinal fraco, etc. Lembrando que esta ferramenta faz parte do Visual Studio, disponível no Menu Tools -> Simulation Dashboard. Ao clicar nesta opção, a seguinte tela aparece:

Para maiores detalhes acesse Simulation Dashboard for Windows Phone

2 – Tiles and Notifications

Existem agora novos tamanhos\templates de Tiles, acessadas através das classes:
• FlipTileData

Descreve um [Tile template] que vira “de trás para frente”. Permite customização de fundo de imagem e texto para ambos os lados
Programaticamente, ficaria:

• CycleTileData

Descreve um [Tile Template] que muda suas imagens configuradas – até 9 imagens
Programaticamente, ficaria:

• IconicTileData

Descreve um [Tile Template] que mostra uma imagem pequena no centro do [Tile], incorporando os princípios de design do Windows Phone.
Programaticamente, ficaria:

3 – Lock Screen

No Windows Phone 8 o usuário pode configurar para usar sua aplicação como uma provedora de imagem de fundo de tela lock screen do aparelho, e escolher em mostrá-la na área de notificações da lock screen.
A imagem abaixo ilustra onde fica a área de notificações da lock screen:

Por exemplo, para configurar sua aplicação na área de notificações da tela de [lock screen], siga os seguintes passos:
1. No Solution Explorer, expanda Properties, mouse direito em WMAppManifest.xml, escolha [Open With] e então selecione [Source Code (Text Editor) With Encoding]
2. Atualize o elemento DeviceLockImageURI dentro do elemento de Tokens. Adicione o caminho completo do seu arquivo de imagem, atribua IsRelative=”true” e IsResource=”false”, como mostra o exemplo abaixo:

<DeviceLockImageURI IsRelative=”true” IsResource=”false”>Assets\LockImage.png</DeviceLockImageURI>

Importante notar que as informações que aparecerão na área de notificações são as informações configuradas na [Tile] de sua aplicação.
Apenas como último passo, você precisa dizer ao Windows Phone 8 que informações deseja mostrar. Ainda com o arquivo WMAppManifest.xml aberto, procure pela tag <Extensions> (se não encontrar você deverá criar logo abaixo da tag <Tokens>) e adicione a tag <Extension>. Por exemplo, se deseja adicionar o Texto da sua aplicação na área de notificação, adicione a seguinte extensão:

<Extension ExtensionName=”LockScreen_Notification_TextField” ConsumerID=”{111DFF24-AA15-4A96-8006-2BFF8122084F}” TaskID=”_default” />

Para maiores informações acesse Lock screen for Windows Phone 8

4 – Maps and navigation

Existem agora novos controles de Mapas, válidos através das namespaces:
Microsoft.Phone.Maps
Microsoft.Phone.Maps.Controls
Microsoft.Phone.Maps.Services

Realmente existe muito que falar sobre este poderoso recurso, mas como não é o foco deste artigo – pois estamos realizando apenas um overview das funcionalidades – para mais informações favor acessar o artigo Maps and navigation for Windows Phone 8

5 – Location

Existem novas APIs para uso deste recurso, apesar de continuar a ser suportado as atuais APIs do .NET Framework. Entende-se por Location, a possibilidade de obtenção de dados de localização geográfica (latitude, longitude) através da localização física do aparelho.
Por exemplo, de maneira sucinta, para usar a nova API:
1. ao criar um novo projeto, precisaremos editar o arquivo WMAppManifest.xml (duplo clique) e na aba [Capabilities] do Manifest Designer, selecionar o checkbox próximo a ID_CAP_LOCATION
2. no seu code-behind, adicionar as seguintes declarações:


using System.Threading.Tasks;
using Windows.Devices.Geolocation;

3. E usar as classes para obtenção de sua posição:


Geolocator geolocator = new Geolocator();
geolocator.DesiredAccuracyInMeters = 50;

Geoposition geoposition = await geolocator.GetGeopositionAsync(
maximumAge: TimeSpan.FromMinutes(5),
timeout: TimeSpan.FromSeconds(10)
);

string latitute = geoposition.Coordinate.Latitude.ToString(“0.00”);
string longitude = geoposition.Coordinate.Longitude.ToString(“0.00”);

Mais informações, acesse How to get the phone’s current location for Windows Phone 8

6 – Speech

É possível agora habilitar comandos de fala em nossa aplicação. Sua aplicação poderá interpretar:
o Comandos de Voz
Ocorre quando você está fora da aplicação

o Reconhecimento de voz
Ocorre quando você está dentro da aplicação

o Texto-para-Fala (Text-to-Speech – TTS)
Você pode configurar sua aplicação para “falar com o usuário”

Para maiores informações sobre este tipo de desenvolvimento acesse Speech for Windows Phone 8

7 – Camera and photos

Uma das novidades referente a este recurso é a possibilidade de abertura de sua aplicação através da tela padrão de câmera do sistema operacional do Windows Phone. Para que isto aconteça você precisa configurar sua aplicação para ficar “disponível” neste sentido (você terá que habilitar a extensão chamada Camera_Capture_App no arquivo WMAppManifest.xml de sua aplicação).

Interessante que ao clicar no recurso de câmera do Windows Phone, um novo botão aparece para escolha das aplicações que suportam o recurso:

Ao clicar no ícone [lens button]o Windows Phone abre a tela [Lens Picker] para que você escolha uma aplicação que suporte o recurso – que pode ser a sua aplicação!
Após selecionar sua aplicação você pode manipular – da forma que precisar – a foto que foi capturada pela câmera.
Maiores detalhes sobre a criação de uma aplicação básica, acesse How to create a base camera app for Windows Phone

8 – User Interface

Controls
Novos controles estão disponíveis para desenvolvimento:
LongListSelector – Em um único controle você pode agrupar, mostrar e rolar através de uma lista longa de dados, inclusive com a possibilidade de seleção de uma seção específica da lista.
• Os controles Pivot e Panorama foram removidos do SDK e estão agora localizados na ROM do aparelho, significando uma melhora considerável na capacidade de resposta destes controles.
• O controle WebBrowser se baseia agora no Internet Explorer 10, a qual oferece suporte para HTML5 e CSS expandido.
• Foi melhorada a performance do controle ProgressBar

Launchers
Os seguintes novos launchers foram criados neste SDK:
SaveAppointmentTask
MapDownloaderTask
MapsTask
MapsDirectionsTask
ShareMediaTask

9 – Communications

VoIP

Podemos desenvolver aplicações com o recurso [Voz sobre IP], sendo possível, desta forma, que o usuário efetue chamadas de vídeo e áudio usando sua conexão.
Detalhes acesse VoIP apps for Windows Phone

BlueTooth

Podemos desenvolver aplicações que utilizam as APIs deste tipo de comunicação sem fio (sendo de aproximadamente 10 metros) em uma variedade grandes de possibilidades.
Detalhes acesse Bluetooth for Windows Phone 8

Proximity

Windows Phone 8 introduz uma nova API, chamada [Proximity] que pode ser usada para realizar as seguintes ações:
• Enviar dados entre dispositivos usando NFC.
• Estabelecer uma conexão Wi-Fi ou Bluetooth entre sua aplicação e uma instância de sua aplicação em um dispositivo próximo.
Detalhes acesse Proximity for Windows Phone 8

10 – Data and extensibility

Storage

Uma novidade interessante é a possibilidade de acesso ao [SD Card] no aparelho. Com este objetivo, uma nova API foi criada, chamada Microsoft.Phone.Storage.
Detalhes acesse Reading from the SD card on Windows Phone 8

Custom contact store
Você pode criar um conjunto de Contatos que serão gerenciados por sua aplicação, mas que serão visíveis também na área de contatos do sistema operacional do Windows Phone. Isto não significa que, com esta API, você vai conseguir acessar os contatos criados “fora” de sua aplicação. Para isto, você deverá usar outras APIs do WP8.

File and URI associations
Você pode configurar sua aplicação para ser “automaticamente” iniciada, baseado em outra aplicação, quando um arquivo ou URI específico for executado.
Detalhes acesse Auto-launching apps using file and URI associations for Windows Phone 8.

That’s It!!

Gilberto Tezini
https://gtezini.blogspot.com

Share.

About Author

  • Junior Dias de Oliveira

    Bom dia, gostaria que, se pudesse, me esclarecesse uma duvida:
    Me foi informado que as aplicações criadas para Windows Phone 8 seriam compatíveis com o Windows 8(de PC).
    Porém depois de conversar com alguns programadores da área, me disseram que isso é valido somente para programas desenvolvidos pela Microsoft.
    Isso é verdade?

    • Olá Junior,
      Se entendi bem, você disse “…somente programas desenvolvidos PELA Microsoft”; isto não é verdade, pois se você tiver conhecimento do SDK do [Windows Phone 8] e do SDK do [Windows 8] poderá desenvolver para estas plataformas. Porém, note que cada plataforma possui seu próprio SDK, apesar das duas plataformas usarem vários componentes semelhantes.

      Veja com cuidado este assunto em [http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj714071(v=vs.105).aspx]

      []!

  • Glauber Silva

    Alguma previsão de quando terá uma segunda edição do livro “Desenvolvendo Aplicações para Windows Phone” já fazendo uso do do windows phone 8 nos exemplos?

  • Yuri

    Excelente artigo, vou usar com certeza, parabéns!

  • Elton

    neste site está falando que não terá atualização para omnia w, gostaria de saber se é verdade, porque se for está na hora de começarmos atacar a samsung e entrar com processos, pois isso é uma palhaçada.comprem nokia não comprem Samsung.

    http://www.esphoneblog.com/2012/09/12/samsung-omnia-w-will-not-get-windows-phone-7-8/

    • Rodrigo Moreira

      Ainda acho que todos serão atualizados, ou pelo menos os de segunda geração, Omnia W incluso.

  • Pingback: Novidades do SDK para desenvolvimento de APPs para Windows Phone 8 « Blog do Eduardo H. Rizo()

  • Rodrigo Moreira

    Essas informações em inglês já são muito valiosas. Trazê-las para o português ajuda muito mais gente aqui, com certeza.
    Parabéns pelo bom trabalho.

  • Fábio

    Ótimo artigo! Bem esclarecedor.

  • Rafael

    Po… legal o tópico. Gostei bastante.

    Sou desenvolvedor da plataforma, iniciante ainda, e estou a um tempo parado…mas tenho duas aplicações na Marketplace (Fuel Control e Tele Facil)…E tenho intenção de publicar um terceiro.

    Na realidade parei o desenvolvimento em 60%, e estou esperando as provas da faculdade terminarem para retomar o projeto. hehe

    De qualquer forma o review ficou muito bom por que vi bem o que tem de novo, e de fato, é uma mão na roda. Principalmente por serem recursos essenciais, de forma bem mais prática.

    Da-lhe, Microsoft!

  • Igor Moreira

    André, respondendo a sua pergunta.
    Você pode ganhar um código de resgata da Microsoft por promoções. Ou se você tiver uma assinatura MSDN, ou se for MVP, ou ainda se participar de algum programa da microsoft como o Bizspark você ganha gratis.

    Abraços.

    • Completando… Se você for aluno de alguma faculdade que tiver convênio com o DreamSpark você também poderá se cadastrar sem necessidade de pagamento.

      []s
      Eduardo

  • Uma pena que para ser desenvolvedor, temos que pagar uma quantia anual… Alguém conhece uma forma gratuita de ser desenvolvedor Windows Phone?

    • Carlos

      Você só começa a pagar a partir do momento que envia o aplicativo para a loja para aprovação e em todas as lojas você tem que pagar anual.

      • Fábio

        Para a plataforma Android o dev só paga ao fazer o cadastro, não tem anuidade.

        • Isso porque o Android é Open Source.

        • Carlos

          Porém no Android é mais fácil de piratear.

    • Rodrigo Moreira

      Bom, alguns já falaram. Se você for estudante, vc pode conseguir de graça a licença pelo Dreamspark. Tem outros meios tbm que vc consegue os vouchers.
      Eu consegui um num evento.
      Mas esses dias tava por 8 dolares pra se registrar. Quem ainda não tem a licença podia aproveitar isso. Não sei se ainda ta valendo ou já acabou e voltou para os 99 dólares anuais.

      • Eu não estou estudando no momento, então provavelmente eu não tenho mais como ganhar ao menos um mero abatimento…

        Será que a Microsoft Virtual Academy concede isso? O único estudo ativo meu atualmente é lá…

  • Ótimo artigo.
    Obrigado pela contribuição.

  • Ótimo artigo, muito obrigado pela contribuição.
    Vamos estudar!

  • CS

    Tem jeito não. Notícias sobre o WP7.8 mantêm o record de comentários.