Desarrollar 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
Para descargar la versión de la Tienda Windows del código fuente de 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
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 adecuados para tu aplicación, consulta el tema de 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 emplea 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.
En este artículo
Presentación de Optimizador de recorridos de Mapas de Bing
Requisitos previos
A quiénes va destinada esta documentación
Aspectos tratados en esta documentación
Aspectos no tratados en esta documentación
Pasos siguientes
Artículos relacionados
Presentación de Optimizador de recorridos de Mapas de Bing
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.
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
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]
Requisitos previos
Windows 8
Visual Studio 2012
Familiaridad con la programación en C++ y JavaScript
Considera la conveniencia de leer el tema Desarrollar aplicaciones de la Tienda Windows (JavaScript) si no estás familiarizado con la forma de usar JavaScript en una aplicación de la 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 la diferencia entre una aplicación web de JavaScript y una aplicación de la Tienda Windows de JavaScript escrita para Windows en tiempo de ejecución, consulta Aplicaciones de la Tienda Windows con JavaScript frente a las aplicaciones web tradicionales.
[Principio]
A quiénes va destinada esta documentación
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]
Aspectos tratados en esta documentación
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]
Aspectos no tratados en esta documentación
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 muestre esta característica, consulta el 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 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: aplicaciones de depuración (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]
Pasos siguientes
Recomendamos que leas Información general del ejemplo de Optimizador de recorridos de Mapas de Bing 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]
Artículos relacionados
Título |
Descripción |
---|---|
Información general del ejemplo de Optimizador de recorridos de Mapas de Bing |
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 Optimizador de recorridos de Mapas de Bing |
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 Optimizador de recorridos de Mapas de Bing |
Describe el componente de C++ de Optimizador de recorridos de Mapas de Bing. |
Interoperar entre JavaScript y C++ en el ejemplo de Optimizador de recorridos de Mapas de Bing |
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 Optimizador de recorridos de Mapas de Bing |
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]
Vea también
Conceptos
Crear componentes de Windows en tiempo de ejecución en