Dezembro 2015

Volume 30 – Número 13

Aplicativos modernos – O que você precisa saber sobre o desenvolvimento de aplicativos do Windows 10

Por Rachel Appel | Dezembro de 2015

Rachel AppelEu pensei em oferecer algumas sugestões sobre o desenvolvimento de aplicativos do Windows 10 para ajudar você a entendê-lo e usá-lo com mais eficiência. Enquanto algumas funcionalidades abrangidas aqui se aplicam a usuários médios, é com certeza uma boa ideia para o desenvolvedor saber sobre elas, tanto como o usuário quanto para o benefício do software que o desenvolvedor compila.

Visual Studio 2015

O IDE que a maioria dos desenvolvedores da Microsoft usa é o Visual Studio. As primeiras coisas que você perceberá que mudaram sobre o Visual Studio 2015 incluem o novo e simplificado instalador, assim como a possibilidade de entrar usando várias contas. Isso é ótimo para muitos desenvolvedores que são consultores e funcionários em horário integral e precisam usar a rede corporativa durante o dia e publicar aplicativos para a loja à noite.

Existem quantidades impressionantes de ferramentas de terceiros disponíveis na instalação do Visual Studio. O Xamarin está disponível pronto para ser usado, assim como todos os software de que você precisa para um desenvolvimento sério entre plataformas. No entanto, você deve selecionar a opção para incluí-la na instalação. Além do C# com o Xamarin, existem opções para instalar Java para Android e linguagens baseadas em C para iOS e Android.

Como sempre, as edições e licenças do Visual Studio são super complicadas de entender ou de se lembrar quais funcionalidades pertencem a quais edições. Felizmente, você pode aprender mais e comparar as ofertas do Visual Studio 2015 em bit.ly/1COm2fP.

Toda nova versão do Visual Studio traz com ela um novo conjunto de modelos. No ASP.NET, os modelos agora permitem compilar sites menos rígidos com injeção de dependência disponível por todo o aplicativo ASP.NET MVC 6. Os aplicativos implantados na Microsoft Store focam pesadamente no conceito de aplicativo da Plataforma Universal do Windows (UWP), permitindo que os desenvolvedores criem aplicativos com uma base de código comum fundamental para todos os sistemas operacionais e dispositivos do Windows que os executam. Use C#, Visual Basic, JavaScript ou C++ para criar aplicativos UWP. Falaremos mais sobre aplicativos UWP mais tarde nesta coluna.

Obtenha as vantagens do novo navegador Edge

Uma das mudanças mais óbvias e mais faladas no Windows é o navegador Edge, que ostenta uma experiência de navegação suave e rápida. Após usar o Edge mesmo que por pouco tempo, deixa claro que ele não é como o seu pai, o Internet Explorer. Para começar, foram realizados milhares de aprimoramentos na experiência de navegação (bit.ly/­1G49Cwe). As mudanças mais óbvias são a face mais suave do Edge, uma página inicial com conteúdo totalmente personalizável e sua aparência geral. A Figura 1 mostra a home page do MSDN Magazine no navegador Edge no Windows 10.

O Navegador Edge com sua experiência elegante e suave
Figura 1 - O Navegador Edge com sua experiência elegante e suave

Em primeiro lugar, o navegador Edge está voltado para a interoperabilidade.

Todo navegador precisa de um ou mais mecanismos para processar HTML, CSS e JavaScript, que compõem atualmente as páginas Web. Portanto, a equipe Edge projetou um novo mecanismo de processamento de HTML chamado EdgeHTML. A interoperabilidade oferece várias vantagens, incluindo a capacidade de criar HTML, que exibe bem uma série de dispositivos e fatores forma, enquanto desenvolve continuamente aplicativos da Web para várias plataformas. A equipe implementou 45 novos padrões HTML no EdgeHTML (bit.ly/1G49Cwe).

Você encontrará o mesmo motor Chakra do Internet Explorer. O Chakra é extremamente rápido e funciona bem, por isso, faz sentido mantê-lo e fazer alguns ajustes. Sua velocidade se deve a vários fatores; um dos principais é um técnica chamada de descarregamento de Unidade de Processamento Gráfico (GPU). O Chakra descarrega ou envia um script ao GPU para processamento. Isto significa que o script é executado no GPU, enquanto o HTML e companhia são executados no CPU, onde o processamento normalmente acontece. Quando a equipe do Internet Explorer implementou esta funcionalidade, os outros navegadores começaram rapidamente a implementá-la também. Você pode encontrar mais detalhes sobre o desempenho do Chakra no Edge no Blog do Windows (bit.ly/1X0Npt0).

Você pode procurar mais informações no Guia do Desenvolvedor Edge em bit.ly/1jwFYec, onde encontrará detalhes completos de como as ferramentas F12 foram renovadas tendo em mente um uso eficiente delas. Algumas das mais novas e interessantes funcionalidades são a capacidade de definir pontos de interrupção XHR e exibir páginas no Explorador do DOM.

Plataforma Universal do Windows

Existe uma quantidade significativa de tráfego na Web em smartphones e tablets, apesar de existirem também muitos surfistas avançados da Web que usam computador desktop. Hoje em dia, os sites e aplicativos devem necessariamente suportar vários dispositivos e fatores forma.

O Windows 10 é o sistema operacional da família Windows verdadeiramente universal. Agora você pode compilar e manter uma base de código, um pacote e um envio para uma loja para todos os dispositivos do Windows 10. Isso significa tudo: de telefones, tablets e laptops a computadores desktop, ultrabooks e servidores. Os aplicativos UWP podem ser executados onde você quiser.

As notificações do Windows são uma novidade para mim

Quem não gosta do fato de seu telefone, computador e outros dispositivos poderem alertar e relembrar você sobre tudo e mais alguma coisa, independentemente de ser importante ou não? A irmã do amigo do vizinho faz aniversário de 36 anos hoje? Isso! Agora você pode relembrar seus usuários sobre todo o tipo de coisas relacionadas com seu aplicativo. Isso se o usuário o permitir. Alguns usuários desligam as notificações. Para aqueles que gostam dessas coisas, é possível ligar a opção Dicas sobre o Windows, assim como notificações para todo o sistema ou específicas de um aplicativo nas configurações do sistema.

Existe uma nova Central de Ações para as notificações de aplicativos, e seu ícone está localizado na parte inferior direita da tela na área de notificação do Windows (conhecido como bandeja do sistema). Clicar no ícone de notificações mostra uma moderna janela de submenu contendo blocos fáceis de usar com toque embaixo de uma lista de mensagens em espera. As notificações de seu aplicativo serão exibidas na área de notificação, se o usuário aprovar, claro.

O código para criar notificações permanece essencialmente o mesmo de antes, com a exibição das notificações e a estética geral sendo controladas pelo Windows. Obviamente, você pode personalizar a aparência de alguma forma, selecionando um dos diversos modelos de notificação predefinidos. Existem tantas opções para escolher que você não vai ter problemas para encontrar uma que atenda às suas necessidades.

ToastTemplateType toastTemplate = ToastTemplateType.ToastImageAndText01;
XmlDocument toastXml =
  ToastNotificationManager.GetTemplateContent(toastTemplate);

Para mais informações, confira o artigo sobre a Biblioteca MSDN, “Trabalhando com blocos, selos e notificações do sistema (XAML),” em bit.ly/1LPogJw.

Fale com a Cortana

O Windows Phone apresentou a Cortana ao mundo. Cortana é o assistente digital habilitado para fala que permite que você use comandos de voz para realizar uma série de tarefas como agendar compromissos, obter direções e buscar notícias e informações sobre o tempo. O Cortana ajuda você em várias atividades do dia-a-dia. Este software valioso e útil merece um SDK, e no Windows 10, existem novas funcionalidades como os comandos de voz em segundo plano e ditados contínuos. É possível até mesmo ativar capacidades de conversão de texto em fala (TTS) com o Speech SDK. Usar comandos de voz e tecnologia de reconhecimento de fala é uma forma excelente de compilar um produto de maior qualidade com mais do que apenas uma interface de usuário visual.

Para compilar aplicativos Windows habilitados para voz, você cria e registra Arquivos de Definição de Voz (.vcd) que listam os comandos, palavras e frases disponíveis em seu aplicativo, tal como você os teria em versões anteriores do Windows e do Visual Studio. Então você pode escrever seu aplicativo em C#, JavaScript ou qualquer outra linguagem que desejar e deixar o Cortana traduzir esses comandos no formato falado. O código é bastante simples e se parece com algo como o exemplo na Figura 2, que substitui o evento OnActivated para detectar qual comando foi emitido para que o aplicativo possa realizar uma ação.

Figura 2 - Os conteúdos de um arquivo .vcd e o código C# que o acompanha

<?xml version="1.0" encoding="utf-8"?>
<VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.0">
  <CommandSet xml:lang="en-us">
    <CommandPrefix> Options </CommandPrefix>
    <Example> Show Options</Example>
    <Command Name="showOptions">
      <Example> Show options </Example>
      <ListenFor> [Show] {optionViews} </ListenFor>
      <Feedback> Showing {optionViews} </Feedback>
      <Navigate Target="/options.xaml"/>
    </Command>
    <PhraseList Label="optionViews">
      <Item> today's specials </Item>
      <Item> best sellers </Item>
    </PhraseList>
  </CommandSet>
  <!-- Other CommandSets for other languages -->
</VoiceCommands>
protected override void OnActivated(IActivatedEventArgs args)
  {
    if (args.Kind ==
      Windows.ApplicationModel.Activation.ActivationKind.VoiceCommand)
    {
      var commandArgs =
        args as Windows.ApplicationModel.Activation.VoiceCommandActivatedEventArgs;
        Windows.Media.SpeechRecognition.SpeechRecognitionResult
      speechRecognitionResult =
        commandArgs.Result;
      string voiceCommandName = speechRecognitionResult.RulePath[0];
      string textSpoken = speechRecognitionResult.Text;
      string navigationTarget =
        speechRecognitionResult.SemanticInterpretation.
        Properties["NavigationTarget"][0];
      switch (voiceCommandName)
      {
        case "showOptions":
          // EventReminder(textSpoken, navigationTarget);
          break;
        // default:
        // There is no match for the voice command name
      }
    }
  }

A Windows Store

A nova Windows Store tem algo para todos. Para empresas, a Windows Store permite que administradores demonstrem aplicativos aos seus funcionários. Elas podem até mesmo distribuir aplicativos selecionados da Windows Store para implantar aplicativos privados de sua linha de negócios. Adicionalmente, pedidos de compra agora também são aceitos como método de pagamento. No Windows 10, a loja agora oferece assinaturas como uma opção adicional de monetização.

Como parte das atualizações da Store, o Microsoft Adver­tising SDK do Windows 10 agora oferece suporte para anúncios de vídeo. Alguns especialistas de marketing dizem que esse vídeo e essa multimídia vendem mais do que texto, por isso, agora você pode testar essa hipótese em seu aplicativo. Felizmente, como a Microsoft anunciou o rastreio de instalação como uma nova funcionalidade, você tem uma maneira de fazer isso.

Continuum

No entanto, todos esses desenvolvimentos de aplicativos UWP não servem apenas para você experimentá-los em vários dispositivos. O Continuum no Windows 10 detecta quando você deseja alternar entre modos de uso em dispositivos de múltiplas funções. Por exemplo, imagine Francine Flyer, uma usuária em um avião que terminou algum trabalho em modo de área de trabalho em um Surface e agora deseja ver um filme. Francine Flyer alterna sem problema entre o modo de área de trabalho e o modo tablet simplesmente desacoplando o teclado. O Windows avisará e perguntará se ela deseja mudar para um cenário mais fácil de usar com toque. Francine toca em “Sim”, o Windows passa para um modo mais fácil de usar com toque e ela assiste a seu filme sem um teclado ou mouse chato atrapalhando. Como você pode ver, o Continuum é ótimo para laptops/tablets Surface, híbridos ou conversíveis e para qualquer tipo de dispositivo multifunções. Mesmo se você tiver um laptop com tela touch que não seja conversível, ainda assim é vantajoso alternar entre modos. Não só os dispositivos grandes podem se beneficiar do Continuum. O Continuum para telefones permitirá que o usuário use seus aplicativos como aplicativos para área de trabalho ao conectar seu telefone a um teclado, mouse ou tela sem fio. Com tantos dispositivos do tamanho de phablets no mercado, o Continuum terá certamente muita utilidade.

Um novo Menu Iniciar

Com certeza, a mudança mais evidente e provavelmente a mais discutida sobre o Windows é o Menu Iniciar. Existem alguns “problemas” de interface de usuário, por assim dizer, na história da computação, e o Menu Iniciar do Windows é certamente um deles. Com cada nova versão do Windows, metade das pessoas gosta das novidades no Menu Iniciar e a outra metade não gosta. Quando a experiência moderna foi introduzida no Windows 8, muitos aplaudiram o novo design, mas muitos ficaram apegados aos paradigmas clássicos e resistiram à mudança. Agora, o Windows 10 conta com grandes mudanças no Menu Iniciar.

Assim como ele está agora, mover os blocos para o Menu Iniciar conta com um design muito melhor do que antes, mas o fluxo de trabalho entre a área de trabalho e a página inicial era um pouco turbulento. Combine isso com o Continuum e agora temos um Menu Iniciar aprimorado, com uma Página Inicial que aparece apenas onde deve aparecer, ou seja, em dispositivos touch como tablets, telefones e assim por diante. Se preferir atalhos de teclado, lembre-se de que a tecla Windows já existe por aí há algum tempo. Você pode começar digitando o nome de seu aplicativo, ou o que deseja fazer, e o Windows encontrará o aplicativo ou realizará a ação que desejar.

Adaptar para um UX adaptável

O desenvolvimento adaptável na família de sistemas operacionais Windows é parecida em termos conceituais com o design responsivo para a Web. No entanto, o desenvolvimento adaptável visa famílias completas de dispositivos, enquanto o desenvolvimento responsivo visa faixas de tamanho de tela. Nos últimos anos, tem sido impossível acompanhar a explosão de dispositivos diferentes no mercado. Em algumas pessoas, comprar um novo smartphone pode causar uma verdadeira paralisia de análise. Você imagina se fosse necessário desenvolver softwares para todos esses dispositivos? Felizmente, o Windows 10 determina qual dispositivo está hospedando o aplicativo em tempo de execução, ou como o usuário está usando o aplicativo, e ajusta o UX apropriadamente. Isto significa que elementos como submenus ou outros controles podem ser automaticamente redimensionados, ou uma fonte maior ou menor pode ser aplicada, dependendo da resolução. Antes de desenvolver uma solução adaptável, não se esqueça de consultar o artigo da Biblioteca MSDN, “Cartilha de dispositivos para aplicativos da Plataforma Universal do Windows (UWP)” em bit.ly/1MpspVh.

Plataforma One do Windows

Uma das funcionalidades demonstradas para o Windows 10 é o advento do aplicativo UWP. Um aplicativo UWP pode ser implantado em todos os sistemas operacionais do Windows, todos a partir de uma única base de código! Normalmente, esta estratégia somente funciona para back-end e lógica; no entanto, este também é um processo muito mais tranquilo para compilar a interface do usuário. Isso acontece porque, em vez de definir diferentes sistemas operacionais e escrever múltiplas versões do mesmo código de interface do usuário, você define famílias inteiras de dispositivos, assim há menos prolemas na compilação de uma interface do usuário. No entanto, se você só quiser definir um sistema operacional específico, você também pode. Caso contrário, você construirá a interface do usuário para funcionar bem dentro de um tamanho mínimo e máximo que as famílias de dispositivos tendem a ajustar com o Continuum. Existem várias mudanças de API e controle no XAML, assim como na Biblioteca do Windows para JavaScript (WinJS). Em particular, o XAML ostenta um novo controle de Calendário, junto com novos controles de painel adaptáveis para você colocar seu calendário.

Como desenvolvedor, você se beneficia de uma solução única no Visual Studio por causa da base de código subjacente chamada One Windows Platform. Este modelo de solução única permite que os controles e tecnologia adaptáveis se ajustem às várias famílias de dispositivos com poucos ou nenhum código.

Conclusão

O Windows ajuda a reimaginar o cenário UX para trazer aos usuários o que eles desejam. Existem muitas funcionalidades novas e entusiasmantes que você pode compilar para seu aplicativo, como mudanças nas APIs e nos controles. É fácil esquecermos que fala também é um tipo de entrada, por isso, considere usar o Cortana em seu próximo aplicativo. Da Windows Store para o Visual Studio, o Windows 10 oferece UX e um desenvolvimento fácil.


Rachel Appelé consultora, autora, mentora e antiga funcionária da Microsoft com mais de 20 anos de experiência no setor de TI. Ela dá palestras em importantes congressos do setor, como o Visual Studio Live!, o DevConnections, o MIX e muitos outros. Sua experiência está ligada a soluções de desenvolvimento que alinham negócios e tecnologia com foco na pilha de desenvolvimento da Microsoft e em Web aberta. Para obter mais informações sobre a Appel, visite seu site em rachelappel.com.

Agradecemos ao seguinte especialista técnico da Microsoft pela revisão deste artigo: Frank La Vigne