Windowsで開発を行う時の悩みとして本番環境はLinuxで開発環境はWindowsと環境の違いによりテストがしづらかったり、微妙に挙動が違かったりします。
VMware、Virtualbox、Docker Desktopなどを使用すればLinux環境を構築できますが、Windows10にMicrosoftが搭載したWSLも便利なのでご紹介します。
WSLは「Windows Subsystem for Linux」の略で、WindowsでLinuxを利用する仕組みになります。(公式ドキュメント)
外部ソフトウェアはLinuxをカーネルやOSをそのまま実行するため起動に時間がかかり、Windows OSから独立しているのでネットワーク経由をしないとファイルなどのデータ連携ができないです。
WSLはWindows OS内で実行するアプリケーションなので起動も早くファイルなどのデータ連携がダイレクトにできるのでやり易いです。
また、Microsoftが提供しているのでWindowsとの相性が良く導入が容易なのも特徴としてあります。
最近は新バージョンのWSL 2が正式リリースされ公式から提供されています。
公式サイトの「WSL 1 と WSL 2 の比較」より、WSL 2はアーキテクチャが刷新されLinuxカーネルで動作するので完全なLinux互換の環境が利用できるようになりました。
実はWSL 1はLinuxカーネルは存在しておらず、LXCoreというシステムがLinuxカーネルをエミュレーション(模倣)しています。そのため、WSL 1はカーネルに依存したDockerなどのソフトウェアは使用ができませんでした。
WSL 2がLinuxカーネルで動作するのはすごいメリットです。
VS CodeにWSL用の拡張機能の「Remote WSL」 が提供されており、WSL 2になった事でWindowsでのシステム開発がやり易くなった感じがします。
開発する時の選択肢にどうでしょうか。