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年台前半に実現される予定の技術だった。しかし、当時はインターネットはあったものの、クラウドという概念もなく、スマートフォンも普及していなかった。次回はこのあたりについてさらに掘り下げていきたい。

この連載の記事
-
第508回
PC
Scalable Vector Graphics(SVG)そもそも何なのか? -
第507回
PC
Windows 11の「開発者モード」とは何か? -
第506回
PC
Windows 11は早くも来秋登場の26H2プレビューの準備が始まる -
第505回
PC
結構変化しているWindows 11のエクスプローラーの基本設定を見直す -
第504回
PC
新しいOutlookとOutlook Classic、そろそろ古いOutlookとExchangeの組み合わせは引退の頃合いか -
第503回
PC
機能が増えたこともあり、寄せ集めから統合化に進むWindowsの便利ツール「PowerToys」 -
第502回
PC
Windows 11でBluetoothのオーディオ新規格「Bluetooth LE Audio」を試す -
第501回
PC
Windows 11 Ver.25H2での変更点、新機能を整理する -
第500回
PC
Windows 11 Ver.25H2が完成した -
第499回
PC
Windowsでの致命的だが回復可能なエラーに備える手段を2つ紹介 -
第498回
PC
Windows Terminalの安定版V1.23が公開 設定UIが改良される - この連載の一覧へ











