Migración de Windows Phone Silverlight a HTML para Windows en tiempo de ejecución 8

Nota  Para obtener información sobre la migración de una aplicación para la Plataforma universal de Windows (UWP) para Windows 10, consulta Migración de Windows Phone Silverlight a UWP.

Migrar una aplicación Windows Phone Silverlight a una aplicación de la Tienda Windows con JavaScript puede ser una tarea sencilla o compleja, según el tipo de aplicación que quieras migrar. Si migras una aplicación con interfaz de usuario simple (como una utilidad o un juego sencillo), JavaScript puede ser una plataforma de destino eficiente para que realices tus migraciones desde Windows Phone Silverlight a puertos de Windows 8 con conocidas tecnologías de desarrollo web estándar. Si migras una aplicación con componentes de interfaz de usuario más complejos o un entorno enriquecido con gráficos, debes pensar en una aplicación de la Tienda Windows con C++, C# o Visual Basic y XAML.

Cuando leas este tema, puedes consultar Asignaciones de espacios de nombres y clases de Silverlight de Windows Phone a Windows en tiempo de ejecución.

Preparación para migrar una aplicación Windows Phone Silverlight a JavaScript

La migración de una aplicación Windows Phone Silverlight a una aplicación de la Tienda Windows con JavaScript requiere un cierto nivel de preparación, especialmente si no conoces el desarrollo de Windows 8. Ten en cuenta estas consideraciones:

  • Debes conocer HTML5, CSS3 y JavaScript. Si quieres obtener más información, consulta el tutorial Crear la primera aplicación de la Tienda Windows con JavaScript.
  • Debes saber usar HTML5 y CSS para reconstruir la interfaz de usuario de tu aplicación. Es necesario que identifiques los elementos de la interfaz de usuario que estás usando en la aplicación Windows Phone Silverlight y que revises los controles análogos que se ofrecen en HTML5 y en el kit de herramientas de la Biblioteca de Windows para JavaScript. Luego revisa de qué manera pueden expresarse los contenedores y componentes de la interfaz de usuario como páginas y elementos (<div>) de HTML5. Es posible que para algunos controles debas usar los elementos proporcionados en el espacio de nombres Windows.UI de Windows en tiempo de ejecución.
  • Debes saber volver a desarrollar los comportamientos centrales con JavaScript. Si las funciones que necesitas no están disponibles en JavaScript ni en WinJS, puedes usar un subconjunto específico de API de .NET Framework haciendo referencia a las bibliotecas en tiempo de ejecución del perfil de Windows en la aplicación.
  • Debes evaluar los recursos y la interfaz de usuario de la aplicación para determinar si admiten fácilmente varias resoluciones de pantalla, en su mayoría superiores a la resolución nativa de Windows Phone Silverlight de 800 x 480 píxeles. Piensa en volver a dibujar y desarrollar los recursos, si son mapas de bits estáticos. Las aplicaciones de la Tienda Windows con JavaScript también pueden admitir imágenes vectoriales con la compatibilidad de Scalable Vector Graphics (SVG) ofrecida por WWAHost, y pueden escalarse según corresponda; sin embargo, también debes considerar relaciones de aspecto alternativas (4:3, 16:9 y 16:10).

Si migras un juego o una aplicación con uso intensivo de gráficos, debes usar las funciones proporcionadas en el modelo de gráficos Trident, incluida la compatibilidad de SVG y Canvas, para WWAHost e Internet Explorer 10. Este modelo de gráficos específico de HTML ofrece compatibilidad para transformaciones 2D y 3D mediante comportamientos de CSS que cumplen con los estándares de W3C. Si quieres obtener más información, consulta la especificación en borrador de la transformación 3D CSS de W3C.

Migración de una aplicación Windows Phone Silverlight a JavaScript

Puedes desarrollar una aplicación de la Tienda Windows con JavaScript mediante JavaScript, HTML5 y CSS3. Por lo tanto, debes rediseñar los componentes de presentación de la aplicación y volverlos a desarrollar como documentos HTML, y debes representar todos los comportamientos como comportamientos de JavaScript y CSS. Algunas sugerencias:

  • Puedes expresar pantallas individuales como páginas HTML. Dentro de esas páginas, puedes expresar contenedores y elementos organizativos discretos con elementos <div> o "marcos" (conectados o estáticos).
  • Puedes implementar controles usando tipos de entrada y elementos de control de HTML (como <input> o <textarea>), o con JavaScript o CSS3 (elementos interactivos personalizados).
  • Puedes realizar comportamientos de dibujo con el elemento <canvas> en HTML5 y JavaScript.

Además, tu aplicación de la Tienda Windows con JavaScript puede aprovechar las bibliotecas específicas de Windows para aumentar la funcionalidad y usar las funciones a nivel de sistema operativo. Estas bibliotecas son:

  • WinJS -- kit de herramientas que admite un mejor control de eventos y comportamientos de consultas DOM, habilita nuevos tipos de control y ofrece patrones para otros comportamientos comunes de JavaScript que son fáciles de usar para desarrolladores.
  • Trident 6.0 -- modelo basado en CSS y HTML para el diseño y representación de componentes visuales que implementa Canvas para el dibujado y la manipulación en tiempo real de gráficos de mapa de bits y compatibilidad con Scalable Vector Graphics (SVG) para gráficos vectoriales. (Trident 6.0 es el conjunto de bibliotecas que usa Internet Explorer 10 para la presentación de contenido y que se puede usar para admitir gráficos y comportamientos de representación adicionales).
  • Windows en tiempo de ejecución: funciones a nivel de sistema operativo puestas a disposición de JavaScript.

En la siguiente tabla encontrarás una lista de las API de Windows Phone Silverlight y sus equivalentes de Windows en tiempo de ejecución (disponibles para JavaScript). Esta tabla no sugiere una asignación de funciones una a una; una plataforma puede tener más o menos funciones que la otra. Ten en cuenta también que algunas API de Windows en tiempo de ejecución no están disponibles para aplicaciones de la Tienda Windows con JavaScript, tales como los tipos y espacios de nombres de Windows.UI.Xaml. Esto sucede porque HTML5 ofrece representaciones, comportamientos y elementos de interfaz de usuario para que los uses en su lugar.

Tipo de APIEspacios de nombres API de SilverlightEspacios de nombres de API de Windows en tiempo de ejecución (C#/Visual Basic)
DispositivosMicrosoft.Devices, Microsoft.Devices.Radio, Microsoft.Devices.Sensors Windows.Devices.Enumeration, Windows.Devices.Enumeration.Pnp, Windows.Devices.Input, Windows.Devices.Sensors
Entorno y modelo de aplicaciones de Windows PhoneMicrosoft.Phone, Microsoft.Phone.Info, Microsoft.Phone.Notification, Microsoft.Phone.Reactive, Microsoft.Phone.Shell, Microsoft.Phone.Tasks Windows.Networking.PushNotifications, Windows.Devices.Sms, Windows.ApplicationModel.Background, Windows.ApplicationModel.Contacts, Windows.ApplicationModel.Contacts.Provider, Windows.ApplicationModel.Core
AsignacionesMicrosoft.Phone.Controls.Maps, Microsoft.Phone.Controls.Maps.AutomationPeers, Microsoft.Phone.Controls.Maps.Core Microsoft.Phone.Controls.Maps.Design Microsoft.Phone.Controls.Maps.Overlays, Microsoft.Phone.Controls.Maps.Platform Windows.Devices.Geolocation
MarketplaceMicrosoft.Phone.Marketplace Windows.ApplicationModel.Store
Redes y distribuciónMicrosoft.Phone.Net, Microsoft.Phone.Net.NetworkInformation Windows.Networking, Windows.Networking.BackgroundTransfer, Windows.Networking.Connectivity, Windows.Networking.NetworkOperators, Windows.Networking.Sockets, Windows.Web.AtomPub, Windows.Web.Syndication
Programación y modelos de datosSystem Windows.Foundation, Windows.Foundation.Collections, Windows.Foundation.Metadata, Windows.Data.Xml.Dom, Windows.Data.Xml.Xsl, Windows.Data.Json
UbicaciónSystem.Device.Location Windows.Devices.Geolocation, Windows.Networking.Proximity
Automatización y diagnósticoSystem.Diagnostics, System.Windows.Automation.Peers Windows.Foundation.Diagnostics
Gráficos (transformaciones 3D)XNA Framework Class Library, Content Pipeline Class Library No tiene equivalente por el momento.
Controles e infraestructura de la interfaz de usuarioMicrosoft.Phone.Controls, Microsoft.Phone.Controls.Primitives, Windows.UI.ApplicationSettings, Windows.UI.Core, Windows.UI.Input, Windows.UI.Notifications, Windows.UI.ViewManagement
AlmacenamientoClase System.IO.IsolatedStorage Windows.Storage, Windows.Storage.FileProperties

 

Con Windows en tiempo de ejecución puedes acceder a gran parte de la biblioteca de clases de .NET Framework. Las funciones que no son específicas de la plataforma de Windows Phone normalmente tienen una API equivalente en la biblioteca de clases de .NET Framework. Por ejemplo, las clases y los métodos disponibles en la versión Windows Phone Silverlight de los espacios de nombres System y System.Diagnostics también pueden estar disponibles como equivalentes de .NET Framework en Windows en tiempo de ejecución. Si quieres obtener un conjunto completo de las API de .NET Framework disponibles en Windows Phone Silverlight, y a las que también se puede acceder en el perfil de Windows, consulta la documentación de referencia de clases de Silverlight.

Nota  El perfil de Windows ofrece un contenedor para más de 12.000 API de .NET Framework. Sin embargo, no todas las API de .NET Framework son compatibles actualmente. Si quieres obtener una lista completa, consulta la documentación de API del perfil de Windows.
Nota  Si quieres crear una experiencia enriquecida con gráficos para tu aplicación Windows Phone Silverlight (como un juego) y no quieres usar los modelos de XAML o JavaScript por sus limitaciones, piensa en realizar la migración a una aplicación C++ con DirectX.

 

 

Mostrar:
© 2015 Microsoft