Englischer Textclick here for english version

Das Microsoft Gui-Desaster

 

 

Das große Microsoft GUI-Verwirrungspiel

Wie eine Hinterhoffirma hat Microsoft über die Jahre unzählige Frameworks angefangen zu entwickeln, die sämtlich nach kürzester Zeit wieder aufgegeben, eingestellt und verworfen wurden. Fürchtet Microsoft die Konkurrenz der freien Entwickler? Viele Entwickler sagen heute: "Microsoft hat unser Vertrauen verspielt". Die Enttäuschung sitzt tief. Man hat den Eindruck, Microsoft möchte die Entwickler vergraulen.

Die Entwicklergemeinde macht inzwischen nur noch Witze über Microsoft: "Great News: All Bugs Will be Fixed In the Year 2041". Schlimmer als in einer Hinterhoffirma findet die Bug-Eliminierung in traumatisch langen Zeitabständen statt. Ist Microsoft in Wirklichkeit eine 1-Mann-Firma? Die Milliarden-Einnahmen von Microsoft gingen wohl sämtlich in Epsteins Imperium unter.

Wer viel auf Github unterwegs ist, stellt fest: fast 70% oder mehr der veröffentlichten Source-Codes sind Commandline-Programme, wie in den Neunzigern mit Win95 und Win98 oder gar MSDos. Die Verwirrung der vielen nicht weiter verfolgten Gui-Alternativen schlägt sich auf Github deutlich nieder und viele Entwickler wenden sich mittlerweile anderen Alternativen zu.

 

 

 

 

Microsoft Foundation Classes (MFC)

Microsoft Foundation Classes oder MFC war eine Bibliothek, die einen objektorientierten Wrapper für die Win32-API bereitstellte. Es war eine GUI-Bibliothek die durch die Internet-Gemeinde eine erhebliche Entwicklung erfuhr. GUI-Anwendungen und  Verwalten der Ressourcen wurden durch diese Klassenbibliothek erheblich erweitert und vereinfacht und endlich auf C++-Niveau gehoben.

MFC wurde  1992 mit der Version 7 des C / C ++ - Compilers von Microsoft eingeführt. Microsoft setzte sich verspätet damit auf die Entwicklung von C ++  auf. Spätere Versionen von Visual Studio hatten erheblich verbesserte Versionen von MFC im Gepäck bis Visual Studio 2015. Dann verschwand diese 'Foundation' sang und klanglos in der Versenkung. Mit dieser Aufgabe der MFC wurde viele Arbeit vieler Menschen sang und klanglos in die Tonne gekippt.

Ursprünglich war die Bibliothek als Application Framework Extensions ( AFX) geplant. Die Marketingabteilung änderte allerdings den Namen in MFC, der Code aber blieb. Viele Header verweisen erimmer noch auf "Afx" anstelle auf "Mfc", so etwa der vorkompilierte Standard-Header, der automatisch von Visual Studio generierte StdAfx-Header.

Dennoch war MFC mit 23 Jahren ('92-'15) Lebenszeit eines der am längsten unterstützten Frameworks. 

 

 

 

 

ATL

 ATL ist eine mittlerweile ziemlich alte Bibliothek, die win32 api-Funktionen umschließt. Weder MFC noch ATL werden für neue Programme empfohlen. Windows Forms und  .NET-Framework, oder häufiger CLR/C++ genannt, folgte diesen Dinosauriern.

ATL war eine weitere Leichtbaubibliothek, die einfach Möglichkeiten zur Erstellung von COM-Komponenten auf eine Weise zur Verfügung stellte, die die Low-Level-Details des Aufbaus einer COM-Schnittstelle abstrahiert. Es machte COM einfacher zu verwenden.

 

 

 

 

Windows Forms

Windows Forms gibt es seit 2002 und das Erscheinungsbild ist dem  entsprechend. Man fühlt sich in Zeiten von Windows XP zurückversetzt. Winforms war gegenüber MFC ein Schritt zurück in die Computer-Steinzeit von Win-XP. Die digitale Steinzeit lacht aus jedem damit programmierten Programm den Nutzer an.

Die Kurzlebigkeit der Microsoft-Frameworks erkennt man alleine schon daran, dass Microsoft selbst alte Winforms-SDKs nicht mehr anbietet (man muss alte Versionen mit Krücken wie netfx4sdk's zum Laufen überreden)

 

.

 

 

 

 

Silverlight

Wer erinnert sich noch an das Silverlight-Desaster? Einst als Flash-Killer beworben wurde Silverlight später sang- und klanglos eingestellt.

 

 

 

 

WPF

Die Windows Presentation Foundation betrat 2006 die Bühne und schien viel zu versprechen: Eine hardwarebeschleunigte Oberfläche, XAML, Datenbindung, Styles. Für manche Windows-Anwendungen könnte WPF auch heute noch aktuell sein, allerdings nur proprietär für Windows, die vielen anderen Systeme heute bleiben außen vor.

BYOD ist für Microsoft ein Fremdwort. Und WPF wird nicht mehr entwickelt. Auch hier also nur Sackgasse. Aber WPF läuft Cross Platform selbst auf Linux dank Avalonia XPF. Aber WPF wird nicht mehr entwickelt......

 

 

 

 

UWP

Sollte die App-Revolution auf Windows bringen – dümpelt als Nischenlösung vor sich hin.

Noch November '24 war auf der Visualstudio-Magazine-Seite zu lesen: "Microsoft is previewing UWP (Universal Windows Platform) support for .NET 9, providing a path for existing UWP developers to modernize their apps with the latest .NET and Native AOT. That's being done as the company urges devs to switch to Windows App SDK and WinUI 3 because UWP is no longer under active development." Siehe Win UI 3.

 

 

 

 

WinUI 3

Die Windows UI Library (WinUI) ist das native UI-Framework von Windows 10 und Windows 11. Wer mühsam gelernt hat, wie  WinUI und seine UI-Beschreibungssprache XAML verwendet wird, um moderne Windows-Desktopanwendungen mit .NET und C# zu erstellen, steht auf dem Abstellgleis.

Eine Zeitung schreibt: "Ein Projekt, das schon vor vielen Jahren "Open Source" gemacht wurde, kündigt nun plötzlich "echte Open-Source-Entwicklung" an? Was für ein Scherz spielt Microsoft hier?"

2024 konnte man dann auf Github lesen: ""WinUI 3 ist tot. Wann können wir eine Ankündigung erwarten?" Der Thread fand inzwischen über 580 Kommentare und wurde zum Sammelbecken für die Unzufriedenheit der Community über die stagnierende Entwicklung von WinUI 3.

 

 

 

 

MAUI

Dann sollte .NET MAUI die Erlösung bringen. Endlich ein Framework für viele Plattformen.  Windows, Mac, Android, iOS sollte unterstützt werden. Aber der große Markt für Linux Fehlanzeige. Die Realität war ernüchternd.  MAUI wird halbherzig entwickelt, ist nach Jahren im Markt  immer noch mit Kinderkrankheiten behaftet. Probleme mit Deployment, Performance, kaum Dokumentation. MAUI war als der große Hoffnungsträger gestartet. Heute stellt sich heraus, dass er alles andere als ein Hoffnungsträger darstellt.

 

 

 

 

8 Bibliotheken in 32 Jahren

8 Bibliotheken in 32 Jahren ergibt eine Lebenszeit pro Bibliothek von 4 Jahren. Gar nicht erwähnt WTL, VCL, OWL.... (Eigentlich sogar noch weniger Jahre, da MFC 1992 unausgereift war und erst in jahrelanger Entwicklung durch die Entwicklergemeinde nach 2000 zu einem brauchbaren Produkt wurde).  Man muss wohl niemand erklären, welch extrem kurze Zeitspanne 4 Jahre darstellen. In Wirklichkeit 3 Jahre, wenn man vom Jahr 2004 als dem Fertigstellungsjahr für MFC ausgeht. (Komplexe Programme benötigen weit mehr als 4 Jahre zu ihrer Entwicklung). Ohne wirkliche Entwicklung. Manche mittlerweile 32 Jahre alte MFC-Programme haben ein moderneres Erscheinungsbild als etwa Winforms-Programme. Hinzu kommt wie gesagt das Revival der Command-line Programme der Computer-Steinzeit. Ist das die Zukunft der Microsoft-Windows-Welt?

Gar nicht zu erwähnen die vielen Bugs im Microsoft Compiler bis heute. Und dass modernere Windows Versionen versuchen Entwickler zu gängeln und zu kontrollieren... (die vielen anderen Desaster gar nicht erwähnt: dass Desktops bis heute in Win11 keine brauchbare Funktion aufweisen. Vielleicht erklärt mal jemand Microsoft, wie so etwas aussehen müsste etc.....).

Gar nicht zu reden von den bis heute vollkommen unbrauchbaren Hilfedateien im Netz in nicht-englischen Sprachen. Sie strotzen nur so vor Fehlern, die all die Propagandadarstellungen in der Presse und im Netz zu AI/KI Lügen strafen.