Zur Situation von Windows 10 Mobile und der UWP für Entwickler
Zur Situation von Windows 10 Mobile und der UWP für Entwickler
Microsoft macht mit dem Anniversary Update einen gewagten Schritt: Während Sie diese Zeilen lesen, ist das epischste Upgrade-Programm aller Zeiten zu Ende gegangen. In all der Aufregung um die Desktop-Plattform bleibt die Frage nach dem Schicksal von Windows 10 Mobile unbeantwortet. Lohnt sich die Plattform für Entwickler bzw. gibt es sie überhaupt noch?
Aus hardwaretechnischer Sicht steht es nicht gut um Windows 10 Mobile: Nach der offiziellen Übernahme von Nokias Handysparte durch Microsoft dürften die als paranoid bekannten Südkoreaner (Samsung) auch mit immensem Druck aus Redmond nicht zur Aufrechterhaltung einer Windows Mobile-Produktlinie zu bewegen sein; vom angeschlagenen HTC und von Huawei ist ebenfalls nur wenig zu erwarten.
Als ob eine Single-Vendor-Situation – die Kadaver von RIM, Nokia und Palm warnen – nicht schlimm genug wäre, schafft die letzte Reorganisation der Handyabteilung bei Microsoft zusätzliche Unsicherheit. Satya Nadella, CEO von Microsoft, dünnt die Reihen der von Nokia übernommenen Smartphone-Experten aus. The Register beschrieb den Prozess treffend mit „the finning of the herd“. In Zukunft soll sich Microsofts Handysparte auf Business-User konzentrieren und den Consumer-Markt Consumer-Markt sein lassen. Eine Vorgehensweise, die sich auf die Marktanteile nur wenig positiv auswirken wird.
Andererseits vergleichen Auguren das Verdienen von Geld im Consumer-Markt gerne mit dem Extrahieren von Blut aus einem Stein: In den Hochzeiten von RIM lebten viele Entwickler gut davon, dass die Besitzer der Business-Smartphones eher gewillt waren den einen oder anderen Euro auszugeben.
Bei diesen Aussichten darf man eines nicht vergessen: Die Universal Windows Platform (UWP) ist überall. Der gleiche Code lässt sich dadurch sowohl unter Windows 10 Mobile als auch am Desktop und sogar auf der Xbox ausführen. Zudem tauchen viele „Tablets“ in klassischen Smartphone-Marktanteilerhebungen nicht auf; basieren sie doch auf x86-CPUs und/oder auf einem zu großen Bildschirm. Daraus folgt, dass die Rolle von Windows 10 Mobile – man möge mir den Ausdruck verzeihen – bis zu einem gewissen Grad „verschwimmt“ und vom Rest von Windows 10 nur schwer trennbar ist.
Das ist für all jene interessant, die Spiele entwickeln – ein Game lässt sich so auf allen Plattformen gleichermaßen monetarisieren. Wer ein nur für Workstations vorgesehenes Programm entwickelt, profitiert davon natürlich nur wenig. Andererseits wird die Geschäftswelt immer mobiler. Wer seine bisher nur am Desktop lebende App „mobilisieren“ möchte, kann seinen Kunden mit Microsofts Mobilplattform mit geringem Aufwand eine mobile Lösung zur Verfügung stellen.
Microsoft zeigt sich im Bereich des API-Designs kooperativ. Fehlt ein wichtiges oder sinnvolles API, so wird es mittels Upgrade nachgereicht. Allerdings ist das ein zweischneidiges Schwert – schon jetzt gibt es eine Vielzahl verschiedener Versionen, was die SDK-Auswahl und das Targeting erschwert.
Ein weiterer interessanter Aspekt ist die Unterstützung seitens Microsoft. Der Autor dieser Zeilen kann über Microsoft Austria nur das Beste berichten. Wer Windows 10 aktiv unterstützt, wird vom Team um Gerhard Göschl und Co. bestens versorgt. Dazu kommt die Integration in das bestehende Ökosystem: Dienste von NuGet bis Azure sorgen dafür, dass eine Vielzahl von Zusatzdiensten ohne Gedanken in Sachen Kompatibilität zur Verfügung stehen.
Nach diesen allgemeinen Überlegungen, ist es nun an der Zeit, sich den Bedürfnissen spezifischer Entwickler zuzuwenden. Beachten Sie, dass der Ausschluss von C++ nicht mehr gilt – der Sprachenoldie ist vollwertiges Mitglied der Universal Windows Platform.
Alle Versionen von Windows Mobile bzw. Windows Phone sind gehende Tote: Microsoft hat viele Windows-Phone 8-Smartphones mittels Upgrade aktualisiert, die restlichen Geräte – Stichwort Ativ S und einige Lumias – spielen kommerziell keine besonders große Rolle. Wer hier geistiges Eigentum auf Basis von .NET hat, sollte schnellstmöglich portieren: XAML lässt sich teilweise, C#- und VB-Net-Code lassen sich größtenteils wiederverwenden.
Win32-Applikationen können seit einiger Zeit über den Windows Store vertrieben werden. Das eliminiert eines der wichtigsten Argumente für eine Portierung. Die Entscheidung erfolgt nach einem einfachen Verfahren, die zu beantwortende Frage lautet: Ob und inwiefern ist das Programm auf Xbox und Smartphone sinnvoll nutzbar? Ist dies nicht der Fall, lohnt eine Portierung nur in den seltensten Fällen.
Wer im Moment eine Neuentwicklung plant, steht vor einer schweren Entscheidung. Die UWP deckt alle microsoft’schen Technologien ab. Die Abdeckung von Android, iOS, Linux und Co. ist insofern problematisch, da Xamarin (noch) keine volle Kompatibilität für XAML bietet. Es wäre allerdings vorstellbar, dass Microsoft hier irgendwann nachbessert.
Der stärkste Konkurrent für die Universal Windows Platform sind Cross-Plattform-Frameworks wie Qt. Sie bieten wesentlich breitere Plattformunterstützung, leiden aber unter dem verwendeten GUI-Stack – Qt-Apps sehen nicht wirklich nativ aus.
Windows 10 ist ein solides Betriebssystem, das die aus den aggressiven Upgrade-Methoden resultierende schlechte Presse nicht verdient. Die von Microsoft lange – Stichwort Xbox – vernachlässigte UWP ist fertiggestellt, was Entwicklern das Leben erleichtert.
Für Neuprojekte ist UWP ideal, wenn Unterstützung von Android und iOS nicht unbedingt erforderlich ist oder die Entwicklung von zwei GUIs akzeptabel ist. Wer Microsoft die Stange halten möchte, muss das mit der Universal Windows Platform bewerkstelligen. Bei intelligenter Vorgehensweise entsteht so eine App, die Desktop, Smartphone, Tablet und Konsole gleichermaßen abdeckt.