スマホもXbox Oneも全部Windows 10
その名称の理由は共通のアプリ実行環境を持つため
Windows 10は従来のPCだけではなく、Windows PhoneやXbox Oneなどでも動作する「マルチプラットフォーム」のOSだ。これまで、マイクロソフトのOS製品は、Windowsのカーネルをベースに開発されてきたが、Windows 10からは、名称がすべて同じになる。公式ブログなどで発表された情報によれば、全部で7つの「エディション」があるというが、実際にはもう少しあるようだ。
これらのエディションは、対応プラットフォームなどにより、いくつかの「カテゴリ」に分類できる。1つはPCプラットフォーム向けのWindows 10 Desktop、もう1つはスマートフォン/タブレット向けのWindows 10 Mobile、そして組み込み機器向けのWindows 10 IOTだ。
さらにはXbox OneやSurface Hub、HoloLensなどにもWindows 10が搭載される。こちらはそれぞれが専用ハードウェアであり、「エディション」としては別になると思われる。
なぜ、これらが全部Windows 10なのかというと、共通のアプリケーション実行環境である「UWP」(Universal Windows Platform)があり、共通の実行形式(APPXと呼ばれる)、共通のAPIセットがあるからだ。
また、GUIを持つプラットフォームでは、Adaptive UXと呼ばれる共通のアプリケーションスタイルが利用できる。これは解像度に合わせて画面レイアウトを自動的に変更する機能を持ち、解像度に影響されることなくアプリケーションを実行できるようにする。
CPUアーキテクチャなどの違いは、仮想コードを使う「.NETフレームワーク」、あるいはC++の開発環境であるVisual Studioなどが対応することで、依存性を減らしている。
基本的にはWindows 10は共通の実行環境を持ち、共通のAPIを持つが、プラットフォームやシステム構成などにより、ハードウェアの違いは存在し、APIの中でも特定のハードウェア機能(たとえば、モバイル通信、無線LAN、Bluetoothといった通信機能の有無など)に依存したアプリケーションを作ることができてしまうため、すべてのUWPアプリがすべてのWindows 10で動作するわけではない。
しかし、スマートフォンでもタブレットでもノートPCでも動作するアプリケーションの開発自体は容易であり、開発者はプラットフォームを特定することなく開発が可能なのだ。
過去のバージョンとの互換性は
同じプラットフォームでのみ対応
Windowsに限らず、すべてのOSに重要なのは、過去のバージョンとの互換性だ。そもそもOSを使う理由の1つは、一定のアプリケーション実行環境があり、過去に開発したアプリケーションも動作できるためだ。
今回、これまで別製品だったOS(たとえばWindows PhoneとWindows)を1つにしてしまったために、そのあたりがわかりにくくなっている。しかし、原則として、前述のカテゴリごとに、過去のバージョンとの互換性を持つ。
たとえば、Windowsのデスクトップアプリは、Windows 10 Desktopでしか動作しない。マイクロソフトは、デスクトップアプリをクラシックWindowsアプリと呼び始めたので、この記事でもこの用語を使うことにする。
このため、同じWindows 10でも、クラシックWindowsアプリは、Windows 10 Mobileでは動作しない。逆にWindows Phone用アプリは、Windows 10 Mobileでは動作するが、Windows 10 Desktopでは動作しない。
なんともややこしい話だが、Windows 8までのストアアプリも、実はWindows 10 Desktopでしか動作しないのだが、2014年のBuildで発表されたUWA(Universal Windows Apps)は、Windows 8ストアアプリとWindows Phone 8.1アプリを組み合わせて同時に開発できるようにしたものなので、これはWindows 10 DesktopでもWindows 10 Mobileでも動作する。このあたりをまとめたのが下の図だ。
この連載の記事
-
第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デバイスを使う - この連載の一覧へ