リモート開発メインのソフトウェア開発企業のエンジニアブログです

Mac から Windows に乗り換え

過去10年近く、開発環境に Mac を使っていたんですが、最近 Windows に乗り換えたので、それについて書きます。

Mac をやめた理由はキーボード

元々、Apple 信者というわけでも無く、Windows を使っている期間が長かったんですが、2011年頃(?)に MacBook Pro を買って以来、2013年、2017年にMBP を買い換えて、10年弱 MBP ユーザーでした。

その間、大きな不満は無かったんですが、2017年モデルは悪評高いバタフライキーボードのやつで、1年過ぎくらいでキーボードがおかしくなりました。一度修理したんですが、1〜2ヶ月くらい前からまたキーボードがおかしくなって、また修理が必要になりました。

上述の通り、元々 Apple 信者ではないので、せっかくの機会だし最近の Windows を見てみたいという気持ちが出てきて、Windows に乗り換えることにしました。

久しぶりに Windows を使ってみて

見栄えが良くなった

久しぶりに Windows を使ってみて思ったのが、見栄えが随分良くなったなーということです。以前は Mac と比べるとフォントやウィンドウなどがしょぼく見えたんですが、最近の Windowsは、私のようなあまりこだわりの無い人にとっては、そこまで大きな違いはないように思えました。

操作などで戸惑った点・違いを感じた点

Windows と Mac では、似ている点も沢山ありますが、異なる点も沢山あります。ここでは、操作面で戸惑った点・違いを感じた点をいくつか挙げていきます。

  1. Mac の Finder では、ファイルを選択してスペースを押すとプレビューが表示されるのが便利
  2. Mac では、デフォルトで Emacs 風キーバインディングが使えて便利
  3. タッチパッドの操作感は、MBP が上
  4. Mac は Finder がタブ表示できるのが便利
  5. Alt + Tab vs. Cmd + Tab の挙動は、Windows の方が好み

1ですが、Windows でも QuickLook というソフトを入れることでほぼ解決しました。

QuickLook を入手 – Microsoft Store ja-JP

2は、Windows でも色々ソフトがあるようですが、他のキー操作と競合したりしそうなので、まだ入れるのに躊躇しています。何か入れたら、追記します。

3は Windows の問題なのか、買った Dell の PC のせいかは分かりませんが、圧倒的に MBP の方が良いです。これが、Windows で今のところ一番の不満点です。

4は、2と同様に Windows で同様のことを実現するソフトが色々あるようです。

5は Windows の方が便利だと感じています。(Windows -> Mac に移行した時からそう思っていました。)

Mac の場合、Cmd + Tab で切り替わるのはアプリケーション単位なので、同じアプリケーション間の複数のウィンドウを切り替えるのには、違うキーが必要だったり、そもそもショートカットが無かったりします。

また、Mac では複数のデスクトップがあった場合に、Cmd + Tab で、現在のデスクトップ以外のアプリも切り替え対象として出てきますが、プロジェクト毎にデスクトップを使い分けてる時など、Cmd + Tab で他のデスクトップのアプリが出てくるのは鬱陶しいだけです。

Windows では、ブラウザのウィンドウを複数立ち上げ、各デスクトップに1つずつ配置したとしても、Alt + Tab で他のデスクトップのウィンドウは表示されないので便利です。

開発環境

ソフトウェア開発者にとっては、開発環境が一番気になるところかと思います。Windows で開発を行う場合に、ツールやサーバーの実行方法としては大雑把には以下のような選択肢があります。

  • Windows ネイティブアプリを使う
  • Windows Subsystem for Linux (以下、WSL)内で Linux のコマンドを使う
  • cygwin で、UNIX 系のコマンドを使う
  • MSYS で、UNIX 系のコマンドを使う
  • VirtualBox 等の VM 内でコマンドを実行する
  • Docker コンテナ内でコマンドを実行する
  • (ローカルで実行せずに)クラウドを使用する

詳細は別のエントリーにしようと思いますが、私は、主に以下の方針で環境を構築しました。

  • Windows 上で安定して動くツール類は、Windows ネイティブアプリを使用
  • UNIX 系のツール類は、WSL をメインで使う
    • git, Vagrant, docker-compose など
    • emacs は MSYS の pacman でインストールした
  • Docker は、Windows 上にインストールし、WSL から使用
    • docker-compose も WSL 上で実行

色んな環境(Windows ネイティブ、WSL、MSYS)を混在させなければいけないところが、Mac に比べて弱いところかなと思いました。

まとめ

最近の Windows は見栄えも綺麗です。操作面で Mac と違う部分も多々あり戸惑うこともありますが、サードパーティーのツールなどである程度補完できます。

開発環境に関しては、Windows に対応していないツール・プログラムが割とありますので、WSL や MSYS を上手く併用すると良さそうです。

次回は、Windows 上での開発環境について書きます。

← 前の投稿

Google Wifiを1ヶ月使ってやめた話と乗り換え先

次の投稿 →

(Scala) List[Option[A]]#flattenで起きる事

コメントを残す