Feel Physics Backyard

HoloLensの出張授業をする会社で、教材を開発しています

MacからWindowsに移って3ヶ月経った Windows OSとmacOS、Visual StudioとXcodeの違い

f:id:weed_7777:20170723134428j:plain

Mac5年使ってきたのですが、今年の5月からWindowsに乗り換えました。3ヶ月使ってみました。そのあいだにわかった違い感想を書こうと思います。

先に結論を書いておくと、「最近のAppleイマイチだなー」と思いながらMacを使っている方は、現時点では「そのままMacを使うのが無難だと思います」です。

追記:私はWindows OSMicrosoftも好きです。特に最近のチャレンジングな姿勢が大好きです

追記2:本記事はGoogleニュースにとりあげてもらい、たくさんの方々に読んでいただきました。ありがとうございます。

追記3:Microsoftの強みはOSよりもOfficeVisual Studioにあるのではないかと最近は思っています。

  1. そもそもなぜWindowsに移ったのか
    1. アプリ開発が大変
    2. 最近のAppleのハードや機能はワクワクしない
    3. そこへ来てMicrosoft HoloLens登場
    4. MacBook Pro沈黙
  2. Windowの感想
    1. Windows OSちゃちい
    2. Windows OS放任主義
    3. Windows強み
    4. Gitがあやしい
    5. キー操作
    6. 付属アプリなど
  3. Visual Studioの感想
    1. 日本語で教えてくれる
    2. ライブラリのコード補完を全部やってくれる
    3. 変数名の変更などはとても直感的にできる
  4. 結論
  5. 付録
    1. Windows10設定メモ
      1. 画面解像度の変更
      2. 指紋の登録
      3. 設定の同期
      4. Cortanaの無効化
      5. カバーを閉じたときにスリープするか
      6. ログインをローカルアカウントに切り替える
      7. スタートメニューによく使うアプリを登録する
      8. タスクトレイに表示するアイコンを取捨選択する(電池以外を非表示にする)
      9. 通知を取捨選択する(OneDriveからの通知を切る)
      10. クイックアクションを取捨選択する(タブレットモードと位置情報を切る)
      11. ドライバをインストールする
      12. マウスとタッチパッドを設定する
      13. クリップボードの履歴を取るようにする
      14. マルチクリップボードを起動時に自動起動する
      15. OS起動時にSteamとEvernote Clipperがバックグラウンドで起動するのを無効化する
      16. イミクルとメールの通知をオフにする
      17. エクスプローラのクイックアクセスを全部削除する
      18. Google Chromeを既定のブラウザにする
      19. Facebookメッセンジャー
      20. スタートメニューを編集する
      21. Sublime Text 2のセットアップ
      22. Javaをインストール
      23. 通知の表示時間を長くする
      24. イヤホンと本体スピーカー使用時の音のボリュームを設定する
      25. ATOKでMacのように日本語変換する
      26. WindowsでCapsキーをCtrlキーにする
      27. スリープだと電池を食うので休止状態に変える
      28. 動画のデフォルトプレイヤーをVLCにする
      29. ときどきスタート画面におすすめが表示されるのをやめる
      30. タスクトレイにどんどん入ってくる常駐アプリをオフにする
    2. Windows10使い方メモ
      1. タスクマネージャーに表示されていないアプリを終了するには
      2. ウィンドウの大きさを変えるには
      3. 通知にフォーカスする(便利)
      4. 前後の仮想デスクトップに移動できるウィンドウ一覧を表示する
      5. ストレージのレポートを見たり自動保存場所を変更する
      6. 既定のアプリを変更する
      7. ファイル履歴を保存する
      8. 画面キャプチャー、画面録画
      9. アプリを終了する

そもそもなぜWindowsに移ったのか

アプリ開発が大変

私はずっとiOSのアプリを作ってきたのですが、バージョンが上がるごとに仕様がガラッと変わるのにウンザリしていました。

ハッキリ言ってAppleユーザーのことしか考えていおらず、開発者のことはぜんぜん気にかけていないと思います(これはまあこれで方向性としてはありだし、だからこそ良いブランドイメージを築くことができたのだと思います)。

しかも苦労してアプリ作ってもほとんどダウンロードされないし(これは私が悪い)。

最近のAppleのハードや機能はワクワクしない

3D Touch?Touch Bar?Live フォト?Air PodsMacにSiri?Apple TV?Apple Watchはいつ丸くなるの?おっとHome Podもありましたね。いやー、iPhone 5sTouch IDは素晴らしかったんですけどね。あとiPad ProApple Pencilもいいですね…充電方法以外は。

APPLE AirPods  MMEF2J/A

APPLE AirPods MMEF2J/A

Apple iPad Pro 10.5インチ Wi-Fi 256GB MPF02J/A [シルバー]

Apple iPad Pro 10.5インチ Wi-Fi 256GB MPF02J/A [シルバー]

Apple Pencil MK0C2J/A

Apple Pencil MK0C2J/A

それに最近は、魅力的なマシンApple以外からも出てくるようになりました。MicrosoftSurface ProとかSurface StudioLenovoCarbon X1Dell XPS富士通UH75/B1。どれも魅力的な端末です。

でもMacBookUSBバッテリーから充電できるのは地味ですが素晴らしいことだと思います。MacBook Pro軽くなりましたしね

そこへ来てMicrosoft HoloLens登場

私は教育分野のアプリを作っているのですが、HoloLensは、体験者の視野を他の全員がプロジェクターで見て共有できるんですよね。これは戦慄しました。しかも目に見えない「場」を可視化できます。「これは俺がやらなければならない!」と背筋を稲妻が走りました。

MacBook Pro沈黙

それでもMacにParallesを入れてHoloLens開発をしていたのですが、4月末にMacBook Pro椅子から落ちて起動しなくなりました。おいおい、どんだけ脆弱なんだ…削り出しアルミボディはハリボテか?参りました。

アップルストアに持って行くとボード交換で5万円かかると言われました。2013年モデルを使っていたので買い換えも検討したのですがMacBook Pro 2016はバッテリーが大不評(ちなみに2017でだいぶ改善されたそうです)。買いたくない。さあ、どうするか。

かなり悩んだ結果、一か八か、Windowsノートを買いました。

Windowの感想

ここではマシンの感想は書かず(別記事にまとめています)、

www.weed.nagoya

Windows OSVisual Studioを使ってみてmacOSXcodeとの違いや感想を述べたいと思います。

ちなみに別記事ではWindowsアプリ便利な使い方などを紹介しています。そちらに比べると、こちらの記事はややWindows否定的です。あらかじめご了承下さい。

まずはWindows OSについてです。

Windows OSちゃちい

まず基本的なこととしてWindows OSmacOSに比べてちゃちいです。アプリの起動は遅いし、設定は整理されてなくて分かりにくい。

Macは、高圧的にアプリをいろんな制約で縛ってトータルなユーザー体験をOSとして向上させようとしていますが、Windows OSにはそういう思想はありません。代わりに開発を極限まで手軽にすれば優れたアプリが出てくるという思想です。また、Windows OSと比べると、MacにはOSの安定感、安心感がある(カーネルファイルシステムがしっかりしている)と思います。

Windows OS放任主義

アプリを入れているとファイルの関連付けなどがグチャグチャになりますし、動画のフォーマットもどんだけあるんだ、という感じです。しかもアプリをインストールすると次々に勝手に常駐するようになり、それをオフにするのが大変です。とにかくアプリがみんな勝手なことをやって、対処に手がかかります。

さすがに最近はMicrosoftこのままじゃマズいと思って、UWP(ここではモバイルアプリという意味ではなく、OSの管理下で動くアプリという意味です)という枠組みを運用してアプリを統制しようとしていますが、その恩恵が実感できるレベルに達するまでには、まだ数年かかりそうです。

Windows強み

そんなWindowsですが、絶対的な強さを持っているのが業務ソフトゲームです。生産管理や会計などの業務ソフトはWindowsしかありえないですよね。ゲームも比較にならないほど充実していますし、Steamでとても安価に買うことができます。Xboxコントローラは刺すだけでつながります。

開発の面では、Pythonを使おうとするとWindowsを使っている人が多いようで、いろいろな関連ツールがあります。組み込み系Windowsですね。逆にRubyNodeで開発するならMacの方が良さそうです。こんな記事もあるくらいですから。

qiita.com

最終的には自分で作ったのか…

あと、Windows OSはプリンタなどのドライバMacよりも大変手厚いです。段違いに機能が多かったり、使いやすかったりします。

Gitがあやしい

Windowsで大変不便だと感じるのはGit(開発ツール)です。どうもファイルがロックされてGitがうまくいかないときがあるような気がします。Unityのプロジェクトをコミットするときは、Unityを閉じた方がうまくいく気がします(つい最近GitHub for Unityというプラグインが出ましたが、まだα版です)。

しかしですね、Gitのストレスは本来あってはならないものです。Gitは、絶対的安心をもたらすべきです。

これがうまく動かないのは…Windowsファイルシステムのかなりコアな部分に大きな負債が残っているのではないかと思います。

キー操作

Macのアプリは基本的にCocoaフレームワークを使っているのでEmacsキーバインドなどが、どのアプリでも使うことができます

これから「Home」(Fn+←)「End」(Fn+→)に慣れるのには時間がかかりそうです。テキストフィールドにテキストを打ち込むときにMacのように↑で先頭、↓で末尾に飛ばないのもイラッときます。

タブを閉じるCtrl+F4、ウィンドウを閉じるAlt+F4も、MacCmd+w,qに比べると押しにくいです。

デフォルトでは全角半角キーが使いにくくてMacから移るとすごいストレスなので、キーバインドを変更しましょう(後述)。

ちなみに顔文字を使うにはタスクトレイのタッチキーボードを使います。グラフィックがMacとくらべると圧倒的にダサいですが我慢です。

逆に、Winキー+←→ だけでスプリットスクリーンができるのは大画面ディスプレイだと大変便利で気持ちいいです。

画面動画記録も便利かもしれません([Win]+G)。ゲーム中継が主目的のようで、バックグラウンドで記録させて実況配信のようなこともOSの機能できるようです。これはMacにはまったくない機能。でも私はあまり使っていません。

キー操作ではないですが、iPhoneのイヤホンで音量をコントロールできないのは、ちょっと不便です。

付属アプリなど

2 in 1はだめ

タブレットアプリは、異常なくらい少ないです。詳しくないですが、iPad10Android3としたら0.3くらいでしょうか。とにかく何を探してもない。実は、Microsoftも2017年のBuildでモバイルはあきらめ気味であることをうかがわせてしまっています。

www.itmedia.co.jp

連絡先、カレンダー、メール

OS標準で連絡先、カレンダー、メールアプリがあり、Googleアカウントと紐付けてフロントエンドとして使うことができるのは便利です。Windows 7とはだいぶ変わりましたね。私はクラウドサービスは基本的にGoogleのものを使っているので(iCloudはほとんど使っていない)、MacGoogleクラウドサービスを使う感覚に近いです。みんなそうでしょ?

しかし、今のところ連絡先は使う機会がありません。

メールはGmailの重要非重要自動振り分けが効かないため、結局ブラウザのGmailにして、通知は切りました(Macでも同じですが)。

カレンダーだけは通知が出るのが便利です(Macも通知は出ますが)。しかし、ストアにあるカレンダーアプリがどれもしょぼいので、結局Chromeで素のGoogleカレンダーを使うことになります。

Chrome(ブラウザ)様々です。

写真、音楽、動画

他にも写真の整理・補正と音楽管理と動画再生のアプリがデフォルトで入っています。Windows OSも変わったものですね。でも写真の補正はまだ使っていません。音楽アプリはUWP版のiTunesが出るまで待とうと思っています。動画再生アプリは使いにくい上に再生できるフォーマットが少ないのでVLC Playerにしました(何十年前のアプリだよ…)。

iCloudアプリ

意外なほど使えるのがiCloudアプリです。iPhoneとの相性はバッチリです。

これを入れるとWindowsChromeに機能拡張がインストールされ、WindowsChromeiOSSafariのブックマークが同期するようになります。これは大変便利です。

iCloudフォトをオンにすると、フォトアプリにiCloudフォトライブラリの写真が全部入ってくるので、Macと同じように使えて、便利です。急いでiPhoneの写真をPCに飛ばすときはPushBulletChromeに飛ばします。

画面キャプチャ

スニッピングツールというOS付属アプリがあるのですが、遅延キャプチャができるのが便利です。ただしマークアップ機能は貧弱です。

どうしても移行できないアプリ

個人的には以下のアプリはMacを使っています:

  • 写真(フォトブック製作)
  • Keynote(マジックムーブ)
  • iMovie(ジングル)

Visual Studioの感想

次にVisual Studioの感想ですが、まだそれほど使い込んでいないため、少しだけ述べたいと思います。

日本語で教えてくれる

例えば変数定義の際にvarが付いていないと、4通りの解決手段を丁寧に日本語で教えてます。かなり初歩的なことでも教えてくれます。日本語で教えてくれるのは大変良いですね。エラーメッセージも全部日本語。素晴らしい。

Xcodeのエラーメッセージは、私は英語は多少はできるつもりなのですが、正直全然ワケわからなかったです。そのままGoogleに貼り付けて検索してStackOverflowの記事を見てようやくわかる、みたいな。

ライブラリのコード補完を全部やってくれる

Unityのコードを書いているのですが、補完を全部やってくれます。もうコーディングと言うよりはセレクティング(候補を選ぶ)です。

Xcodeでは外部ライブラリの補完はしてくれませんでしたよね

あと、VSのインターフェース補完とイベント補完にはビックリしました。Xcodeプロトコルの補完はしてくれますが、1ライン補完してくれるレベルですよね。VSブロックをまるっと補完します。これはすごいです。超ラクチン。

変数名の変更などはとても直感的にできる

Xcodeって新しいバージョンでは変数名のリファクターってできるようになったんですか?Objective-Cの頃はメソッドの抽出とかできて良かったんですけど、Swiftになってから全然できなくなったような?

結論

というわけで、WindowsMacの比較でした。

比較しておいてこんなことを言うのもどうかと思いますが、いまMacを使っている人は「Windowsに移行しようかな?」と考えている方もおられると思うのですが、当面はMac使い続けるのが無難かな、という気がします。

なぜなら、Windows OSは前述したとおりヘチョイので、自分好みの環境を作るのが大変です。Dockerfileみたいに自動化できれば話は別ですが、尊敬している大先輩に聞くと、WindowsコマンドプロンプトやPower Shellはあまり期待しない方が良いそうです。Windows OSは転換期にあります。その転換が成功したかどうかを見極めてから検討するのが良いと思います。

それに、いまMacを使っている人はそんなにゲームをしたり業務ソフトを使うことはないと思うんですよね。

というわけで、本稿の結論は「現状維持で良いと思います」です。

しかし…「VRしたい!」「MOD使いたい!」「Visual Studioで気持ちよく開発したい!(Azureとか)」なにより「HoloLens開発したい!!!」だと「それならようこそWindowsへ!」となります(笑)。

本記事が皆さまのご参考になれば幸いです。最後まで読んでいただきありがとうございました

付録

Windows10の細かい設定のしかたを備忘録として記録しました。また、忘れそうだけど便利そうな機能についてもメモしました。ご参考になれば幸いです。

Windows10設定メモ

画面解像度の変更

設定→システム→ディスプレイ

指紋の登録

設定→アカウント→サインインオプション

設定の同期

設定→アカウント→設定の同期

Cortanaの無効化

設定→検索欄に「Cor」と入力→すべて無効にする

カバーを閉じたときにスリープするか

コントロールパネル→ハードウェアとサウンド→電源オプション→カバーを閉じたときの動作

ログインをローカルアカウントに切り替える

設定→アカウント→ローカルアカウントでのログインに切り替える

スタートメニューによく使うアプリを登録する

スタートメニュー→アプリを右クリック→スタート画面にピン留めする

タスクトレイに表示するアイコンを取捨選択する(電池以外を非表示にする)

設定→個人用設定→タスクバー→表示するアイコンを選択してください

通知を取捨選択する(OneDriveからの通知を切る)

設定→システム→通知とアクション

クイックアクションを取捨選択する(タブレットモードと位置情報を切る)

設定→システム→通知とアクション

クリップボードの履歴を取るようにする

クリップボード履歴&定型文ツール「Clipboard History

マルチクリップボードを起動時に自動起動する

pc-karuma.net

OS起動時にSteamとEvernote Clipperがバックグラウンドで起動するのを無効化する

タスクマネージャー→詳細→スタートアップ→Steam→無効

イミクルとメールの通知をオフにする

設定→システム→通知とアクション→イミクルとメールをオフにする

エクスプローラのクイックアクセスを全部削除する

「最近使ったフォルダ」だけ残る

Google Chromeを既定のブラウザにする

detail.chiebukuro.yahoo.co.jp

Facebookメッセンジャー

通知だけ使っています。メッセージを見るときはブラウザで見ます。

messengerfordesktop.com

スタートメニューを編集する

「ファイル名を指定して実行」→「shell:startup」

いつの間にか入ってくるアプリは消しておく

Sublime Text 2のセットアップ

lab.sonicmoov.com

「ConvertToUTF8」も導入。あとなんとかIME

Javaをインストー

コントロールパネル→システムとセキュリティ→ユーザーアカウント制御設定の変更→一番下にする

右クリックして「管理者として実行」

通知の表示時間を長くする

設定→簡単操作→その他のオプション→通知を表示する長さ

イヤホンと本体スピーカー使用時の音のボリュームを設定する

タスクトレイの「Realtek HD オーディオ」を右クリックし、「サウンドマネージャ」

ATOKMacのように日本語変換する

右クリックでATOKメニュー→プロパティ→キー・ローマ字・色→キーカスタマイズ→キー

→無変換→

文字未入力:日本語入力OFF、入力中:日本語入力OFF

→変換→

文字未入力:日本語入力ON、入力中:日本語入力ON/OFF

WindowsでCapsキーをCtrlキーにする

technet.microsoft.com

スリープだと電池を食うので休止状態に変える

設定→システム→電源とスリープ→電源の追加設定→電源ボタンの動作設定→「スリープ」を「休止状態」

動画のデフォルトプレイヤーをVLCにする

設定→システム→既定のアプリ→アプリによって既定値を変える→「VLC Media Player」→すべての項目に対し、既定のプログラムとして設定する

ときどきスタート画面におすすめが表示されるのをやめる

設定→個人用設定→スタート→ときどきスタート画面におすすめを表示する→オフ

タスクトレイにどんどん入ってくる常駐アプリをオフにする

設定→個人用設定→タスクバーに表示するアプリを選択して下さい

Windows10使い方メモ

タスクマネージャーに表示されていないアプリを終了するには

タスクマネージャー→詳細(マウスが使えないときはAlt+DでDetailに移る)

ウィンドウの大きさを変えるには

Winキー+↑↓←→

通知にフォーカスする(便利)

Windows]+[V]キー

前後の仮想デスクトップに移動できるウィンドウ一覧を表示する

この画面でウィンドウを右下の「新しいデスクトップ」にドラッグすると新しいデスクトップが作られる。また、この画面で仮想デスクトップにカーソルを乗せると×アイコンが表示されて仮想デスクトップを閉じることができる。

Windows]+[Tab]

ストレージのレポートを見たり自動保存場所を変更する

設定→システム→ストレージ(→ドライブ→カテゴリー)

既定のアプリを変更する

設定→システム→既定のアプリ(変わらないときはさらに→アプリによって既定値を変える→アプリを選択→すべての項目に対し、既定のプログラムとして設定する)

ファイル履歴を保存する

コントロールパネル→ファイル履歴でファイルのバックアップを保存

画面キャプチャー、画面録画

スタート→Windowsアクセサリ→Snipping Tool

画面録画はWinキー+G

アプリを終了する

[Alt] + [F4]

[Alt] → [上カーソル] → [上カーソル] → [Enter]

[Alt] + [space] → [c]