Nähere Informationen zu Project Westminster

Auf dem Building Apps for Windows Blog wurde kürzlich ein guter Post mit Details zu Project Westminster herausgebracht.

Project Westminster ist eine der 4 Universal Windows Platform (UWP) Bridges, die wir auf der Build angekündigt haben, um anderen Entwicklungen für andere Plattformen auf die Windows 10 UWP Plattform und in den Windows 10 Store bringen zu können. Konkret gibt es hierzu 4 Bridges, die den Weg zu Windows 10 UWP erleichtern:

  • Project Westminster: Web Apps in Form von Hosted Web Apps als UWP Apps auf Windows 10 bringen.
  • Project Centenniel: Klassische Desktop Applikationen als UWP Apps auf Windows 10 bringen.
  • Project Astoria: Android Apps als UWP auf Windows 10 bringen.
  • Project Islandwood: iOS Apps als UWP auf Windows 10 bringen.

Seit Windows 8 gibt es die Möglichkeit, mit HTML/JavaScript offline native Windows 8 Apps zu entwickeln. Wir haben weiters in Windows 8.1 begonnen,  gehostete Web Apps zu ermöglichen und über das Web App Template (WAT) als Windows 8.1 Apps in den Store zu veröffentlichen. Das hat unter Zuhilfenahme des WebView Control funktioniert.

Für Windows 10 kann man jetzt aber direkt auf gehosteten Content über das leere JavaScript UWP Template in Visual Studio 2015 navigieren. Hier kann man sogar auf die Plattform Features (Live Tiles, Cortana, Notifications, etc) direkt vom gehosteten Content aus zugreifen. Das kann man durch ein Attribut WindowsRuntimeAccess definieren, dass der remote Content auf diese APIs Zugriff hat. Wenn ich derartigen Plattform Code in meiner remote App hinzugefügt habe, dann läuft dieser Code nur im Rahmen einer UWP App und nicht, wenn ich direkt über einen Browser (Microsoft Edge oder andere) in Windows 10 zu dieser Web App navigiere.

Der Vorteil dieser Möglichkeiten ist, dass ich meine gesamte Entwicklung auf die gehostete Web App fokussieren kann – inklusive Plattform Code. Natürlich habe ich trotzdem weiterhin die Möglichkeit auch offline Content, sei es HTML/JS oder auch C++/C# Komponenten, mit meinem gehosteten Content zu mischen.

Nähere Infos, samt Sample Codes, findet ihr in diesem Post.