Condividi tramite


Sviluppo dell'utilità di ottimizzazione dei viaggi di Bing Mappe, un'app di Windows Store in JavaScript e C++

Gli articoli in questa parte della documentazione descrivono come utilizzare JavaScript e Visual C++ per creare un'app di Windows Store denominata Utilità di ottimizzazione dei viaggi di Bing Maps. A differenza di un sito Web, un'app di Windows Store che utilizza JavaScript non viene distribuita pagina per pagina da un server Web. Viene invece installata in un computer da un utente. Come qualsiasi altra app Windows, un'app di Windows Store JavaScript ha accesso diretto alla piattaforma sottostante e può condividere informazioni con altre app.

Utilizza C++ nell'app di Windows Store JavaScript per sfruttare appieno la potenza del computer. L'utilità di ottimizzazione dei viaggi di Bing Mappe utilizza JavaScript per definire l'interfaccia utente e la libreria PPL (Parallel Patterns Library) in un componente C++ di Windows Runtime per eseguire gli algoritmi dispendiosi in termini di calcolo in parallelo in tutte le CPU per migliorare le prestazioni globali. Puoi anche utilizzare le librerie come C++ Accelerated Massive Parallelism (C++ AMP) per eseguire operazioni complesse dal punto di vista dell'elaborazione nell'unità di elaborazione grafica (GPU, Graphics Processing Unit).

Nota

Per scaricare la versione di Windows Store del codice sorgente dell'utilità di ottimizzazione dei viaggi di Bing Maps, vedi l'esempio dell'utilità di ottimizzazione dei viaggi di Bing Maps.

L'app dell'utilità di ottimizzazione dei viaggi di Bing Mappe è basata sul codice esistente che utilizza HTML e JavaScript per definire l'interfaccia utente e un controllo ActiveX C++ per eseguire l'elaborazione in background. Questa parte della documentazione descrive anche la modalità di migrazione della versione ActiveX dell'app a un'app di Windows Store e offre alcune considerazioni relative alla migrazione del codice ActiveX e JavaScript esistente al codice dell'app di Windows Store. Per scaricare la versione ActiveX del codice sorgente, vedi l'utilità di ottimizzazione dei viaggi di Bing Mappe.

Suggerimento

Quando abbiamo convertito la versione ActiveX dell'utilità di ottimizzazione dei viaggi di Bing Maps in un'app di Windows Store, abbiamo mantenuto l'utilizzo di JavaScript e C++. Tuttavia, se devi creare questa app da zero, puoi utilizzare altri linguaggi. Ad esempio, puoi utilizzare XAML per definire l'interfaccia utente e .NET Framework per eseguire il calcolo dell'itinerario. Per informazioni sulla scelta del linguaggio e delle tecnologie per l'app, vedi Introduzione alle applicazioni di Windows Store.

Puoi anche creare un'app con linguaggio misto che utilizza JavaScript e .NET Framework. Per ulteriori informazioni su questo tipo di app, vedi Creazione di componenti Windows Runtime in C# e Visual Basic.

Anche se l'utilità di ottimizzazione dei viaggi di Bing Maps illustra i modelli di progettazione che consideriamo ottimali per l'utilizzo di JavaScript e C++ per creare app di Windows Store, puoi adattare molti dettagli dell'implementazione in base a procedure personalizzate e ai requisiti univoci dell'app che stai sviluppando. Ad esempio, la parte C++ dell'app utilizza l'interfaccia IXMLHTTPRequest2 per elaborare le richieste HTTP. Puoi seguire lo stesso modello nell'app. Se consideriamo essenziale un'implementazione dell'utilità di ottimizzazione dei viaggi di Bing Mappe per il corretto sviluppo dell'app, lo sottolineiamo in questa documentazione.

In questo articolo

  • Introduzione dell'utilità di ottimizzazione dei viaggi di Bing Mappe

  • Prerequisiti

  • Destinatari

  • Argomenti trattati

  • Argomenti non trattati

  • Passaggi successivi

  • Articoli correlati

Introduzione dell'utilità di ottimizzazione dei viaggi di Bing Mappe

L'utilità di ottimizzazione dei viaggi di Bing Mappe calcola l'itinerario più breve in un insieme di località (questo è un problema di calcolo classico, noto come problema del commesso viaggiatore). Il problema del commesso viaggiatore viene in genere risolto utilizzando una tecnica di forza bruta: calcolare ogni itinerario possibile tra tutte le località e scegliere il più breve. La difficoltà di questo problema aumenta in modo esponenziale con l'aumento del numero di località. Poiché un approccio basato sulla forza bruta non è in grado di risolvere i problemi maggiori in un tempo ragionevole, l'utilità di ottimizzazione dei viaggi di Bing Mappe utilizza una tecnica nota come l'algoritmo ACO (Ant Colony Optimization) per ottenere in modo più rapido ed efficiente l'itinerario più breve.

L'interfaccia utente dell'utilità di ottimizzazione dei viaggi di Bing Mappe è scritta in HTML e JavaScript. L'interfaccia utente raccoglie le località indicate dall'utente e visualizza l'itinerario più breve tra tutte le località in un controllo AJAX di Bing Mappe. Il calcolo dell'itinerario più breve e l'interazione con l'API REST (Representational State Transfer) di Bing Mappe vengono scritti in C++. L'interoperabilità uniforme tra i linguaggi è fondamentale in Windows Runtime perché ti consente di combinare le migliori funzionalità di ogni linguaggio in una sola applicazione. Nel caso dell'utilità di ottimizzazione dei viaggi di Bing Mappe, HTML e JavaScript definiscono l'interfaccia utente e C++ esegue le operazioni più complesse a livello di calcolo.

Utilità di ottimizzazione dei viaggi in Bing Maps

Sebbene molte app di Windows Store utilizzino un tema di presentazione scuro per prolungare la durata della batteria nei dispositivi mobili, abbiamo mantenuto la presentazione chiara per una maggiore similarità con il sito Web di Bing Maps. Il tema chiaro ti consente inoltre di confrontare le differenze tra le versioni di Windows Store e ActiveX dell'app.

Nota

L'obiettivo principale dell'utilità di ottimizzazione dei viaggi di Bing Mappe è dimostrare l'interoperatività tra JavaScript e C++. Desideravamo anche illustrare come adattare il codice esistente per utilizzarlo in un'app di Windows Store. Di conseguenza, l'interfaccia utente non è conforme a tutte le linee guida relative all'esperienza utente per creare un'eccellente app di Windows Store. Per informazioni sulla trasformazione del sito Web per creare un'esperienza utente eccellente, leggi Case study di progettazione: da sito Web ad app di Windows Store.

[All'inizio]

Prerequisiti

  • Windows 8

  • Visual Studio 2012

  • Conoscenza della programmazione JavaScript e C++

  • Chiave di Bing Mappe

Se non hai familiarità con l'utilizzo di JavaScript in un'app di Windows Store, ti può essere utile leggere Sviluppo di app di Windows Store. L'articolo illustra i passaggi per creare un'app di Windows Store JavaScript di base ma completa.

Per ulteriori informazioni sulle differenze tra un'app Web JavaScript e un'app di Windows Store JavaScript scritta per Windows Runtime, vedi App di Windows Store che utilizzano JavaScript rispetto alle applicazioni Web tradizionali.

[All'inizio]

Destinatari

Questo esempio e la relativa documentazione possono esserti utili se desideri scrivere un'app di Windows Store in JavaScript e anche utilizzare C++ per:

  • Migliorare le prestazioni o eseguire operazioni complesse in termini di calcolo.

  • Accedere ai servizi del sistema operativo Windows non accessibili tramite Windows Runtime nella versione corrente.

  • Riutilizzare il codice esistente già scritto e testato.

Ci auguriamo che utilizzerai i principi e le procedure di questa documentazione per creare l'app di Windows Store JavaScript che utilizza anche C++. Se conosci già la programmazione C++ o nutri un forte interesse per questo ambiente di sviluppo, potrai trarre il massimo vantaggio dalle informazioni di questa documentazione. Se non hai esperienza con C++, puoi comunque sfruttare queste informazioni se hai familiarità con linguaggi di programmazione analoghi o con .NET Framework.

Se desideri un'introduzione di base sulla creazione di un componente di Windows Runtime in C++ chiamabile da un'app di Windows Store compilata tramite JavaScript, vedi Creazione di componenti Windows Runtime in C++.

[All'inizio]

Argomenti trattati

Attraverso gli articoli di questa parte della documentazione apprenderai quanto segue:

  • Utilizzo di Visual Studio per creare un'app di Windows Store JavaScript che fa riferimento a un componente C++ di Windows Runtime.

  • Separazione del codice JavaScript in moduli che fanno riferimento ai componenti Web e di Windows Runtime.

  • Creazione di un componente C++ di Windows Runtime che esegue operazioni complesse a livello di calcolo.

  • Interazione tra JavaScript e C++.

  • Migrazione del codice, ad esempio codice COM esistente, per l'uso in un'app di Windows Store.

[All'inizio]

Argomenti non trattati

Questa documentazione non copre gli aspetti relativi allo sviluppo dell'app di Windows Store:

  • Principi di progettazione dell'applicazione.

  • Basi della programmazione in C++ o JavaScript.

  • Dettagli approfonditi sull'algoritmo ACO.

  • Risoluzione di problemi relativi al comportamento o alle prestazioni dell'app.

  • Preparazione dell'app per l'utilizzo con altre impostazioni locali.

  • Certificazione e pubblicazione dell'app in Windows Store.

Questa app è incentrata sull'interoperabilità tra JavaScript e C++. Di conseguenza, non abbiamo implementato tutte le funzionalità necessarie per creare un'app di Windows Store eccellente. Una funzionalità importante che non abbiamo implementato è la capacità di ripristinare lo stato dell'app quando l'utente la esegue dopo averla chiusa (ad esempio dopo il riavvio). Per un esempio relativo a questa funzionalità, vedi l'esempio di attivazione e sospensione di un'app.

Le risorse elencate di seguito forniscono informazioni sullo sviluppo dell'app di Windows Store.

[All'inizio]

Passaggi successivi

Ti consigliamo di leggere Panoramica dell'utilità di ottimizzazione dei viaggi di Bing Mappe per informazioni sul caricamento e l'esecuzione del flusso del progetto dell'applicazione globale. Nella tabella seguente sono descritti gli articoli di questa parte della documentazione, così potrai farvi riferimento più facilmente.

[All'inizio]

Articoli correlati

Titolo

Descrizione

Panoramica dell'utilità di ottimizzazione dei viaggi di Bing Mappe

Descrive le principali caratteristiche del progetto di utilità di ottimizzazione dei viaggi di Bing Mappe, ad esempio come è creato e strutturato e come è compilato.

Utilizzo di JavaScript nell'esempio di utilità di ottimizzazione dei viaggi di Bing Mappe

Descrive l'organizzazione della parte JavaScript dell'app e la modalità di comunicazione del contesto locale e del contesto Web.

Utilizzo di C++ nell'esempio di utilità di ottimizzazione dei viaggi di Bing Mappe

Descrive il componente C++ dell'utilità di ottimizzazione dei viaggi di Bing Mappe.

Interazione tra JavaScript e C++ nell'utilità di ottimizzazione dei viaggi di Bing Mappe

Descrive come interagiscono le parti JavaScript e C++ dell'esempio dell'utilità di ottimizzazione dei viaggi di Bing Mappe.

Migrazione del codice esistente nell'utilità di ottimizzazione dei viaggi di Bing Mappe

Illustra alcune linee guida fondamentali che abbiamo adottato per la migrazione dalla versione ActiveX dell'utilità di ottimizzazione dei viaggi di Bing Maps a un'app di Windows Store.

[All'inizio]

Vedere anche

Concetti

Creazione di componenti Windows Runtime

Altre risorse

Roadmap for Windows Store apps using C++