Migrando um aplicativo do Windows Phone 7 para JavaScript

Applies to Windows Phone only

A migração de um aplicativo do Windows Phone 7 Silverlight para um aplicativo da Windows Store criado em JavaScript pode ser uma tarefa simples ou complexa, dependendo do tipo de aplicativo. Se você estiver portando um simples aplicativo de interface do usuário — um utilitário ou jogo leve —, o JavaScript poderá ser uma plataforma de destino eficaz para permitir a portabilidade do Windows 8 a partir do Windows Phone 7, usando tecnologias padrão consagradas de desenvolvimento da Web. Se você estiver portando um aplicativo com componentes importantes de interface do usuário ou um ambiente com muitos elementos gráficos, considere um aplicativo da Windows Store em C++, C# ou Visual Basic e XAML.

Preparando para compatibilizar um aplicativo do Windows Phone 7 Silverlight com JavaScript

Portar um aplicativo do Windows Phone 7 Silverlight para um aplicativo da Windows Store criado em JavaScript exige um certo nível de preparação, especialmente se você é novato no desenvolvimento do Windows 8. Observe estas considerações:

  • Você deve conhecer HTML5, CSS3 e JavaScript. Para saber mais, veja o tutorial Criar o seu primeiro aplicativo da Windows Store criado em JavaScript.
  • Você deve entender como você pode usar HTML5 e CSS para reconstruir a interface de usuário do seu aplicativo. Você deve identificar os elementos da interface de usuário que você está usando do Silverlight, e rever os controles fornecidos no HTML5 e na Biblioteca do Windows para o kit de ferramentas JavaScript para controles análogos aos previstos no seu aplicativo do Silverlight. Em seguida, analise como os componentes da interface do usuário e contêineres podem ser expressos como páginas HTML5 e elementos (<div>). Alguns controles podem exigir o uso dos elementos previstos no namespace Windows.UI do Tempo de Execução do Windows.
  • Você deve entender como reconstruir comportamentos fundamentais usando JavaScript. Se a funcionalidade de que você precisa não estiver disponível em JavaScript ou no WinJS, você pode usar um subconjunto específico de APIs do .NET Framework referenciando bibliotecas de tempo de execução do Perfil do Windows em seu aplicativo.
  • Você deve avaliar os ativos e a interface do usuário do seu aplicativo para ver se eles permitem claramente uma variedade de resoluções de tela, a maioria das quais são maiores do que a resolução nativa do Windows Phone 7 de 800 x 480 pixels. Considere redesenhar e reconstruir seus ativos se eles forem bitmaps estáticos. Os aplicativos da Windows Store criados em JavaScript também dão suporte a imagens vetoriais por meio do suporte a SVG (elementos gráficos vetoriais) via WWAHost e permitem dimensioná-las adequadamente, embora você deva avaliar proporções alternativas (4:3, 16:9 e 16:10).

Se você estiver portando um jogo ou um aplicativo com uso intenso de gráficos, use a funcionalidade fornecida no modelo de elementos gráficos Trident, incluindo suporte a Canvas e SVG, para o WWAHost e o Internet Explorer 10. Este modelo de gráficos específicos HTML inclui suporte para transformações 2D e 3D através de comportamentos de CSS compatíveis com os padrões W3C. Para saber mais, veja a especificação de versão preliminar da transformação 3D CSS do W3C .

Compatibilizando um aplicativo do Windows Phone 7 com JavaScript

Você desenvolve um aplicativo da Windows Store criado em JavaScript por meio de JavaScript, HTML5 e CSS3. Portanto, você deve redesenhar os componentes de apresentação de seu aplicativo e reconstruí-los como documentos HTML, além de representar todos os comportamentos como JavaScript e CSS. Algumas dicas:

  • Você pode expressar telas individuais como páginas HTML. Dentro destas páginas, você pode expressar contêineres e elementos organizacionais discretos com elementos <div> ou "quadros" (conectados ou estáticos).
  • Você pode implementar controles usando elementos de comando HTML e tipos de entrada como <input> ou <textarea>), ou por meio de CSS3 e JavaScript (elementos interativos personalizados).
  • Você pode executar comportamentos de desenho com o elemento <canvas> em HTML5 e JavaScript.

Além disso, o aplicativo da Windows Store criado em JavaScript pode tirar proveito de bibliotecas específicas do Windows para aumentar a funcionalidade e usar as funções no nível do sistema operacional. Essas bibliotecas incluem:

  • O WinJS -- Um conjunto de ferramentas de bibliotecas JavaScript que permitem tratamento de eventos melhorados e comportamentos de consulta DOM, permite novos tipos de controle e fornece padrões fáceis para o desenvolvedor para outros comportamentos JavaScript comuns.
  • Trident 6.0 -- Um modelo com base em HTML e CSS para o layout e renderização de componentes visuais que implementa uma Tela para o desenho em tempo real e manipulação de gráficos de bitmap, além de suporte a SVG para gráficos de vetor. (O Trident 6.0 é o conjunto de bibliotecas usadas pelo Internet Explorer 10 para a exibição de conteúdo, e pode ser usado para permitir gráficos e comportamentos adicionais de renderização.)
  • O Tempo de Execução do Windows Runtime -- funções de nível de sistema operacional disponibilizadas para o JavaScript.

A tabela a seguir fornece uma lista de APIs do Silverlight e equivalentes de Tempo de Execução do Windows (como disponibilizado para JavaScript). Esta tabela não sugere um mapeamento individual da funcionalidade; uma plataforma pode ter mais ou menos funcionalidades do que suas equivalentes. Observe também que algumas APIs de Tempo de Execução do Windows não estão disponíveis para aplicativos da Windows Store criados em JavaScript, como namespaces e tipos de Windows.UI.Xaml. Isso acontece porque o HTML5 fornece elementos de interface do usuário, comportamentos e renderização para você usar.

Tipo de APINamespaces de API do SilverlightNamespaces de API do Tempo de Execução do Windows (C#/Visual Basic)
DispositivosMicrosoft.Devices, Microsoft.Devices.Radio, Microsoft.Devices.Sensors Windows.Devices.Enumeration, Windows.Devices.Enumeration.Pnp, Windows.Devices.Input, Windows.Devices.Sensors
Modelo de aplicativo e ambiente do 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
MapasMicrosoft.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
Rede e sindicaçãoMicrosoft.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
Modelos de dados e programaçãoSistema Windows.Foundation, Windows.Foundation.Collections, Windows.Foundation.Metadata, Windows.Data.Xml.Dom, Windows.Data.Xml.Xsl, Windows.Data.Json
LocalSystem.Device.Location Windows.Devices.Geolocation, Windows.Networking.Proximity
Automação e diagnósticosSystem.Diagnostics, System.Windows.Automation.Peers Windows.Foundation.Diagnostics
Gráficos (Transformações 3D)Biblioteca de Classes do XNA Framework, Biblioteca de Classes de Pipeline de Conteúdo Nenhum equivalente no momento.
Controles e infraestrutura de interface do usuárioMicrosoft.Phone.Controls, Microsoft.Phone.Controls.Primitives, Windows.UI.ApplicationSettings, Windows.UI.Core, Windows.UI.Input, Windows.UI.Notifications, Windows.UI.ViewManagement
ArmazenamentoClasse System.IO.IsolatedStorage Windows.Storage, Windows.Storage.FileProperties

 

Você pode acessar muito da Biblioteca de Classes do .NET Framework, usando o Tempo de Execução do Windows. A funcionalidade do Silverlight que não é específica para a plataforma Windows Phone normalmente tem uma API equivalente na Biblioteca de Classes do .NET Framework. Por exemplo, classes e métodos disponíveis na versão Silverlight dos namespaces System e System.Diagnostics também podem estar disponíveis no Tempo de Execução do Windows como equivalentes do .NET Framework. Para obter o conjunto completo de APIs do .NET Framework disponíveis no Silverlight e que também podem ser acessados no Perfil do Windows, veja a documentação de referência de classe do Silverlight.

Observação  O Perfil do Windows fornece um wrapper para mais de 12.000 APIs do .NET Framework. No entanto, nem todas as APIs do .NET Framework têm suporte no momento. Para obter uma lista completa, consulte a documentação da API de Perfil do Windows.

Observação  Se você deseja criar uma experiência rica em gráficos para seu aplicativo do Windows Phone 7 Silverlight compatibilizado (como um jogo) e não deseja usar os modelos XAML ou JavaScript por causa das limitações desses modelos, considere a possibilidade de compatibilizá-lo com um aplicativo C++ com DirectX.

 

 

Mostrar:
© 2014 Microsoft