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」)
この連載の記事
-
第423回
PC
PowerShellの今を見る 2つあるPowerShellはどっち使えばいい? -
第422回
PC
Windows 11の目玉機能が早くも終了、Windows Subsystem for Android(WSA)を振り返る -
第421回
PC
進化しているPowerToys LANで接続したマシンでキーボード/マウス共有機能などが追加 -
第420回
PC
Windowsプレビュー版に搭載されたsudoを試す -
第419回
PC
Windows Insider Previewが変わって、今秋登場のWindows 11 Ver.24H2の新機能が見えてきた? -
第418回
PC
Windows 11のスマートフォン連携は新機能が追加されるなど、いまだ進化している -
第417回
PC
Windows 11のスマートフォン連携機能をあらためて使ってみる -
第416回
PC
Windowsセキュリティ(Defender)をコマンドラインで扱う -
第415回
PC
ConvertFrom-Stringを使って、テキストデータをテンプレートで読み込む -
第414回
スマホ
Windows Subsytem for Linux(WSL)が昨年9月のアップデートでファイアウォール対応になった -
第413回
PC
Windows Subsystem for Linux(WSL)でUSBデバイスを使う - この連載の一覧へ