Desarrollar el optimizador de recorridos de Mapas de Bing, una aplicación de la Tienda Windows en JavaScript y C++

En los artículos de esta parte de la documentación se describe cómo se usan JavaScript y Visual C++ para crear una aplicación de la Tienda Windows denominada Optimizador de recorridos de Mapas de Bing. A diferencia de un sitio web, una aplicación de la Tienda Windows que usa JavaScript no se implementa página a página desde un servidor web. En su lugar, la instala un usuario en un equipo. Como cualquier otra aplicación de Windows, una aplicación de la Tienda Windows de JavaScript tiene acceso directo a la plataforma subyacente y puede compartir información con otras aplicaciones.

Usa C++ en tu aplicación de la Tienda Windows de JavaScript para aprovechar toda la eficacia del equipo. Optimizador de recorridos de Mapas de Bing utiliza JavaScript para definir la interfaz de usuario y la Biblioteca de patrones de procesamiento en paralelo (PPL) en un componente de C++ de Windows en tiempo de ejecución para realizar en paralelo algoritmos costosos que requieren gran cantidad de recursos de computación en todas las CPU disponibles para mejorar el rendimiento general. También puedes utilizar las bibliotecas como C++ Accelerated Massive Parallelism (C++ AMP) para realizar trabajos que requieren gran cantidad de recursos de computación en la unidad de procesamiento de gráficos (GPU).

Nota Nota

Para descargar la versión de la Tienda Windows del código fuente del Optimizador de recorridos de Mapas de Bing, consulta Ejemplo de Optimizador de recorridos de Mapas de Bing.

La aplicación Optimizador de recorridos de Mapas de Bing se basa en código existente que utiliza HTML y JavaScript para definir la interfaz de usuario y un control ActiveX de C++ para realizar el procesamiento en segundo plano. En esta parte de la documentación también se describe cómo migramos la versión ActiveX de la aplicación a una aplicación de la Tienda Windows y algunas de las consideraciones que debemos tener en cuenta al migrar código existente de JavaScript y ActiveX a código de aplicación de la Tienda Windows. Para descargar la versión de ActiveX del código fuente, consulta Optimizador de recorridos de Mapas de Bing.

Sugerencia Sugerencia

Cuando convertimos la versión ActiveX de Optimizador de recorridos de Mapas de Bing para que fuera una aplicación de la Tienda Windows, mantuvimos el uso de JavaScript y C++. Sin embargo, si fueses a crear esta aplicación partiendo de cero, podrías utilizar otros lenguajes. Por ejemplo, podrías utilizar XAML para definir la interfaz de usuario y .NET Framework para realizar el cálculo de la ruta. Para obtener información sobre cómo elegir el lenguaje y las tecnologías correctos para la aplicación, consulta Introducción a las aplicaciones de la Tienda Windows.

También puedes crear una aplicación en varios lenguajes que use JavaScript y .NET Framework. Para obtener información sobre este tipo de aplicación, consulta Crear componentes de Windows en tiempo de ejecución en C# y Visual Basic.

Aunque Optimizador de recorridos de Mapas de Bing muestra los patrones de diseño que consideramos que son los mejores procedimientos para usar JavaScript y C++ a la hora de crear aplicaciones de la Tienda Windows, puedes adaptar muchos detalles de implementación para que se ajusten a tus propios procedimientos y los requisitos exclusivos de la aplicación que estás desarrollando. Por ejemplo, la parte de C++ de la aplicación utiliza la interfaz IXMLHTTPRequest2 para procesar las solicitudes HTTP. Puedes seguir el mismo patrón en tu aplicación. Cuando consideramos que una implementación de Optimizador de recorridos de Mapas de Bing es esencial para el desarrollo satisfactorio de la aplicación, lo destacamos en esta documentación.

Optimizador de recorridos de Mapas de Bing calcula la ruta más corta entre un conjunto de ubicaciones (este problema clásico de computación también se conoce como problema del viajante de comercio). El problema del viajante de comercio se resuelve tradicionalmente mediante una técnica de fuerza bruta: se calculan las posibles rutas entre todas las ubicaciones y se elige la más corta. La dificultad de este problema crece exponencialmente según vas aumentando el número de ubicaciones. Dado que un enfoque de fuerza bruta puede no solucionar problemas mayores en un tiempo razonable, Optimizador de recorridos de Mapas de Bing utiliza una técnica conocida como algoritmo de optimización basado en colonias de hormigas para la aproximación más rápida y eficaz de la ruta más corta.

La interfaz de usuario de Optimizador de recorridos de Mapas de Bing se escribe en HTML y JavaScript. La interfaz de usuario recopila ubicaciones del usuario y muestra la ruta más corta entre todas las ubicaciones en un control AJAX de Mapas de Bing. El cálculo de la ruta más corta y la interacción con la API de Transferencia de estado de representación (REST) de Mapas de Bing se escriben en C++. La interoperabilidad suave entre lenguajes es una clave en Windows en tiempo de ejecución porque permite agrupar las mejores características de cada lenguaje en una aplicación. En el caso de Optimizador de recorridos de Mapas de Bing, HTML y JavaScript definen la interfaz de usuario y C++ realiza las operaciones que requiere mayor cantidad de recursos de computación.

Optimizador de recorridos de Mapas de Bing

Aunque muchas aplicaciones de la Tienda Windows usan un tema oscuro de presentación para ayudar a prolongar la duración de la batería en dispositivos móviles, hemos mantenido el tema claro de presentación para que la coincidencia con el sitio web de Mapas de Bing sea lo más estrecha posible. El manteniendo del tema claro ayuda también a comparar las diferencias entre las versiones de la Tienda Windows y ActiveX de la aplicación.

Nota Nota

El objetivo principal de Optimizador de recorridos de Mapas de Bing es mostrar cómo interactuar entre JavaScript y C++. También deseamos mostrar cómo se adapta el código existente para usarlo en una aplicación de la Tienda Windows. Por tanto, la interfaz de usuario no se ajusta a todas las instrucciones de experiencia del usuario (UX) que crean una gran aplicación de la Tienda Windows. Consulta Caso práctico de diseño: de sitio web a aplicación de la Tienda Windows para saber cómo puedes transformar tu sitio web para crear una experiencia realmente enriquecedora para el usuario.

[Principio]

  • Windows 8

  • Visual Studio 2012

  • Familiaridad con la programación en C++ y JavaScript

  • Una Clave de Mapas de Bing

Considera la posibilidad de leer Desarrollar aplicaciones de la Tienda Windows (JavaScript) si no estás familiarizado con el uso de JavaScript en una aplicación de Tienda Windows. De esta forma, conocerás los pasos necesarios para crear una aplicación de la Tienda Windows de JavaScript completa aunque básica.

Para obtener más información sobre las diferencias entre una aplicación web JavaScript y una aplicación JavaScript de Tienda Windows escrita para Windows en tiempo de ejecución, consulta Aplicaciones de la Tienda Windows con JavaScript frente a las aplicaciones web tradicionales.

[Principio]

Puede que te interese este ejemplo y esta documentación si deseas escribir una aplicación de la Tienda Windows en JavaScript y usar también C++ para lo siguiente:

  • Mejorar el rendimiento o realizar operaciones que requieren gran cantidad de recursos de computación.

  • Obtener acceso a servicios del sistema operativo Windows que no son accesibles mediante Windows en tiempo de ejecución en la versión actual.

  • Reutilizar código existente que ya está escrito y probado.

Esperamos que uses los principios y las prácticas de esta documentación para crear tu propia aplicación de la Tienda Windows de JavaScript que también use C++. Tener experiencia o un gran interés en C++ te ayudará a sacar el máximo partido de esta documentación. Si no tienes experiencia en C++, todavía puedes obtener beneficios si tienes experiencia en lenguajes de programación similares o en .NET Framework.

Si deseas una introducción básica sobre cómo crear un componente de Windows en tiempo de ejecución en C++ al que se pueda llamar desde una aplicación de la Tienda Windows compilada con JavaScript, consulta Crear componentes de Windows en tiempo de ejecución en C++.

[Principio]

Los artículos de esta parte de la documentación explican cómo:

  • Usar Visual Studio para crear una aplicación de la Tienda Windows de JavaScript que haga referencia a un componente de Windows en tiempo de ejecución en C++.

  • Separar código de JavaScript en módulos que hagan referencia a componentes web y de Windows en tiempo de ejecución.

  • Crear un componente de Windows en tiempo de ejecución en C++ que realice las operaciones que requieren gran cantidad de recursos de computación.

  • Interactuar entre JavaScript y C++.

  • Migrar código, por ejemplo código COM existente, para su uso en una aplicación de la Tienda Windows.

[Principio]

En esta documentación no se tratan los siguientes aspectos del desarrollo de aplicaciones de la Tienda Windows:

  • Principios de diseño de aplicaciones.

  • Aspectos básicos de programación en C++ o JavaScript.

  • Detalles pormenorizados sobre el algoritmo de optimización basado en colonias de hormigas.

  • Forma de solucionar problemas relativos al comportamiento o el rendimiento de tu aplicación.

  • Forma de que prepares tu aplicación para utilizarla en otras configuraciones regionales.

  • Forma de que certifiques tu aplicación y la publiques en la Tienda Windows.

El foco de esta aplicación se centra en la interoperabilidad entre JavaScript y C++. Por tanto, no implementamos todas y cada una de las funciones que hacen de la aplicación de la Tienda Windows una gran aplicación. Una característica importante que no implementamos es la capacidad de restaurar el estado de la aplicación cuando el usuario la ejecuta tras haberla cerrado (por ejemplo, después de reiniciar). Para obtener un ejemplo que muestra esta característica, consulta Ejemplo de activación y suspensión de la aplicación.

Los recursos siguientes pueden ayudarte a entender el desarrollo de aplicaciones de la Tienda Windows.

Planear aplicaciones de la Tienda Windows

Proporciona consideraciones que debes tener en cuenta al planear tus aplicaciones de la Tienda Windows.

Referencia del lenguaje Visual C++ (C++/CX)

Describe el modelo de programación en C++ para crear aplicaciones y componentes de la Tienda Windows. Describe cómo el código C++ nativo puede interactuar directamente con lenguajes como JavaScript sin necesidad de niveles intermedios de software.

Referencia de lenguaje de JavaScript

Explica la implementación de Microsoft de JavaScript, que cumple los requisitos de la especificación de lenguaje ECMAScript, 5ª edición. La implementación de Microsoft también proporciona características adicionales no incluidas en las normas ECMA.

Inicio rápido: depurar aplicaciones (JavaScript)

Proporciona información general sobre cómo se depuran las aplicaciones de la Tienda Windows de JavaScript.

Definir recursos de la aplicación

Describe cómo definir recursos de la aplicación para mejorar el mantenimiento y la localización.

Selling apps

Describe los pasos necesarios para publicar una aplicación en la Tienda Windows.

[Principio]

Recomendamos que leas Información general del ejemplo de Bing Maps Trip Optimizer para obtener información sobre cómo cargar y ejecutar el proyecto y el flujo total de la aplicación. En la tabla siguiente se describen los artículos de esta parte de la documentación para que puedas referirte a ellos con más facilidad.

[Principio]

Título

Descripción

Información general del ejemplo de Bing Maps Trip Optimizer

Describe las características fundamentales del proyecto de Optimizador de recorridos de Mapas de Bing, por ejemplo, cómo se crea, cómo se estructura y cómo se compila.

Usar JavaScript en el ejemplo de Bing Maps Trip Optimizer

Describe cómo se organiza la parte de JavaScript de la aplicación y cómo se comunican entre sí los contextos local y web.

Usar C++ en el ejemplo de Bing Maps Trip Optimizer

Describe el componente de C++ de Optimizador de recorridos de Mapas de Bing.

Interoperar entre JavaScript y C++ en el ejemplo de Bing Maps Trip Optimizer

Describe cómo interactúan las partes de JavaScript y C++ del ejemplo de Optimizador de recorridos de Mapas de Bing.

Migrar código existente en el ejemplo de Bing Maps Trip Optimizer

Se destacan algunas de las instrucciones clave que seguimos cuando migramos desde la versión ActiveX de Organizador de recorridos de Mapas de Bing a una aplicación de la Tienda Windows.

[Principio]

Adiciones de comunidad

Mostrar:
© 2014 Microsoft