Windows Bridge for iOS

App-Portierung für Windows 10 leicht gemacht

| Autor / Redakteur: Michael Matzer / Elke Witmer-Goßner

Das Wandern zwischen den Welten ist möglich durch den Brückenschlag von iOS zu den neuesten Windows-Betriebssystemen.
Das Wandern zwischen den Welten ist möglich durch den Brückenschlag von iOS zu den neuesten Windows-Betriebssystemen. (Bild: Merkelbeutha, Fotolia)

Mit dem Projekt „Islandwood“ wird es Microsoft Entwicklern ermöglicht, ihre Apps für iOS nach Windows 10 und 8.1 zu portieren.

Im August steht zunächst eine quelloffene Vorabversion der „Windows Bridge for iOS“ unter MIT-Lizenz auf GitHub bereit. Microsoft lädt damit die gesamte Entwickler-Community ein, das kostenlose API-Set zu nutzen und gemeinsam das Projekt weiterzuentwickeln. Doch die Endversion mit dem Compiler dafür gibt es ab Herbst nur in Visual Studio 2015.

Windows Bridge for iOS erlaubt es, iOS-Entwicklern, Windows-Apps zu entwickeln und existierende iOS-Apps auf die Universal Windows Platform (UWP) zu portieren, also auf Versionen von Windows 10 und Windows 8.1, die x86- (Intel) und x64-CPU-Architekturen unterstützen. Erst später will Microsoft auch Unterstützung für ARM-Prozessoren liefern. Das bedeutet dann auch entsprechenden Support für mobile Endgeräte.

So läuft die Portierung von Web-Apps, iOS-Apps und anderen für die Universal Windows Platform ab. „Repos“ sind Repositorys für die Ablage und Verwaltung von Artefakten und ihren Metadaten.
So läuft die Portierung von Web-Apps, iOS-Apps und anderen für die Universal Windows Platform ab. „Repos“ sind Repositorys für die Ablage und Verwaltung von Artefakten und ihren Metadaten. (Bild: Microsoft)

Vier zentrale Komponenten

Das Entwicklertool umfasst vier zentrale Komponenten. Da ist zunächst der angepasste Objective-C Compiler in Visual Studio, der Objective-C-Quellcode nimmt und die daraus generierten Objektcode-Dateien mithilfe des Microsoft Linkers miteinander verknüpft. Diese Kompiliermethode soll es gestatten, dass Objective-C-Code und C++/CX im gleichen Entwicklungsprojekt koexistieren und einander mithilfe von C- oder C++-Schnittstellen aufrufen können. (Vorerst will Microsoft frühe Teile des Compilers auf GitHub bereitstellen, siehe oben.)

Zweitens wird eine Objective-C Runtime bereitgestellt. Diese Laufzeitumgebung versorgt den iOS-Entwickler mit Leistungsmerkmalen wie Message-Verwaltung, Delegieren und automatischem Zählen von Referenzen. Als dritten Baustein enthält die Windows Bridge iOS API-Header und Bibliotheken. Auf der Grundlage der Objective-C-Programmierschnittstellen stellt Microsoft eine „recht breite Kompatibilität“ mit den Windows-APIs sicher, schreibt Salmaan Ahmed, der Program Manager für Windows Bridge for iOS, in seinem Blog. Wer eine nicht unterstützte oder eine ausbaufähige API findet, soll dies Ahmeds Team melden.

Last but not least stellt die Integration in Visual Studio entsprechende Werkzeuge bereit, damit der Entwickler sein Xcode-Projekt ins Visual Studio 2015 importieren kann. Dort stehen dann Werkzeuge und das neue Windows 10 SDK bereit.

Grenzenlose Entwickler-Freuden

Das Bemerkenswerte an der Windows Bridge besteht laut Ahmed darin, dass es keinerlei Abgrenzung zwischen iOS- und Windows-APIs oder -Code geben soll. Deshalb wird auf Sandboxing völlig verzichtet: „Die beiden APIs sollten in der Lage sein, miteinander zu arbeiten.“ Zudem wird dem Objective-C-Quellcode der volle Zugriff auf die Windows-API gewährt, was die Funktionsaufrufe und die Verwendung von Bibliotheken, etwa für die Benutzeroberfläche, stark erleichtern dürfte.

Der Entwickler soll zu guter Letzt so viel wie möglich von seinem vorhandenen iOS-Quellcode wiederverwenden können (Kodier-Details, die vor allem Entwickler interessieren, findet man hier).

Hinweis: UWP-Apps laufen auf allen Geräten mit Windows 10, darunter Smartphones, Tablets, PCs und Xbox. Mit Hilfe von „Visual Studio Code” können Entwickler bestehenden Code – Web-, .NET-, Win32-, Java- und C++-Code für Android und Objective C-Code für iOS – in Windows-Apps verbauen. Die Universal Windows Platform UX Controls übernehmen dabei laut Microsoft das jeweilige Bildschirmformat und die spezifischen Funktionalitäten des jeweiligen Geräts. Dieses Leistungsmerkmal wird als „Responsive Design“ bezeichnet.

So funktioniert die Architektur für die Portierung von Hosted Web Apps im Projekt Westminster. Ähnlich läuft auch die Portierung für iOS-basierte Apps.
So funktioniert die Architektur für die Portierung von Hosted Web Apps im Projekt Westminster. Ähnlich läuft auch die Portierung für iOS-basierte Apps. (Bild: Microsoft)

Websites für den Windows Store

Mit dem „Projekt Westminster“ bekommen Web-Entwickler jedoch eine weitere Portierungsmöglichkeit geboten. Sie betrifft alle Anwendungs-Komponenten einer Website, und Microsoft nennt diese Komponenten „Hosted Web Apps“. Der Begriff „Hosted“ verdeutlicht hier, dass der Javascript/HTML-Code eben auf dem Server liegt – also gehosted ist – und nicht mit Teil des App-Packages ist. Der Zweck der Portierung besteht nicht nur in der Bereitstellung einer solchen Website im Windows Store, sondern die Erweiterung der Fähigkeiten einer Web-App um Windows-API Zugriffe, wenn diese als Hosted Web App laufen.

Die ManifoldJS-Technologie

Ein Demo-Beispiel für die Portierung der Web-Apps von „FlightArcade“. Interessant sind die verschiedenen MSApps-Dateien.
Ein Demo-Beispiel für die Portierung der Web-Apps von „FlightArcade“. Interessant sind die verschiedenen MSApps-Dateien. (Bild: Microsoft)

Mit der Bekanntgabe der neuen ManifoldJS-Technologie hat Microsoft eine weitere Option für die oben erwähnten Portierungen angekündigt: Die quelloffene JavaScript-Bibliothek ermöglicht das Erstellen von gehosteten Apps unter Android, iOS und Windows auf Basis der jeweiligen Web-Anwendung. Als Beispiel führte der Microsoft-Manager John Sewchuk die Salesforce-One-Anwendung vor. ManifoldJS nutzt die Metadaten einer Website und generiert daraus native „Hosted“-Apps.

Was sich heute noch in Vorabversionen abzeichnet, dürfte bis zum Jahresende ein umfassender Baukasten von Entwicklungstools, Frameworks und Basis-Technologien sein. Wieviel davon letzten Endes opensource gestellt wird, ist noch offen, aber deutlich ist, dass der Entwickler einen Großteil seiner nötigen Ressourcen aus der Opensource-Community, an der sich Microsoft beteiligt, beziehen kann.

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 43558117 / Entwicklung)