Développement de l'optimiseur de voyage Bing Maps, une application du Windows Store en JavaScript et C++

Les éléments dans cette partie de la documentation expliquent comment utiliser JavaScript et Visual C++ pour créer une application Windows Store, intitulée l'optimiseur de voyage Bing Maps. Contrairement à un site Web, une application Windows Store qui utilise JavaScript n'est pas déployée page par page à partir d'un serveur Web. Au lieu de cela, elle est installée sur un ordinateur par un utilisateur. Comme toute autre application Windows, une application Windows Store JavaScript a un accès direct à la plateforme sous-jacente et peut partager des informations avec d'autres applications.

Utilisez C++ dans votre application Windows Store JavaScript pour maîtriser entièrement la puissance de l'ordinateur. L'optimiseur de voyage Bing Maps utilise JavaScript pour définir l'interface utilisateur et la bibliothèque de modèles parallèles dans un composant C++ Windows Runtime pour calculer des algorithmes consommant beaucoup de ressources informatiques en parallèle sur tous les processeurs disponibles afin d'améliorer les performances globales. Vous pouvez également utiliser des bibliothèques telles que C++ Accelerated Massive Parallelism (C++ AMP) pour effectuer le travail nécessitant de nombreuses ressources de calcul sur l'unité de traitement graphique (GPU).

Notes

Pour télécharger la version Windows Store du code source de l'optimiseur de voyage Bing Maps, consultez l'exemple d'optimiseur de voyage Bing Maps.

L'application de l'optimiseur de voyage Bing Maps est basée sur du code existant qui utilise le HTML et le JavaScript pour définir l'interface utilisateur et le contrôle ActiveX c++ pour exécuter le traitement en arrière-plan. Cette partie de la documentation décrit également comment nous avons migré la version ActiveX de l'application vers une application Windows Store, ainsi que certaines considérations à prendre en compte lorsque vous migrez le code JavaScript et ActiveX existants vers le code d'application Windows Store. Pour télécharger la version ActiveX du code source, consultez Optimiseur de voyage Bing Maps.

Conseil

Lorsque nous avons converti la version ActiveX de l'optimiseur de voyage Bing Maps afin qu'il devienne une application Windows Store, nous avons conservé l'utilisation de JavaScript et de C++. Toutefois, si vous deviez créer cette application à partir de zéro, vous pourriez utiliser d'autres langages. Par exemple, vous pourriez utiliser XAML pour définir l'interface utilisateur et .NET Framework pour exécuter le calcul d'itinéraire. Pour plus d'informations sur le choix du bon langage et des technologies pour votre application, consultez Mise en route avec les applications Windows Store.

Vous pouvez également créer une application à plusieurs langages qui utilise JavaScript et .NET Framework. Pour plus d'informations sur ce type d'application, consultez Création de composants Windows Runtime en C# et Visual Basic.

Bien que l'optimiseur de voyage Bing Maps illustre les modèles de design que nous considérons comme étant les meilleures pratiques pour utiliser JavaScript et C++ pour créer des applications Windows Store, vous pouvez adapter de nombreux détails d'implémentation pour répondre à vos propres méthodes et aux conditions spécifiques de l'application que vous développez. Par exemple, la partie C++ de l'application utilise l'interface IXMLHTTPRequest2 pour traiter les requêtes HTTP. Vous pouvez suivre le même modèle dans votre application. Lorsque nous estimons que l'implémentation de l'optimiseur de voyage Bing Maps est indispensable à la réussite du développement de l'application, nous l'indiquons dans cette documentation.

Dans cet article

  • Présentation du l'optimiseur de voyage Bing Maps

  • Composants requis

  • À qui cette documentation est-elle destinée ?

  • Points traités dans cette documentation

  • Éléments non traités dans cette documentation

  • Étapes suivantes

  • Articles connexes

Présentation du l'optimiseur de voyage Bing Maps

L'optimiseur de voyage Bing Maps calcule l'itinéraire le plus court entre un ensemble d'emplacements (ce problème de calcul courant est également appelé le problème du représentant commercial). Le problème du représentant commercial est généralement résolu en utilisant une technique de force brute : calculer chaque itinéraire possible entre tous les emplacements et choisir le plus court. Ce problème devient de plus en plus difficile à mesure que vous augmentez le nombre d'emplacements. Étant donné qu'une approche de force brute ne peut pas résoudre de grands problèmes dans un délai raisonnable, l'optimiseur de voyage Bing Maps utilise une technique appelée l'algorithme d'optimisation de colonies de fourmis pour estimer plus rapidement et plus efficacement l'itinéraire le plus court.

L'interface utilisateur de l'optimiseur de voyage Bing Maps est écrite en HTML et en JavaScript. L'interface utilisateur collecte les lieux de l'utilisateur et affiche l'itinéraire le plus court pour tous ces lieux sur un contrôle AJAX de Bing Maps. Le calcul de l'itinéraire le plus court et l'interaction avec l'API Bing Maps REST (Representational State Transfer) sont écrits en C++. L'interopérabilité fluide entre les langages est essentielle dans Windows Runtime car elle vous permet de combiner les meilleures fonctionnalités de chaque langage dans une même application. Dans le cas de l'optimiseur de voyage Bing Maps, HTML et JavaScript définissent l'interface utilisateur et C++ effectue les opérations nécessitant de nombreuses ressources de calcul.

Optimiseur de voyage Bing Maps

Bien que de nombreuses applications Windows Store utilisent un thème de présentation sombre afin de prolonger l'autonomie des batteries dans les appareils mobiles, nous avons conservé la présentation claire afin de mieux correspondre au site Web Bing Maps. Conserver ce thème clair vous aide également à comparer les différences entre Windows Store et les versions ActiveX de l'application.

Notes

L'objectif principal de l'optimiseur de voyage Bing Maps est d'illustrer comment interopérer entre JavaScript et C++. Nous avons également souhaité montrer comment adapter du code existant afin de l'utiliser dans une application Windows Store. Par conséquent, l'interface utilisateur n'est pas conforme à toutes les instructions d'expérience utilisateur permettant d'obtenir une bonne application Windows Store. Lisez l'article sur l'étude de cas de conception : site Web et application Windows Store pour savoir comment transformer votre site Web pour créer une expérience utilisateur vraiment riche.

[Haut]

Composants requis

  • Windows 8

  • Visual Studio 2012

  • Connaissance de la programmation JavaScript et C++

  • Une clé Bing Maps

Il est préférable de lire Développement d'applications Windows Store (JavaScript) si vous êtes peu familier avec l'utilisation de JavaScript dans une application Windows Store. Cet article vous présente les étapes à suivre pour créer une application complète (mais basique) Windows Store en JavaScript.

Pour plus d'informations sur la façon dont une application Web JavaScript diffère d'une application Windows Store JavaScript écrite pour Windows Runtime, consultez Applications Windows Store utilisant JavaScript par rapport aux applications classiques de site Web.

[Haut]

À qui cette documentation est-elle destinée ?

Vous pouvez être intéressé par cet exemple et cette documentation si vous souhaitez écrire une application Windows Store en JavaScript et si vous souhaitez également utiliser C++ pour :

  • Améliorer les performances ou effectuer des opérations nécessitant de nombreuses ressources de calcul.

  • Accéder aux services de système d'exploitation Windows qui ne sont pas accessibles via Windows Runtime dans la version actuelle.

  • Réutiliser le code existant déjà écrit et testé.

Nous espérons que les principes et les méthodes de cette documentation vont vous aider à créer votre propre application Windows Store JavaScript qui utilise également C++. Une expérience ou un intérêt prononcé pour la programmation en C++ vous aidera à exploiter au mieux cette documentation. Si vous n'avez aucune expérience en C++, vous pouvez toujours en profiter si vous connaissez des langages de programmation semblables ou .NET Framework.

Si vous souhaitez une présentation générale sur la création d'un composant Windows Runtime en C++ qui peut être appelé à partir d'une application Windows Store générée à l'aide de JavaScript, consultez Création de composants Windows Runtime en C++.

[Haut]

Points traités dans cette documentation

Les éléments de cette partie de la documentation indiquent comment :

  • Utiliser Visual Studio pour créer une application Windows Store JavaScript qui référence le composant Windows Runtime C++.

  • Séparer le code JavaScript dans des modules qui référencent le Web et des composants Windows Runtime.

  • Créer un composant Windows Runtime C++ qui exécute des opérations nécessitant de nombreuses ressources de calcul.

  • Interagir entre JavaScript et C++.

  • Migrer du code (par exemple, le code COM existant) pour une utilisation dans une application Windows Store.

[Haut]

Éléments non traités dans cette documentation

Cette documentation ne traite pas les aspects suivants du développement d'une application Windows Store :

  • Principes de conception d'applications.

  • Concepts de base de la programmation C++ ou JavaScript.

  • Informations détaillées à propos de l'algorithme d'optimisation de colonies de fourmis.

  • Procédure de dépannage des problèmes liés au comportement ou aux performances de votre application.

  • Procédure de préparation de votre application afin de l'utiliser dans d'autres paramètres régionaux.

  • Procédure pour certifier votre application et la publier dans Windows Store.

L'objectif de cette application est l'interopérabilité entre JavaScript et C++. Par conséquent, nous n'avons pas implémenté toutes les fonctionnalités permettant d'obtenir une bonne application Windows Store. Une fonctionnalité importante que nous n'avons pas implémentée est la capacité de restaurer l'état de l'application lorsque l'utilisateur l'exécute après sa fermeture (par exemple, après un redémarrage). Pour obtenir un exemple illustrant cette fonctionnalité, consultez l'exemple d'activation et de suspension d'applications.

Les ressources suivantes peuvent vous aider à comprendre le développement d'une application Windows Store.

[Haut]

Étapes suivantes

Nous vous recommandons de lire Vue d'ensemble de l'exemple de l'optimiseur de voyage Bing Maps pour plus d'informations sur la façon de charger et d'exécuter le projet et le flux global d'application. Le tableau suivant décrit les différents articles de cette partie de la documentation afin que vous puissiez facilement y faire référence.

[Haut]

Articles connexes

Titre

Description

Vue d'ensemble de l'exemple de l'optimiseur de voyage Bing Maps

Décrit les caractéristiques fondamentales du projet Optimiseur de voyage Bing Maps, par exemple comment il est créé, structuré et généré.

Utilisation de JavaScript dans l'exemple de l'optimiseur de voyage Bing Maps

Décrit comment la partie JavaScript de l'application est organisée et comment les variables locales et les contextes de site Web communiquent les uns avec les autres.

Utilisation de C++ dans l'exemple de l'optimiseur de voyage Bing Maps

Décrit le composant C++ de l'optimiseur de voyage Bing Maps.

Interopérabilité entre JavaScript et C++ dans l'exemple de l'optimiseur de voyage Bing Maps

Décrit comment les composants JavaScript et C++ de l'exemple de l'optimiseur de voyage Bing Maps interagissent.

Migration du code existant dans l'exemple de l'optimiseur de voyage Bing Maps

Met en évidence certaines des recommandations principales que nous avons suivies lorsque nous avons migré de la version ActiveX de l'optimiseur de voyage Bing Maps à une application Windows Store.

[Haut]

Voir aussi

Concepts

Création de composants Windows Runtime

Autres ressources

Roadmap for Windows Store apps using C++