Fluent Design Systemでデザインシステムを一新
Android/iOSとのアプリ共通化を目指していく
Windows 10は、Windows 8.1 Update時点のモダンスタイルをベースにUWPのデザインスタイルを定義した。つまり、Windows 10は固有のデザインスタイルを持っていなかったわけだ。
これまでのWindowsのメジャーアップデートでは、新しいデザインシステムの導入が行なわれることが多かった。たとえば、Windows Vistaでは、Aeroと呼ばれる新しいスタイルが導入され、さらに改良されてWindows 7に引き継がれた。Windows 8ではMetroが導入され、8.1や8.1 Updateでも改良が進み、Windows 10に引き継がれた。
そして、「Windows 11」に向けて、このタイミングでデザインスタイルが更新される。それがFluent Design Systemと呼ばれるものだ。3年周期で行われていたWindowsのアップデートでは、いきなりデザインシステムが変わったが、Windows 10では段階的にアップデートされていくため、まずは、システム側の対応をRS3から開始する。
現在提供中のWindows Insider Preview Build 16226では、スタートメニューとアクションセンターがFluent Designになっているという(アクションセンターのほうが違いがわかりやすい)。ただし、リリース時の情報によれば、透過性の表示に問題があり、アクションセンターが透過表示されない不具合があるらしい。
RSシリーズがWindows 10の次となるメジャーアップデートを目指すという点から、デザインシステムの変更は自然なものではあるが、このデザインシステムの変更には、もう1つの目標がある。
デザインシステムは、アプリケーションの見た目を作るために、GUI部品とそれをレイアウトするシステムやウィンドウを提供する。また、Windows 8のストアアプリが、横スクロールするアプリのスタイルが標準になったように、デザインシステムは、ユーザーインターフェースの構造も定義する。
つまりFluent Design Systemの導入は、UWPの標準的なスタイルを変更するものなのである。もちろん互換性があるために、Fluent Design導入以前に作られたアプリも、そのままのスタイルで実行できるが、今後はFluent Designに準拠したアプリを作ることが求められるわけだ。
ここで、マイクロソフトが開発者にユーザーインターフェース変更を要請するには、マイクロソフトが進めているUWPアプリのマルチプラットフォーム化に関係がある。RS3を発表した今年5月のイベントでは、同時に「XAML Standard」が発表された。これは、マルチプラットフォームで利用可能なXAMLを定義するものだ。XAMLとは、Windowsでユーザーインターフェース部分を記述する「言語」だ。たとえば、ボタンを押したときにへこんだり光ったりする効果はXAMLで記述する。
これまで、UWPアプリは、マイクロソフトが買収したXAMARINフレームワークを使い、コアロジックの部分は、UWP(もちんろWindows10 Mobileを含む)、Android、iOSで共通化できたが、ユーザーインターフェース部分に関しては、それぞれのプラットフォームのやり方で開発する必要があった。
しかし、XAMLスタンダードでユーザーインターフェースを記述すれば、それをWindowsでも、AndroidでもiOSでも動かすことが可能になる。
すでにマイクロソフトは、マルチプラットフォームの.NET実行環境である.NET Coreや、マルチプラットフォーム共通ライブラリとなる.NET Standardを発表している。このXAML Standardの登場により、ほぼ同一のソースコードをマルチプラットフォームで動作させることが可能になるわけだ。Fluent Designにアプリを対応させることは、XAML Standardを使うことにほかならず、これにより、開発者がアプリをマルチプラットフォーム化しやすくなる。
モバイル向けのアプリは、現在では2つ以上のプラットフォームに対応させることが普通になってきた。というのは、1つのプラットフォームだけでは、収益が足りず、開発投資を回収しにくくなってきたからだ。
マイクロソフトは、こうしたモバイルアプリ開発者をターゲットにWindowsをメインの開発環境にすることを狙う。実際、Androidアプリケーションの多くはWindowsで開発されている。また、iOSアプリの純正の開発環境はMac上にあるが、マイクロソフトは、Windowsでの開発を可能にした。iOSアプリの開発者にとっても、マルチプラットフォーム対応を行うのであれば、Windowsの利用は不可欠であり、もし、iOSもAndroidも開発が可能なのであれば、開発環境をWindowsに移行する開発者も出てくるだろう。
このとき、Windows用アプリもほとんど手間なく開発できるのだとすれば、Windowsストアでの販売を考える開発者もいるだろう。
マイクロソフトは、こうした開発者取り込みのための活動を「Windows is Your Home for Development」(Windowsは開発者の家)と呼び、Windows 10が目指すゴールの1つに設定している。
Windows Subsystem for Linuxをさらに強化し、
Linuxを用いる開発者の取り込みも進める
マイクロソフトが呼び寄せようとしている開発者は、AndroidやiOSといったモバイルデバイス向けアプリの開発者だけでなく、Linuxを利用する開発者も狙う。Linuxでもモバイルデバイスや各種Linuxサーバーなどの開発ができるからだ。そのためのツールが「Windows Subsystem for Linux」(WSL)だ。つまり、Windowsの中でLinuxそのものを動作させ、開発者を呼び込もうというわけだ。
もっとも現在のWSLには、不十分な点もある。そこでRS3では、Ubuntu以外のLinuxディストリビューションにも対応し、WSLにインストールできるLinuxディストリビューションをWindowsストアから入手可能にした(従来もダウンロード先はWindowsストアだったが、lxrunという専用アプリ経由でしかインストールできなかった)。
対応したのはFedoraとSUSEという2つのディストリビューションだ。WSLは、LinuxディストリビューションのうちINITと呼ばれるプログラムを差し替え、一部の構成を変更するだけで動作できる。RSシリーズが完成する頃には対応ディストリビューションもさらに増えると予想される。
また、現在のWSLは、Linuxカーネルの一部の機能しか実現していないため、利用できないLinuxアプリケーションがあった。RS3ではLinuxカーネル機能が強化され、さらに多くのアプリケーションが動作することになると思われる。おそらく、最終的に目標とするのは、Linux用のDockerコンテナーファイルをそのままWindowsで実行可能にすることだろう。RS3では、OpenCLへの対応が予定されており、Googleのディープラーニング開発フレームワークであるTensorFlowをWSLで動作させたときにGPUによる演算を行わせることが可能になるという。
RS3に入る機能などは、実はWindows Vistaで2000年台前半に実現される予定の技術だった。しかし、当時はインターネットはあったものの、クラウドという概念もなく、スマートフォンも普及していなかった。次回はこのあたりについてさらに掘り下げていきたい。

この連載の記事
-
第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グラフィックスを扱う -
第461回
PC
Copilot+ PCを買ってみたが、「今焦って買う必要はない」のかもしれない -
第460回
PC
Windowsでsftpを使う -
第459回
PC
WSL 2.4.4ではtar形式でのディストリビューションが配布でき、企業での利用が容易になってきた - この連載の一覧へ