Share via


Desenvolvendo o otimizador de viagem do Mapas Bing, um aplicativo da Windows Store em JavaScript e C++

Os artigos desta parte da documentação descrevem como usar JavaScript e Visual C++ para criar um aplicativo Windows Store chamado Bing Maps Trip Optimizer. Diferente de um site, um aplicativo Windows Store que usa JavaScript não é implantado página por página a partir de um servidor Web. Em vez disso, ele é instalado em um computador por um usuário. Assim como qualquer outro aplicativo do Windows, um aplicativo Windows Store JavaScript tem acesso direto à plataforma subjacente e pode compartilhar informações com outros aplicativos.

Use C++ em seu aplicativo Windows Store JavaScript para aproveitar toda a capacidade do computador. O Bing Maps Trip Optimizer usa JavaScript para definir a interface do usuário e a Parallel Patterns Library (PPL) em um componente C++ do Tempo de Execução do Windows para executar algoritmos de computação dispendiosa paralelamente em todas as CPUs disponíveis, a fim de melhorar o desempenho geral. Você também pode usar bibliotecas como C++ Accelerated Massive Parallelism (C++ AMP) para executar trabalhos de computação intensa na unidade de processamento de elementos gráficos (GPU).

Dica

Para baixar a versão Windows Store do código-fonte do Bing Maps Trip Optimizer, consulte Bing Maps trip optimizer sample.

O aplicativo Bing Maps Trip Optimizer baseia-se em código existente que usa HTML e JavaScript para definir a interface do usuário e o controle C++ ActiveX para executar o processamento em segundo plano. Esta parte da documentação também descreve como migramos a versão ActiveX do aplicativo para um aplicativo Windows Store e algumas considerações a serem feitas quando migrar código JavaScript e ActiveX existente para o código de aplicativo Windows Store. Para baixar a versão ActiveX do código-fonte, consulte Bing Maps Trip Optimizer.

Dica

Quando convertemos uma versão ActiveX do Bing Maps Trip Optimizer em um aplicativo Windows Store, mantivemos o uso de JavaScript e C++. No entanto, se você criar esse aplicativo do zero, poderá usar outras linguagens. Por exemplo, você pode usar XAML para definir sua interface do usuário e o .NET Framework para executar a computação de rota. Para obter informações sobre como escolher a linguagem e as tecnologias certas para o seu aplicativo, consulte Getting started with Windows Store apps.

Você também pode criar um aplicativo de linguagem mista que use JavaScript e o .NET Framework. Para obter informações sobre esse tipo de aplicativo, consulte Criando componentes do Tempo de Execução do Windows em C# e Visual Basic.

Embora o Bing Maps Trip Optimizer ilustre padrões de design que consideramos ser práticas recomendadas para usar JavaScript e C++ para criar aplicativos Windows Store, você pode adaptar muitos detalhes da implantação de acordo com suas práticas e os requisitos específicos do aplicativo que está desenvolvendo. Por exemplo, a parte em C++ do aplicativo usa a interface IXMLHTTPRequest2 para processar solicitações HTTP. Você pode seguir o mesmo padrão no seu aplicativo. Quando consideramos a implementação do Bing Maps Trip Optimizer essencial ao desenvolvimento bem-sucedido do aplicativo, enfatizamos isso nesta documentação.

Neste artigo

  • Introdução ao Bing Maps Trip Optimizer

  • Pré-requisitos

  • Quem deve ler esta documentação?

  • O que esta documentação aborda

  • O que esta documentação não aborda

  • Próximas etapas

  • Artigos relacionados

Introdução ao Bing Maps Trip Optimizer

O Bing Maps Trip Optimizer calcula a menor rota em um conjunto de locais (esse problema clássico de computação também é conhecido como problema do caixeiro viajante). O problema do caixeiro viajante é tradicionalmente resolvido com uma técnica de força bruta: calcular cada rota possível entre todos os locais e escolher a menor. Esse problema se torna exponencialmente mais difícil à medida que se aumenta o número de locais. Como uma abordagem de força bruta não pode resolver problemas maiores em um tempo razoável, o Bing Maps Trip Optimizer usa uma técnica conhecida como algoritmo de otimização com colônia de formigas para se aproximar da rota mais curta de forma mais rápida e eficiente.

A interface do usuário do Bing Maps Trip Optimizer é elaborada em HTML e em JavaScript. A interface do usuário coleta as localizações do usuário e exibe a menor rota de todas as localizações no controle AJAX do Bing Maps. O cálculo da rota mais curta e a interação com a API REST do Bing Maps são elaborados em C++. A interoperabilidade suave entre as linguagens é uma chave no Tempo de Execução do Windows porque ela permite que você combine os melhores recursos de cada linguagem em um aplicativo. No caso do Bing Maps Trip Optimizer, HTML e JavaScript definem a interface do usuário e a C++ executa as operações de computação mais intensa.

Mapas do Bing Otimizador de viagem

Embora muitos aplicativos Windows Store usem um tema de apresentação escuro para ajudar a prolongar a vida útil da bateria em dispositivos móveis, mantivemos a apresentação clara para ter uma versão mais aproximada do site do Bing Maps. Manter o tema claro também ajuda a comprar as diferenças entre as versões Windows Store e ActiveX do aplicativo.

Dica

O objetivo principal Bing Maps Trip Optimizer é demonstrar como interoperar entre JavaScript e C++. Também queremos mostrar como adaptar o código existente para uso em um aplicativo Windows Store. Portanto, a interface do usuário não está em conformidade com todas as diretrizes de experiência do usuário (UX) que o tornam um ótimo aplicativo Windows Store. Leia Estudo de caso de design: site apara aplicativo da Windows Store para saber mais sobre como transformar seu site para proporcionar uma experiência de alta qualidade ao usuário.

[Superior]

Pré-requisitos

  • Windows 8

  • Visual Studio 2012

  • Familiaridade com programação JavaScript e C++

  • A Chave do Bing Maps

Também é recomendável ler Desenvolvendo aplicativos estilo Metro (JavaScript) se não estiver familiarizado com o uso de JavaScript em um aplicativo Windows Store. Esse artigo detalha as etapas da criação de um aplicativo Windows Store JavaScript básico, porém completo.

Para obter mais informações sobre como a diferença entre um aplicativo Web JavaScript e um aplicativo Windows Store JavaScript gravado para o Tempo de Execução do Windows, consulte Aplicativos estilo Metro usando JavaScript versus aplicativos Web tradicionais.

[Superior]

Quem deve ler esta documentação?

Você pode ter interesse neste exemplo e documentação caso pretenda gravar um aplicativo Windows Store em JavaScript e também usar C++ para:

  • Melhorar o desempenho ou executar operações de computação intensa.

  • Acessar os serviços do sistema operacional Windows não acessíveis pelo Tempo de Execução do Windows na versão atual.

  • Reutilizar o código existente já gravado e testado.

Esperamos que você siga os princípios e as práticas desta documentação para criar seu próprio aplicativo Windows Store JavaScript que também usa C++. Experiência ou um grande interesse em C++ o ajudará a obter os maiores benefícios desta documentação. Se você não tiver a experiência com C++, ainda poderá se beneficiar se tiver experiência com linguagens de programação semelhantes ou com o .NET Framework.

Se desejar uma introdução básica sobre como criar um componente Tempo de Execução do Windows em C++ que possa ser chamado por um aplicativo Windows Store criado usando JavaScript, consulte Criando componentes de tempo de execução do Windows em C++.

[Superior]

O que esta documentação aborda

Os artigos nesta parte da documentação ensinam a:

  • Use o Visual Studio para criar um aplicativo Windows Store JavaScript que faça referência a um componente C++ Tempo de Execução do Windows.

  • Separar o código JavaScript em módulos que referenciam os componentes da Web e do Tempo de Execução do Windows.

  • Criar um componente do Tempo de Execução do Windows em C++ que executa operações de computação intensa.

  • Interoperar entre JavaScript e C++.

  • Migrar o código, por exemplo, o código COM existente, para usar em um aplicativo Windows Store.

[Superior]

O que esta documentação não aborda

Esta documentação não abrange os seguintes aspectos do desenvolvimento de aplicativos Windows Store:

  • Noções básicas de criação de aplicativos.

  • Noções básicas de programação em C++ ou JavaScript.

  • Detalhes sobre o algoritmo de otimização com colônia de formigas.

  • Como solucionar problemas de comportamento ou de desempenho em seu aplicativo.

  • Como preparar o aplicativo para uso em outras localidades.

  • Como verificar seu aplicativo e publicá-lo no Windows Store.

O foco desse aplicativo é na interoperabilidade entre JavaScript e C++. Portanto, não implementamos todos os recursos que o tornam um ótimo aplicativo Windows Store. Um recurso importante que não implementamos é a capacidade de restaurar o estado do aplicativo quando o usuário o executa depois de fechado (por exemplo, após a reinicialização). Para obter um exemplo que demonstra esse recurso, consulte Exemplo de ativação e de suspensão de aplicativos.

Os recursos a seguir podem ajudar você a entender o desenvolvimento de aplicativos Windows Store.

  • Planejando aplicativos estilo Metro
    Fornece considerações para ter em mente ao planejar seus aplicativos Windows Store.

  • Referência de linguagem do Visual C++ (C + + / CX)
    Descreve o modelo de programação C++ para criar aplicativos e componentes Windows Store. Descreve como a C++ nativa pode interoperar diretamente com linguagens como JavaScript sem a necessidade de camadas intermediárias de software.

  • JavaScript Language Reference
    Explica a implementação de JavaScript da Microsoft, que é compatível com a especificação da quinta edição da Linguagem ECMAScript. A implementação da Microsoft também fornece recursos adicionais que não estão incluídos nos padrões de Ecma.

  • Início rápido: depurando aplicativos (JavaScript)
    Fornece uma visão geral sobre como depurar aplicativos Windows Store JavaScript.

  • Definindo recursos de aplicativos
    Descreve como definir recursos de aplicativo para melhorar a possibilidade de manutenção e a localização.

  • Selling apps
    Descreve as etapas que são necessárias para publicar um aplicativo no Windows Store.

[Superior]

Próximas etapas

É recomendável que você leia Visão geral do exemplo de otimizador de processamento do Mapas Bing para obter informações sobre como carregar e executar o projeto e o fluxo total do aplicativo. A tabela a seguir descreve os artigos desta parte da documentação para que você possa consultá-los com mais facilidade.

[Superior]

Artigos relacionados

Título

Descrição

Visão geral do exemplo de otimizador de processamento do Mapas Bing

Descreve as características fundamentais do projeto do Bing Maps Trip Optimizer, por exemplo, como é criado, estruturado e compilado.

Usando JavaScript no exemplo de otimizador de viagem do Mapas Bing

Descreve como a parte de JavaScript do aplicativo é organizada e como os contextos local e da Web se comunicam.

Usando C++ no exemplo de otimizador de viagem do Mapas Bing

Descreve o componente C++ do Bing Maps Trip Optimizer.

Interoperação entre JavaScript e C++ no exemplo de otimizador de viagem do Mapas Bing

Descreve como as partes de JavaScript e C++ do exemplo do Bing Maps Trip Optimizer interoperam.

Migrando o código existente no exemplo de otimizador de viagens do Mapas Bing

Destaca algumas diretrizes importantes que seguimos quando migramos da versão ActiveX do Bing Maps Trip Optimizer para um aplicativo Windows Store.

[Superior]

Consulte também

Conceitos

Criando componentes do Tempo de Execução do Windows

Outros recursos

Roadmap for Windows Store apps using C++