Windows Phone neu aufgelegt (Teil 4)
Kommentare

Windows Phone 7 unter der Lupe
Was befindet sich denn aber unterhalb von Silverlight und XNA? Was ist das Betriebssystem von Windows Phone 7?
Letztlich scheint man sich bei Microsoft auch nicht einig

Windows Phone 7 unter der Lupe

Was befindet sich denn aber unterhalb von Silverlight und XNA? Was ist das Betriebssystem von Windows Phone 7?

Letztlich scheint man sich bei Microsoft auch nicht einig zu sein. So wurde auf verschiedenen Konferenzen einmal behauptet, dass als Basis Windows CE 6 verwendet wurde – mal wurde von Windows CE 7 gesprochen. Egal jedoch, um welche Version es sich handelt, beide eignen sich gut.

Doch stellt sich schnell erneut die Frage, weshalb Anwendungen in einer Sandbox arbeiten müssen. Windows CE bietet ein Dateisystem und Funktionen, die aus verwaltetem Code via P/Invoke aufgerufen werden könnten. Auch wären Windows-Forms-Anwendungen möglich, genauso wie die Ausführung von nativem C++-Code. Auch hier ist die Antwort: Konsistenzsicherung. Alle Möglichkeiten die Performance einer Windows Phone 7 zu beeinflussen, wurden deaktiviert. Interessant daran ist, dass diese jedoch weiterhin schlummernd vorhanden sind. So liegt die Vermutung nahe, dass man mit der ersten Version erst einmal schauen möchte, wie sich die Plattform in der freier Wildbahn bewährt, um dann möglicherweise einige Restriktionen aufzuheben.

Abhinaba Basu, ein indischer Entwickler aus dem .NET-Compact-Framework-Team hat in seinem Blog eine interessante Architekturübersicht des Windows-Phone-7-Betriebsystems veröffentlicht.

Abb. 5: Die Architektur des Windows-Phone-7-Betriebssystems
Abb. 5: Die Architektur des Windows-Phone-7-Betriebssystems

In dieser Übersicht wird ersichtlich, wie denn die Sicherheit gewährleistet werden soll. So enthalten Silverlight und XNA eine gemeinsame Base Class Library (BCL), die aus verwaltetem Code besteht. Dieser Bereich setzt u. a. auf die darunter liegende Execution Engine auf. Diese besitzt die native BCL, die alle Funktionen der Plattform der managed BCL zur Verfügung stellt. Schaut man sich diese einmal näher an, so fällt auf, dass sich hier das nötige Marshalling für P/Invoking befindet. Dabei gibt es nicht nur das direkte P/Invoking auf native Funktionen, sondern auch das Reverse P/Invoking, das Code in einer Silverlight- oder XNA-Anwendung aufrufen kann. Dies wird beispielsweise für die so genannten „Chooser“ verwendet. Wird z. B. ein Foto für die eigene Anwendung benötigt, steuert diese native BCL das Öffnen des zugehörigen Dialogs. Wird dieser geschlossen, so wird das Ergebnis via Reverse P/Invoke an die entsprechende Anwendung zurückgeliefert.

Würde man es selbst mit der Anwendung schaffen, aus der Sandbox auszubrechen, so käme man nicht sehr weit. Man würde die zwar unterliegenden Funktionen aufrufen können, doch würden diese mit einer Art von SecurityException den Dienst quittieren, da lediglich signierte Anwendungen diese Bibliotheken aufrufen dürfen. Einzige Ausnahme stellen von Microsoft freigeschaltete Entwicklergeräte dar. Doch auch hier gibt es dann bestimmte Prüfungen, sodass das Ausführen dieser Funktionen unterbunden würde.

Im Platform Abstraction Layer findet man jene Funktionen, die man vergeblich gesucht hat: Registry, FileIO, Threading und Co. Schaut man sich einmal „Platform“ an, so findet man hier die nativen Gegenspieler für XNA und Silverlight wieder. Somit ist erkennbar, dass wahrscheinlich für das native Silverlight ein verwalteter Layer gebaut wurde, auf den aufgesetzt wird.

Hardware

Für die Hardwarehersteller, die das Windows-Phone-7-Betriebssystem ausführen dürfen, gibt es strenge Vorgaben. Ziel ist es zu vermeiden, dass das Betriebssystem bzw. darauf ausgeführte Anwendungen die „Experience“ des Benutzers negativ durch Ruckeln von Animationen oder anderen Effekten beeinflussen.

Als Displays müssen kapazitive (wegen Multitouchfunktionalität mit mindestens vier Kontaktpunkten) eingesetzt werden, die eine WVGA-Auflösung (480 x 800) bieten. Später sollen Geräte mit HVGA-Auflösung (320 x 480) folgen. Darüber hinaus muss jedes Gerät einen A-GPS, Receiver, einen digitalen Kompass, eine 5-Megapixel-Kamera (Minimum), einen Lagesensor, einem Proximity-Sensor und einen FM-Receiver beinhalten. Darüber hinaus sind folgende Hardwaretasten vorgeschrieben: Ein-/Ausschalter, Kamerabutton, Lautstärkeregler sowie die drei Steuertasten: Eine davon ist der Zurück-Button (wie im Browser), eine der Start-Button zur Rückkehr zu Start, sowie ein Such-Button, der u. a. die lokale Bing-Suchmaschine aufruft. Darüber hinaus muss das Gerät über einen Prozessor mit mindestens 1 GHz und eine DirectX-9-fähige GPU verfügen. Da Speicherkarten nicht unterstützt werden, sind mindestens acht GB Flash-Speicher ebenfalls eine Voraussetzung.

Alleine diese Voraussetzungen zeigen bereits, dass die Basishardware genügend Power besitzt, um Anwendungen vernünftig ausführen zu können. Und auch die Sensoren ermöglichen interessante Apps.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -