Migrieren einer Windows Phone 7-App zu JavaScript

Applies to Windows Phone only

Die Migration einer Windows Phone 7-Silverlight-App in eine Windows Store-App, die JavaScript verwendet, kann sich je nach Typ der App einfach oder aufwendiger gestalten. Wenn Sie eine App mit einfacher Benutzeroberfläche – ein Hilfsprogramm oder ein einfaches Spiel – portieren, kann JavaScript eine effektive Zielplattform für Windows 8-Portierungen von Windows Phone 7 sein, wobei bekannte Standardtechnologien für die Webentwicklung zum Einsatz kommen. Wenn Sie eine App mit aufwendigen UI-Komponenten oder einer grafikintensiven Umgebung portieren, sollten Sie eine App aus dem Windows Store in Betracht ziehen, die C++, C# oder Visual Basic und XAML verwendet.

Vorbereiten der Portierung einer Silverlight-App für Windows Phone 7 zu JavaScript

Die Portierung einer Silverlight Windows Phone 7-App in eine Windows Store-App mit JavaScript erfordert eine gewisse Vorbereitung. Dies gilt besonders für Entwickler, die noch nicht mit der Entwicklung für Windows 8 vertraut sind. Folgendes wird vorausgesetzt:

  • Sie müssen mit HTML5, CSS3 und JavaScript vertraut sein. Weitere Informationen finden Sie im Lernprogramm Erstellen Ihrer ersten Windows Store-App mit JavaScript.
  • Sie müssen wissen, wie Sie die Benutzeroberfläche Ihrer Anwendung mithilfe von HTML5 und CSS rekonstruieren können. Ermitteln Sie die verwendeten UI-Elemente in Silverlight, und suchen Sie in den Steuerelementen von HTML5 sowie im Toolkit der Windows-Bibliothek für JavaScript nach entsprechenden Steuerelementen. Ermitteln Sie anschließend, wie Sie Ihre UI-Komponenten und -Container als HTML5-Seiten und -Elemente (<div>) ausdrücken können. Für einige Steuerelemente müssen unter Umständen die Elemente aus dem Windows.UI-Namespace der Windows-Runtime verwendet werden.
  • Sie müssen wissen, wie Sie das grundlegende Verhalten unter Verwendung von JavaScript nachempfinden können. Sollte die benötigte Funktion in JavaScript oder in der WinJS-Bibliothek nicht verfügbar sein, können Sie eine bestimmte Gruppe von APIs aus .NET Framework nutzen, indem Sie in Ihrer Anwendung auf die Windows Profile-Laufzeitbibliotheken verweisen.
  • Sie müssen für die Ressourcen und die Benutzeroberfläche Ihrer Anwendung ermitteln, ob sie fehlerfrei unterschiedliche Bildschirmauflösungen unterstützen können. Die meisten dieser Auflösungen übersteigen die systemeigene Windows Phone 7-Auflösung von 800 x 480 Pixeln. Handelt es sich bei Ihren Ressourcen um statische Bitmaps, erwägen Sie ggf., die Ressourcen neu zu zeichnen oder zu entwickeln. Windows Store-Apps mit JavaScript können dank der WWAHost-Unterstützung von skalierbaren Vektorgrafiken (Scalable Vector Graphics, SVG) auch Vektorbilder unterstützen und entsprechend skalieren. Allerdings sollten Sie alternative Seitenverhältnisse (4:3, 16:9 und 16:10) berücksichtigen.

Wenn Sie ein Spiel oder eine grafikintensive Anwendung portieren, müssen Sie die im Trident-Grafikmodell bereitgestellte Funktionalität, einschließlich Canvas- und SVG-Unterstützung, für WWAHost und Internet Explorer 10 verwenden. Dieses HTML-spezifische Grafikmodell umfasst die Unterstützung für 2D- und 3D-Transformationen über W3C-standardkonforme CSS-Verhalten. Weitere Informationen finden Sie in der W3C-Entwurfsspezifikation zu CSS-3D-Transformationen.

Portieren einer Windows Phone 7-App zu JavaScript

Bei der Entwicklung einer Windows Store-App mit JavaScript kommen JavaScript, HTML5 und CSS3 zum Einsatz. Daher müssen Sie die Darstellungskomponenten Ihrer App neu designen und sie als HTML-Dokumente neu programmieren. Des Weiteren müssen Sie das gesamte Verhalten mit JavaScript und CSS nachbilden. Hierzu einige Tipps:

  • Sie können einzelne Bildschirme als HTML-Seiten ausdrücken. Innerhalb dieser Seiten können Sie Container und diskrete Organisationselemente durch <div>-Elemente oder "Frames" (verbunden oder statisch) ausdrücken.
  • Sie können Steuerelemente mit HTML-Steuerelementelementen und -Eingabetypen (beispielsweise <input> oder <textarea>) oder über CSS3 und JavaScript (benutzerdefinierte interaktive Elemente) implementieren.
  • Sie können Zeichenverhalten in HTML5 und JavaScript mithilfe des <canvas>-Elements implementieren.

Darüber hinaus kann Ihre Windows Store-App mit JavaScript Windows-spezifische Bibliotheken nutzen, um den Funktionsumfang zu erweitern und Funktionen auf Betriebssystemebene zu verwenden. Zu diesen Bibliotheken zählen:

  • WinJS – Ein Toolkit mit JavaScript-Bibliotheken, die eine verbesserte Behandlung von Ereignissen sowie DOM-Abfrageverhalten unterstützen, die Verwendung neuer Steuerelementtypen ermöglichen und entwicklerfreundliche Muster für andere gängige JavaScript-Verhalten bereitstellen.
  • Trident 6.0 – Ein HTML- und CSS-basiertes Modell für die Layouterstellung und das Rendern visueller Komponenten. Das Modell verfügt über eine Canvas-Implementierung, um Bitmapgrafiken in Echtzeit zeichnen und manipulieren zu können, und unterstützt skalierbare Vektorgrafiken (Scalable Vector Graphics, SVG). (Trident 6.0 ist der Bibliothekensatz, den Internet Explorer 10 zum Anzeigen von Inhalten verwendet, und ermöglicht die Unterstützung zusätzlicher Grafik- und Renderingverhalten.)
  • Die Windows-Runtime – Für JavaScript verfügbar gemachte Funktionen auf Betriebssystemebene.

In der folgenden Tabelle finden Sie eine Liste mit Silverlight-APIs und ihren Windows-Runtime-Pendants (für JavaScript). Diese Tabelle behauptet keine 1:1-Entsprechung der Funktionalität; eine Plattform-API kann mehr oder weniger Funktionalität als ihr Gegenstück aufweisen. Beachten Sie außerdem, dass einige Windows-Runtime-APIs für Windows Store-Apps, die JavaScript verwenden, nicht verfügbar sind, beispielsweise die Windows.UI.Xaml-Namespaces und -Typen. Der Grund: HTML5 stellt alternative Benutzeroberflächenelemente, Verhalten und Renderingfunktionen zur Verfügung.

API-TypSilverlight – API-NamespacesWindows-Runtime – API-Namespaces (C#/Visual Basic)
GeräteMicrosoft.Devices, Microsoft.Devices.Radio, Microsoft.Devices.Sensors Windows.Devices.Enumeration, Windows.Devices.Enumeration.Pnp, Windows.Devices.Input, Windows.Devices.Sensors
Windows Phone – App-Modell und -UmgebungMicrosoft.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
KartenMicrosoft.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
Netzwerk und VeröffentlichungMicrosoft.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
Programmier- und DatenmodelleSystem Windows.Foundation, Windows.Foundation.Collections, Windows.Foundation.Metadata, Windows.Data.Xml.Dom, Windows.Data.Xml.Xsl, Windows.Data.Json
PositionSystem.Device.Location Windows.Devices.Geolocation, Windows.Networking.Proximity
Automatisierung und DiagnoseSystem.Diagnostics, System.Windows.Automation.Peers Windows.Foundation.Diagnostics
Grafik (3D-Transformationen)XNA-Framework-Klassenbibliothek, Inhalts-Pipeline-Klassenbibliothek Momentan keine Entsprechung verfügbar.
Steuerelemente und UI-InfrastrukturMicrosoft.Phone.Controls, Microsoft.Phone.Controls.Primitives, Windows.UI.ApplicationSettings, Windows.UI.Core, Windows.UI.Input, Windows.UI.Notifications, Windows.UI.ViewManagement
SpeicherSystem.IO.IsolatedStorage-Klasse Windows.Storage, Windows.Storage.FileProperties

 

Auf einen Großteil der .NET Framework-Klassenbibliothek können Sie über die Windows-Runtime zugreifen. Für Silverlight-Funktionalität, die keine spezielle Funktionalität der Windows Phone-Plattform ist, gibt es normalerweise eine entsprechende API in der .NET Framework-Klassenbibliothek. So sind Klassen und Methoden, die in der Silverlight-Version der Namespaces "System" und "System.Diagnostics" verfügbar sind, möglicherweise auch in Form von .NET Framework-Pendants in der Windows-Runtime verfügbar. Eine vollständige Zusammenstellung der in Silverlight verfügbaren .NET Framework-APIs, die möglicherweise auch in Windows Profile verfügbar sind, finden Sie in der Silverlight-Klassenreferenzdokumentation.

Hinweis  Windows Profile bietet einen Wrapper für mehr als 12.000 .NET Framework-APIs. Momentan werden jedoch nicht alle .NET Framework-APIs unterstützt. Eine vollständige Liste finden Sie in der Windows Profile-API-Dokumentation.

Hinweis  Wenn Sie eine grafikintensive Umgebung für die portierte Windows Phone 7-Silverlight-App erstellen möchten (beispielsweise für ein Spiel), die XAML- oder JavaScript-Modelle aufgrund ihrer Beschränkungen jedoch nicht verwenden möchten, sollten Sie die Portierung in eine C++-App mit DirectX in Betracht ziehen.

 

 

Anzeigen:
© 2014 Microsoft