これはWindows 10にUbuntu Linux(Linuxのディストリビューションの一種)のユーザーランド(非カーネル部分)を統合し、bashのみならず、各種のコマンドラインツールを使用できるようにしようというものだ。
オープンソースソフトウェアを利用したアプリ開発が全盛の現在では、同じくオープンソースなLinuxで使われているシェル環境を提供することで、開発がスムーズになることから追加されたと考えてよいだろう。
これを実現するための機構としては、仮想マシンなどを使うのではなく、LinuxのシステムコールをWindowsのシステムコールにリアルタイム変換するWindows Subsystem for Linuxが開発された(これがLinuxのユーザーランドからはカーネルのように見えると思われる)。なお、bashはあくまでも開発者のためのもので、使用するには「開発者モード」をオンにする必要がある。
こうした機構を用意することで、Ubuntu上で動作するコマンドがバイナリファイルそのまま実行できるようになっている(現在はプレビュー段階であるため、動作しないものもある)。
LinuxとWindowsとのファイルシステムの相違から、Windows上のオープンソースソフトウェアは使いづらい場合もある。こうした向きにはUbuntuのコマンドがそのまま実行できる環境は重宝するはずだ。
このプロジェクトに参画したCanonicalのDustin Kirkland氏のブログ記事「Ubuntu on Windows - The Ubuntu Userspace for Windows Developers」によれば、性能面でもPCに通常にUbuntuをインストールした場合と遜色ないようだ。
こうした試みとVSとの関連を不思議に思うかもしれない。が、「Windows is home for developer」というキーワードが意味するのは(恐らく)「マイクロソフトはVSに限らず、開発者が必要とするものであれば、それを用意する」ということだ。可能な限り多くの選択肢をWindowsに用意することで、開発者が好きなものを自由に使えるプラットフォーム(home)として、開発者にとって魅力あるものにしようとしているということだ。
なお、本稿執筆時点(2016年4月7日)でWindows 10 Insider Previewではbashが組み込まれたプレビュービルドが既に公開されている。本フォーラムでもお世話になっている亀川氏が実際に試した結果をブログ記事としてまとめてくれているので、こちらも参照されたい。他にも既にいろいろと試されている猛者が多数いるようだ。
デスクトップアプリコンバータは、Win32アプリや.NETアプリをUWP化するためのツールで、以前は「Project Centennial」と呼ばれていた(あるいは「Windows Bridge for Classic Windows」)。ただし、UWP化されたアプリはWindows 10でもデスクトップ版でしか動作しない。
デスクトップアプリコンバータには次のような特徴がある。
単にUWP化しただけの場合のメリットは、アップデートがシームレス/アンインストールがクリーン/Windowsストアなどによる配信が可能/ほぼそのままのコードが動作するとなる。特にインストールがクリーンに行われるのは、UWP化に当たって、レジストリやファイルシステムの一部が仮想化され、アプリがレジストリやファイルシステムにアクセスしようとすると対応するロケーションへとリダイレクトされるからだ。今まで自由にこれらにアクセスしていたアプリでは、これが逆に問題となるかもしれない(特にファイルシステム)。
UWP化したアプリ(モダンデスクトップアプリ)はUWPが提供するAPIにアクセスできる。つまり、ライブタイル、通知、Cortanaなどの機能を利用できるようになる。アプリに徐々にこれらの機能を付加していくことも可能だ。前述のファイルシステムにまつわる問題は、もしかするとファイルピッカーなどを利用するように改修を行うことになるかもしれない。
詳細についてはChannel 9で配信されているBuild 2016のセッション「Project Centennial: Bringing Existing Desktop Applications to the Universal Windows Platform」を参照されたい(スライドを見るだけでも概要をつかめるはずだ)。少しずつ改修を加えていき、最終的には完全にUWP化するといったこともマイクロソフトは射程に捉えている。
デスクトップアプリコンバータについては、実際にその動作を確認できるようなった時点で、その使い勝手などを別途記事化したいと思う。余談だが、UWPアプリはWindowsストアを経由しなくともインストールが可能になるようだ。
次にもう1つのキーワード「Conversations as a Platform」について見ていこう。
Copyright© Digital Advantage Corp. All Rights Reserved.