Mit UWP sollte alles anders werden. Eine App für alle Plattformen, modern und leichtgewichtig. Diese Strategie war wie wir alle wissen jedoch nicht so erfolgreich wie von Microsoft erhofft. Viele Entwickler entwickelten weiterhin lieber für Win32, um damit vor allem verbliebene Windows 7 Nutzer zu erreichen. Microsoft zieht nun die notwendigen Schlüsse und bringt Win32 und UWP enger zusammen.
Siehe dazu: Klassische Win32 Anwendungen können nun auf UWP-APIs zugreifen
Einfach nur noch Windows Apps
Das Hauptproblem der Idee hinter den Universal Apps war der Fokus auf mehrere Plattformen. Dies war zwar einerseits ein Vorteil, falls man diese verschiedenen Formfaktoren ansprechen wollte, doch wollte man zum Beispiel lediglich eine hoch spezialisierte und komplexe Desktop-Anwendung schaffen, war UWP schlicht und ergreifend nicht ausgereift genug. Darüber hinaus erreichte man damit lediglich Nutzer von Windows 10 und die restlichen Windows Nutzer blieben außen vor. Mit einer Win32 App hingegen erreichte man beide Gruppen. Zwar fehlten einem dadurch Windows 10 Mobile, HoloLens und Xbox, doch dürfte dies vielen Entwicklern herzlich egal gewesen sein.
Gerade dieses Harte entweder oder hat man auch bei Microsoft als einen der Gründe für den fehlenden Erfolg von UWP erkannt. Microsofts James Clarke sagte dazu:
That created this big left, right decision in people’s minds about ‘do I go this way or that way’ and it’s created gaps for people. So, if your organization still has Windows 7 computers, that’s held you back from being able to use UWP.
Das schuf diese große links, rechts Entscheidung in den Köpfen der Menschen über „gehe ich diesen Weg oder diesen Weg“ und es schuf Lücken für die Menschen. Wenn Ihr Unternehmen also noch Windows 7-Computer hatte, hinderte sie das daran, UWP zu verwenden.
Damit soll nun Schluss sein. Um es Entwicklern in Zukunft einfacher zu machen, moderne Anwendungen für Windows bereitzustellen, wird Microsoft Teile von UWP loslösen und diese allen zur Verfügung stellen. Zukünftig soll nicht mehr von Win32 oder UWP die Rede sein, sondern einfach nur von Windows Apps. Dazu wird Microsoft eine Reihe von Änderungen vornehmen. Diese beziehen sich auf drei Bereiche: UI, API und App-Modell.
Bisher gab es verschiedene UI-Layer. Es gab Win32, WinFomrs, MFC und WPF on Win32. Für UWP-Apps gab es XAML/Visual Layer. In Zukunft wird es lediglich die WinUI geben. Mit WinUI sollen alle wichtigen Komponenten der UI für alle Entwickler offen stehen. Somit können auch Win32 Apps die UI-Komponenten der UWP-Apps nutzen.
Bei den APIs gab es bisher das Win32/NET Framework und die Windows Runtime/.NET Native. In Zukunft soll WinRT auch außerhalb des Stores und für Win32 Entwickler nutzbar sein. Mit .NET Core wird es nur noch eine vereinheitlichte Runtime geben. Neue Funktionen werden nur noch für WinRT entwickelt, können jedoch von jedem Entwickler genutzt werden. Egal ob Win32 oder UWP.
Beim App Modell soll es in Zukunft keine klare Grenze und Entscheidung mehr zwischen Win32 und UWP geben. Die Entwickler sollen schlicht und ergreifend das für den jeweiligen Zweck am besten geeignete auswählen. Somit sollen idealerweise moderne und schicke Windows Apps entstehen, welche je nach Bedarf entweder auf Win32 oder komplett auf UWP basieren. Der Nutzer erhält somit moderne Windows Anwendungen und erkennt im besten Fall nicht, ob es sich um Win32 oder etwas anderes handelt. Die Entwickler sind dadurch nicht mehr gezwungen, eine UWP-App zu entwickeln, wenn sie alle Neuerungen von Windows 10 nutzen möchten. Andererseits sind reine UWP-Apps immer noch die beste Wahl, um eine einzelne App sowohl für Windows 10, HoloLens als auch Xbox zu entwickeln.
Persönlich ist dieser Schritt von Microsoft nur zu begrüßen. Sie hätten diesen Weg von Anfang an gehen soll und mit Blick auf Windows 10 X und neue Formfaktoren, sind moderne Win32 Anwendungen im Kleid einer UWP-App sicherlich nicht verkehrt.
Wie findet ihr diesen Schritt von Microsoft? Denkt ihr, dieser hätte bereits vor Jahren erfolgen sollen?
via Thurrot.com
Ich freue mich schon auf .NET 5 Da kommen die Welten Core und Framework zusammen. Und angeblich Plattform unabhängig lauffähig. Ich bin mal gespannt. Macht vielleicht das Programmieren einfacher. Schauen wir mal..
Wenn man sich die ganzen Enteicklungsformen bei MS ansieht, bemerkt man so richtig, was für ein Chaos das doch eigentlich ist.
Tüpisch Nerd-ies, mit Cola und Tüte Chips dazwischen…
Endlich verstanden? 😆
Nicht ganz. Die Nerds sind nämlich längst von und bei MS weg. Das ist ja das Problem.
Die Aussage, das hätte Microsoft vom Anfang an so machen sollen, ist genauso intelligent wie, dass man sich doch alle komplexen Funktionsupdates sparen könnte, würde man immer gleich alle Erweiterungen der nächsten 10 Jahre schon mit Release 0.9 von etwas ausliefern…