Windowsでもいい感じの開発環境

@euledge

静岡県西部でソフトウェアエンジニアやってます。 
IT系Podcastのヘビーリスナー 
主に仕事で使ってる言語はJava(SpringBoot) Javascript(Vue.js) 
あとは現場に開発ツールの導入支援してます。
経験言語はRuby,PHP,C++,C# 最近Rustもはじめました


開発に必要なツールというとまずは良いターミナルが欲しいですよね。

Windowsのシェルというと今まではこんな感じのしょぼいやつしかなかった。


WindowsTerminal(Preview 0.8)


最近、WindowsTerminalっていうのが出ました。
  • タブ切り替えのWindow
  • 一つのタブ内でtmuxみたいに分割
  • 好みのテーマカラーにできる
  • フォントもテーマもターミナル毎に好きなものを設定できる
  • コマンドのショートカット設定できる
普段、基本開くのはWindowsTerminalにしてます。
でもまだプレビュー版なのでまだまだなところはあります。
次期WindowsUpdate(20H1 2004)には正式リリース予定

WSL2 (Windows Subsystem Linux)


Windows10が開発用PCとして使えるための本命機能がWSL

こんなLinuxが仮想環境じゃなくて使える。
  • インストールは WindowsStoreでインストールするだけ、
  • もちろん、複数のディストリビューションもインストール可能(ubuntu18.0とcentos7 とか)
  • 動くのは本番環境のLinuxと同じ環境なのでもうWindowsに言語開発環境(PHP,Ruby)入れなくてもいい。
  • WindowTerminalはWSLサポートなのでWindowsTerminalから簡単に開ける

  • WSL1はWindowsでネイティブに実行される。実装されたシステムコールのみが動作するため、Goデバッガなど実装されていないシステムコールを利用するソフトウェアを使おうとすると問題が発生する。一方、WSL 2はLinuxカーネルを備えた軽量な仮想マシンであり、Linuxのすべてのシステムコールを利用できる

  • WSL2は仮想マシンを使っているものの、仮想マシンを使う場合に発生する起動の遅さやWindowsから隔離された環境といった体験をすることはない。WSL 2はWSL 1のようにWindowsにシームレスに統合されている。高速な起動時間を実現しており、消費するリソースも少ない。仮想マシンを管理する必要もない。

  • WSL2はI/OパフォーマンスがWSL 1よりも向上している。WSL 1と比較してWSL 2のI/Oパフォーマンスは最大で20倍高速になる。モジュールのインストールは高速化されており、リポジトリのクローンも高速に動作する