7から進められてきたWindowsプラットフォームの統合が
ついにWindows 10で結実
Windows 10は、これまでマイクロソフトが開発してきたOSを統合したものだ。Windows 10登場以前には、以下の表のようなOSがあった。これらのOSは、これまで段階的に統合の準備が行われてきた。

まずWindows自体、Windows 7でOSを構成するモジュールが整理され、起動できる最小構成となるminiWinが定義された。つまり、最も小さなWindowsが作られ、これにモジュールなどを追加していくことで、OSを構成できるようになった。またAPIを整理し、APIを処理するDLL(ダイナミックリンキングライブラリ)との関係を整理した。これにより構成の変更が可能になった。
これを受け、Windows 8(2012年8月)、Windows Phone 8(2012年10月)、Xbox OS(Xbox One用、2013年11月)では、同じNTカーネルを採用した。ただし、APIや実行環境など、カーネル以外の部分は、それぞれのプラットフォームで別々になっていた。
次のWindows Phone 8.1(2014年7月)では、Windows 8.1(2013年8月)のモダンUI環境と同じ「アプリモデル」を採用する。アプリモデルとは、ソフトウェアを開発する方法を定めたもので、 モダンUI環境には「.NETフレームワーク/C#」「ネイティブコード/C++」「WinJS/HTML5+Javascript」の3つのアプリモデルがある。
これにより、Windows 8.1とWindows Phone 8.1は、同じ言語、同じ開発環境を使って開発することが可能になった。ただし、Windows Phoneでは、Windows 8.1とソースコードを共有できる部分もあったものの、APIの違いなどから、完全に同一にすることはできなかった。実行環境の違いやストアの違いなどから、別々のパッケージを作成してWindowsストアとWindows Phoneストアに別々に登録する必要があった。
そもそも、Windows Phoneのアプリモデルは、Windows Phone 7/8/8.1でそれぞれすべて異なる。AndroidやiOSに比べて、アプリが少ないと言われるのは、そもそも、Windows Phone 7の時点で過去との互換性がなく、その後2回もアプリモデルが変更になったということもあるだろう。
もちろん、Windows Phone 7用のアプリを後継のWindows Phone 8で実行することはできたが、開発者からみると、プラットフォームとしての変動が激しすぎた。AndroidやiOSでもシステムのバージョンが変わるとAPIやGUIが変わることはある。しかし、アプリケーションの開発方法までもが、ガラリと変わることはなかったはずだ。
(次ページでは、「OSの中核となるWindows CoreとWindows 10で共通のAPIであるUWP」)

この連載の記事
-
第487回
PC
気づけば随分数が増えているWindowsのファイル属性 -
第486回
PC
Excelがあればなんでもできる -
第485回
PC
Windows Subsystem for Linux(WSL)のソースコードが公開された -
第484回
PC
WindowsのコマンドラインでGrapheme Clusterを正しく扱うには -
第483回
PC
Microsoftが作るコンソールエディタがこの時代に復活 -
第482回
PC
WSL(Windows Subsystem for Linux)向けにFedoraディストリビューション登場 -
第481回
PC
Windows 11にそろそろ聞こえる25H2の声 -
第480回
PC
PowerShellが使う色を変更する -
第479回
PC
Copilot+ PCで利用できる「Windows Copilot Runtime」を試す ローカル推論用モデル「Phi Silica」とは? -
第478回
PC
Copilot+ PCでNPUを使ってローカル推論 「Windows Copilot Runtime」を試す -
第477回
PC
Windowsで2つの文字列を同時に含むテキストファイルを探す方法を考える - この連載の一覧へ