Wäre es für Microsoft möglich, die Win32-API in zukünftigen Versionen auslaufen zu lassen?

8

Ich benutze gerne Win32, auch im Zeitalter von .Net, MFC und Touch. Mein Kollege hat mir gesagt, dass es möglicherweise nicht möglich ist, das Win32-API in zukünftigen Windows-Versionen (nach Windows 9) zu verwenden, da Microsoft es möglicherweise ablehnen würde.

Das erscheint mir jedoch unmöglich, weil Windows selbst so viel von dieser API verwendet. Wenn sie die Low-Level-Win32-C-Bibliothek loswerden würden, würde das Betriebssystem selbst aufhören zu arbeiten, und sie müssten einen großen Teil des Betriebssystems neu codieren (ganz zu schweigen von dem ganzen Code, der kaputt wäre).

Wie auch immer, ich weiß nicht viel über dieses Zeug, hat irgendjemand technisches Verständnis darüber, ob das unmöglich ist oder nicht?

Beachten Sie auch, dass ich nicht frage, ob windows die API der unteren Ebene in der Zukunft ablehnen wird, ich weiß, dass das spekulativ ist. Meine spezielle Frage betrifft, wie machbar dies für Microsoft sein könnte, vorausgesetzt, sie wollten es.

    
Eric Vi4ing 20.07.2012, 06:08
quelle

1 Antwort

16

Es wäre technisch möglich, aber nur, wenn sie ihren gesamten Marktanteil verlieren wollten. Viele interne LOBs von Apps sind gegen die Windows-API kodiert (sogar .Net sitzt darüber, ist aber nicht unbedingt darauf angewiesen, wie Mono zeigt). WinRT, das nächste große Ding in Windows 8, baut auf der Windows-API auf

Win32 (das ist die Windows-API selbst zusammen mit allen anderen verschiedenen Teilen) ist ein Subsystem, das auf dem NT-Kernel basiert. Ich stelle mir vor, dass es möglich wäre, eine Version des Kernels zu machen, wo diese deaktiviert ist (ich bin ziemlich sicher, dass das OS / 2-Subsystem nicht mehr existiert, die POSIX-Schicht jedoch, da das Benutzerland dafür installierbar ist). Ein Bild von Wiki, um zu illustrieren, worüber ich rede:

Ich sehe keinen Grund, warum es nicht möglich wäre, die .NET-Laufzeitumgebung oder WinRT als Subsystem zu implementieren. Die Menge an Arbeit, die wahrscheinlich wäre, macht jedoch keinen Sinn, da sie viel von dem, was in Win32 ist, re-implementieren müssten (das ist wahrscheinlich der Grund, warum in den 20 Jahren, in denen der NT-Kernel existiert, nur diese drei sind Subsysteme wurden veröffentlicht). Für den Umfang dessen, was sie neu implementieren müssten, können Sie hier nachsehen: Ссылка Es umfasst ziemlich viel von Winsock bis zu DirectX.

Aber selbst wenn sie neuere Kernel-Subsysteme implementieren würden, würde die erste Version ohne die Windows-API von niemandem gekauft werden, da keine ihrer alten Anwendungen laufen würde (auch wenn sie die neuen Subsysteme implementiert haben, dann ein paar Versionen) später, entfernen Sie die Windows-API, es würde immer noch Apps davon abhängen, und würde in der nächsten Version brechen, was schreckliche Presse, und dann würde niemand es kaufen. Sehen Sie, was mit Vista passiert ist.

    
Matt Sieker 20.07.2012, 06:48
quelle