普段使っているPCの部品を新しくしたついでにWindows上にも何かしらの開発環境を用意したくなったので、最近ストア版が正式リリースされたWSLで環境構築をしようと思い立ちました。
WSLはWindows Subsystem for Linuxの略称で、Windows上でLinuxを実行するシステムの名称です。WSL1と2がリリースされていますが単なる後継というわけではなくアーキテクチャが大きく変更されています。
ファイルシステムの高速化やシステムコールの互換性などWSL2から改善された要素は多いですが、ファイルの保存方法やネットワーク周りの差異などからWSL1の利用が推奨されるケースもあるようです。
https://learn.microsoft.com/ja-jp/windows/wsl/compare-versions
私のように単にコードを書くのが目的ならWSL2で良いはずです。なんといってもGUIアプリをネイティブで動作させれられるというメリットがあります。この機能は以前までWin11のみ対応していましたが、Microsoft Store版が正式リリースとなった段階でWin10でも利用可能になりました。
あまり詳しくないですが2からDocker環境の構築も簡単になったそうです。
今まではWSL上のLinuxにXクライアントを用意してWin側からリモートデスクトップで接続したりVcXsrvを使ってWinのデスクトップ上にアプリを表示できるようにするといったような設定が必要でした。当時無知だった私にとってはいささか面倒な手段でしたが、これからは単にアプリを起動するだけで良いというのですから、全く便利な世の中だなと思います。
WSLとvscodeを組み合わせるのがスタンダードな雰囲気がありますが、例えば私の推しエディタのSpacemacsだったりもそのまま動かせるというわけです。なんてすばらしい。
余談ですが、最近日本向けにもWindows Subsystem for Androidが公開されました。
iPhone・iPadのアプリがネイティブで動作するというのをアピールしていた記憶のあるM1 Macでは対応アプリが増える気配がなくて個人的に悲しい思いをしたものですが、タッチ操作を前提としていないMacOSに対してWindows11はかなりタブレットフレンドリーなので少し期待しています。WindowsタブレットがAndroidタブレットやChromebookと競合する未来が見えますが...これは歴史の闇に消えたWindows Phoneが復活する予兆なのかもしれません。