Clique e receba as novidades quentinhas no Telegram

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