9

.Net、MFC、およびtouchの時代でも、Win32を使用するのが好きです。私の同僚は、Microsoftが非推奨にする可能性があるため、Windowsの将来のバージョン(Windows 9以降)でWin32APIを使用できない可能性があると私に言いました。

ただし、Windows自体がそのAPIの多くを使用しているため、これは私には不可能に思えます。低レベルのWin32Cライブラリを削除すると、オペレーティングシステム自体が機能しなくなり、オペレーティングシステムの大部分を再コーディングする必要があります(壊れたコードはすべて言うまでもありません)。

とにかく、私はこのことについてあまり知りませんが、これが不可能かどうかについて誰かが技術的な理解を持っていますか?

また、Windowsが将来的に低レベルAPIを廃止するかどうかは尋ねていないことに注意してください。これは、推測に基づくものです。私の具体的な質問は、彼らが望んでいたと仮定して、Microsoftがこれを行うことがどれほど実行可能であるかに関するものです。

4

1 に答える 1

18

技術的には可能ですが、市場シェアをすべて失いたい場合に限ります。アプリの内部LOBの多くは、Windows APIに対してコーディングされています(.Netでさえその上にありますが、Monoで示されているように、厳密には依存していません)。WinRT、Windows8の次の大きなものはWindowsAPIの上に構築されています

Win32(Windows API自体、および他のすべてのさまざまな部分)は、NTカーネル上に構築されたサブシステムです。それが無効になっているバージョンのカーネルを作成することは可能だと思います(OS / 2サブシステムはもう存在しないと確信していますが、そのユーザーランドはインストール可能であるため、POSIXレイヤーは存在します)。私が話していることを説明するためのWikiからの写真:

ここに画像の説明を入力してください

.NetランタイムまたはWinRTをサブシステムとして実装できない理由はわかりません。ただし、Win32にあるものの多くを再実装する必要があるため、おそらく意味のない作業量になります(これが、20年の間にNTカーネルが存在した理由であり、これら3つだけでした。サブシステムがリリースされました)。再実装に必要なものの範囲については、次を参照してください。http: //en.wikipedia.org/wiki/Win32WinsockからDirectXまでがほとんど含まれています。

ただし、新しいカーネルサブシステムを実装したとしても、古いアプリは実行されないため、Windows APIを含まない最初のリリースは誰にも購入されません(新しいサブシステムを実装した後、数バージョン後に削除します) Windows APIの場合、それに依存するアプリはまだ存在し、次のバージョンで壊れて恐ろしい報道を引き起こし、誰もそれを購入しませんでした。Vistaに何が起こったのかを見てください。

于 2012-07-20T06:48:57.243 に答える