Migrazione di un'app di Silverlight per Windows Phone a un'app WinRT HTML

Applies to Windows and Windows Phone

La migrazione di un'app di Silverlight per Windows Phone a un'app di Windows Store scritta in JavaScript può essere un'operazione semplice o difficile, a seconda del tipo di app. Se devi eseguire la migrazione di una semplice app dell'interfaccia utente, ad esempio un'utilità o un gioco leggero, JavaScript può essere una piattaforma di destinazione efficace per le conversioni a Windows 8 da Silverlight per Windows Phone, utilizzando le familiari tecnologie di sviluppo Web standard. Se invece devi eseguire la migrazione di un'app con componenti dell'interfaccia utente significativi o un ambiente con molti elementi grafici, puoi provare con un'app di Windows Store scritta in C++, C# o Visual Basic e XAML.

Durante la lettura di questo argomento, puoi fare riferimento ai mapping delle classi e degli spazi dei nomi di Silverlight per Windows Phone e Windows Runtime.

Preparazione della migrazione di un'app di Silverlight per Windows Phone a JavaScript

La migrazione di un'app di Silverlight per Windows Phone in un'app di Windows Store scritta in JavaScript richiede una certa preparazione, specie se non hai familiarità con lo sviluppo per Windows 8. Tieni presente quanto segue:

  • Devi conoscere i linguaggi HTML5, CSS3 e JavaScript. Altre informazioni sono disponibili nell'esercitazione Creare la prima app di Windows Store scritta in JavaScript.
  • Devi capire come usare i linguaggi HTML5 e CSS per ricostituire l'interfaccia utente nella tua applicazione. Devi individuare gli elementi dell'interfaccia utente di Silverlight per Windows Phone che usi ed esaminare i controlli disponibili in HTML5 e nel toolkit della libreria Windows per JavaScript per individuare controlli analoghi a quelli usati nell'app di Silverlight per Windows Phone. Determina quindi in che modo puoi esprimere i componenti e i contenitori dell'interfaccia utente come pagine ed elementi HTML5 (<div>). È possibile che alcuni controlli richiedano l'uso degli elementi che si trovano nello spazio dei nomi Windows.UI di Windows Runtime.
  • Devi capire come sviluppare nuovamente i comportamenti principali con JavaScript. Se la funzionalità di cui hai bisogno non è disponibile in JavaScript o in WinJS, puoi usare un sottoinsieme specifico di API di .NET Framework facendo riferimento alle librerie runtime di Windows Profile nell'app.
  • Devi valutare gli asset e l'interfaccia utente della tua applicazione per vedere se sono in grado di supportare senza problemi una serie di risoluzioni dello schermo, in gran parte superiori alla risoluzione nativa di 800 x 480 pixel di Silverlight per Windows Phone. Valuta la possibilità di ridisegnare e sviluppare nuovamente gli asset se si tratta di bitmap statiche. Grazie al supporto della specifica SVG (Scalable Vector Graphics) fornito da WWAHost, le app di Windows Store in JavaScript supportano anche le immagini vettoriali e sono in grado di ridimensionarle adeguatamente, anche se dovresti prendere in considerazione anche proporzioni alternative (4:3, 16:9 e 16:10).

Se devi eseguire la migrazione di un'applicazione di gioco o che fa un uso esteso di elementi grafici, dovrai usare le funzionalità disponibili nel modello grafico Trident, incluso il supporto per Canvas e SVG, per WWAHost e Internet Explorer 10. Questo modello grafico specifico per HTML include il supporto per le trasformazioni 2D e 3D tramite i comportamenti CSS compatibili con gli standard W3C. Per altre informazioni, vedi la bozza della specifica W3C CSS 3D Transform .

Migrazione di un'app di Silverlight per Windows Phone a JavaScript

Per lo sviluppo di un'app di Windows Store scritta in JavaScript usi JavaScript, HTML5 e CSS3, pertanto devi riprogettare i componenti di presentazione della tua app e svilupparli di nuovo come documenti HTML e rappresentare tutti i comportamenti come comportamenti JavaScript e CSS. Ecco alcuni suggerimenti:

  • Puoi esprimere le singole schermate come pagine HTML. All'interno di queste pagine puoi esprimere i contenitori e gli elementi organizzativi discreti con elementi <div> o "frame" (connessi o statici).
  • Puoi implementare i controlli usando elementi di controllo e tipi di input HTML (ad esempio <input> o <textarea>) o tramite CSS3 e JavaScript (elementi interattivi personalizzati).
  • Puoi ottenere l'esecuzione di comportamenti di disegno con l'elemento <canvas> in HTML5 e JavaScript.

La tua app di Windows Store scritta in JavaScript può inoltre sfruttare le librerie Windows specifiche per aumentare la funzionalità e usufruire delle funzioni a livello di sistema operativo. Queste librerie comprendono:

  • WinJS: un toolkit di librerie JavaScript che supportano gestione eventi migliorata e comportamenti di query DOM, abilitano nuovi tipi di controlli e offrono modelli rivolti agli sviluppatori per altri comportamenti JavaScript comuni.
  • Trident 6.0: un modello basato su HTML e CSS per il layout e il rendering di componenti grafici che implementano Canvas per il disegno in tempo reale e la manipolazione di immagini bitmap, nonché il supporto per Scalable Vector Graphics (SVG) per la grafica vettoriale (Trident 6.0 è il set di librerie usato da Internet Explorer 10 per la visualizzazione del contenuto e può essere usato per supportare comportamenti di rendering e grafici aggiuntivi).
  • Windows Runtime: funzioni a livello di sistema operativo rese disponibili per JavaScript.

La seguente tabella include un elenco di API di Silverlight per Windows Phone e delle relative controparti di Windows Runtime (rese disponibili per JavaScript). Questa tabella non suggerisce un'associazione uno-a-uno delle funzionalità, poiché una piattaforma può avere più o meno funzionalità della relativa controparte. Tieni inoltre presente che alcune API Windows Runtime non sono disponibili per le app di Windows Store in JavaScript, come i tipi e gli spazi dei nomi Windows.UI.Xaml. Questo perché HTML5 offre elementi dell'interfaccia utente, comportamenti e rendering che puoi usare in alternativa.

Tipo di APISpazi dei nomi delle API di SilverlightSpazi dei nomi delle API di Windows Runtime (C#/Visual Basic)
DispositiviMicrosoft.Devices, Microsoft.Devices.Radio, Microsoft.Devices.Sensors Windows.Devices.Enumeration, Windows.Devices.Enumeration.Pnp, Windows.Devices.Input, Windows.Devices.Sensors
Modello e ambiente dell'app per 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
CarteMicrosoft.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
Networking e diffusioneMicrosoft.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
Modelli di dati e programmazioneSistema Windows.Foundation, Windows.Foundation.Collections, Windows.Foundation.Metadata, Windows.Data.Xml.Dom, Windows.Data.Xml.Xsl, Windows.Data.Json
PosizioneSystem.Device.Location Windows.Devices.Geolocation, Windows.Networking.Proximity
Automazione e diagnosticaSystem.Diagnostics, System.Windows.Automation.Peers Windows.Foundation.Diagnostics
Grafica (trasformazioni 3D)XNA Framework Class Library, Content Pipeline Class Library Nessun equivalente per il momento.
Controlli e infrastruttura dell'interfaccia utenteMicrosoft.Phone.Controls, Microsoft.Phone.Controls.Primitives, Windows.UI.ApplicationSettings, Windows.UI.Core, Windows.UI.Input, Windows.UI.Notifications, Windows.UI.ViewManagement
ArchiviazioneSystem.IO.IsolatedStorage class Windows.Storage, Windows.Storage.FileProperties

 

Puoi accedere alla maggior parte della libreria di classi .NET Framework usando Windows Runtime. Le funzionalità non specifiche della piattaforma Windows Phone di solito hanno un'API corrispondente nella libreria di classi .NET Framework. Ad esempio, le classi e i metodi disponibili nella versione per Silverlight per Windows Phone degli spazi dei nomi System e System.Diagnostics possono essere disponibili anche in Windows Runtime come controparti per .NET Framework. Per il set completo di API .NET Framework disponibili in Silverlight per Windows Phone e accessibili anche in Windows Profile, vedi la documentazione di riferimento sulle classi di Silverlight.

Nota  Windows Profile offre un wrapper per oltre 12.000 API .NET Framework, tuttavia non tutte le API .NET Framework sono attualmente supportate. Per un elenco completo, fai riferimento alla documentazione delle API di Windows Profile.
Nota  Se vuoi creare un'esperienza grafica elaborata per la tua app Silverlight per Windows Phone convertita (ad esempio un gioco) e non vuoi usare il modello XAML o JavaScript per via delle limitazioni di questi modelli, considera la possibilità di eseguirne la migrazione in un'app C++ con DirectX.

 

 

Mostra:
© 2015 Microsoft