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年台前半に実現される予定の技術だった。しかし、当時はインターネットはあったものの、クラウドという概念もなく、スマートフォンも普及していなかった。次回はこのあたりについてさらに掘り下げていきたい。
この連載の記事
-
第461回
PC
Copilot+ PCを買ってみたが、「今焦って買う必要はない」のかもしれない -
第460回
PC
Windowsでsftpを使う -
第459回
PC
WSL 2.4.4ではtar形式でのディストリビューションが配布でき、企業での利用が容易になってきた -
第458回
PC
Windows上でhostsファイルを活用する -
第457回
PC
IPv6アドレスは先頭を見ればどんな種類かわかる -
第456回
PC
あらためてIPv6基本のキ -
第455回
PC
Windowsで現在どのネットワークアダプタがインターネット接続に使われているかを調べる方法 -
第454回
PC
Windows 11 24H2では「デバイスの暗号化」の条件が変わり、より多くのPCでドライブが暗号化される -
第453回
PC
Windows 11 24H2の配布開始後もすぐにはやってこない Windows UpdateとSafeguard Holds -
第452回
PC
Windows 11 Ver.24H2が登場 Copilot+ PCとそうでないPCで実質Windowsが2つに分かれる -
第451回
PC
新しいWindowsサンドボックスではコマンドラインからの制御が可能に - この連載の一覧へ