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」)

この連載の記事
-
第472回
PC
WindowsのエラーをMicrosoftに送信するテレメトリ機能を理解する -
第471回
PC
Windowsのコマンドラインでエイリアスを使う -
第470回
PC
Windows用のパッケージマネージャー「Winget」 プレビュー版で機能が充実してきた -
第469回
PC
Windows Updateの27年 悪役だった頃から改良が進んで、徐々に目立たない存在に -
第468回
PC
2025年のWindowsどうなる!? Windows Insider Programの状況をあらためて見る -
第467回
PC
Copilot+ PCのNPUでカメラを処理する「Windows Studio Effects」 その内容や効果は? -
第466回
PC
PowerToysの最近の新機能には、複数アプリを指定位置に起動する「ワークスペース」や新規作成のカスタマイズがある -
第465回
PC
WindowsのPowerShellからBluetoothデバイスを調べる -
第464回
PC
Windows 10のサポート切れまで1年を切った さてWindows 10マシンをどうする? -
第463回
PC
Windows Terminal Preview版でSixelグラフィックスを実際に表示させてみる -
第462回
PC
Windows Terminal Preview版でSixelグラフィックスを扱う - この連載の一覧へ