Weed.nagoya - 挑戦&物欲プログラマー

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

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

f:id:weed_7777:20180514083812j:plain

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

先に結論を書いておくと、「最近のAppleイマイチだなー」と思いながらMacを使っている方は、現時点では「そのままMacを使うのが無難だと思います」です。ただ、私はWindows OSMicrosoftも好きです。特に最近のチャレンジングな姿勢が大好きです

なお、Microsoftの強みはOSよりもOfficeVisual Studioにあるのではないかと思っています。

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

アプリ開発大変

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

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

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

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

3D Touch?Touch Bar?MacにSiri?Apple TV?Apple Watchはいつ丸くなるの?おっとHome Podもありましたね。

まあでも、Live フォトは、写りの良い写真を選ぶことができるので、良い出来に仕上がったと感じます。Air Podsも評判はいいですね。iPhone Xを使っていますが、機体サイズの割に画面が広いのは良いなと感じます。

iPhone X 256GB SIMフリー シルバー

iPhone X 256GB SIMフリー シルバー

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

[asin:B079LBFL2F:detail]

[asin:B079LBFL2F:detail]

1年前とは変わり、60WのUSBバッテリーが出てきたため、MacBookでなくてもUSBバッテリーからノートPCを充電できるようになりました。

MacBook Pro沈黙

それでもMacにParallesを入れてWindowsで開発をしていたのですが、昨年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よりも大変手厚いです。段違いに機能が多かったり、使いやすかったりします。逆にMac版は毎回パスワードを入力させられたり…あまりオフィスで使用することを想定されていない気がします。

Gitがあやしい

Windowsで大変不便だと感じるのはGit(開発ツール)です。どうもファイルがロックされてGitがうまくいかないときがあるような気がします。

…と昨年書いたのですが、昨年の9月にGoogle Drive File Streamという新しいクラウドストレージサービスが出て、Gitは問題なくできるようになりました。Googleがんばった。素晴らしい。

キー操作

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も変わったものですね。写真の補正は便利です。クロップや色調補正ができるので、SNSに投稿する前などにちゃちゃっと編集することができます。音楽アプリは…iTunesを使っています。動画再生アプリは使いにくい上に再生できるフォーマットが少ないのでVLC Playerにしました(何十年前のアプリだよ…)。

iCloudアプリ

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

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

iCloudフォトをオンにすると、フォトアプリにiCloudフォトライブラリの写真が全部入ってくるので、Macと同じように使えて、便利です。私はストレージ節約のためにオフにしていますが…iPhoneの写真を取得するには、iCloud.comを使うかメールで送っています。

画面キャプチャ

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

あと、MacSkichとほぼ同じ操作でスクリーンショットを撮ることができる(Evernoteに転送はされない)MonoSnapというアプリがあります。大変重宝します。

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

毎年家族のフォトブック(イヤーブック)を作っているのですが、フォトブック(イヤーブック)作成アプリはMacの「写真」アプリがいちばん良いです(10個くらい比較しました)。

www.weed.nagoya

画面ズーム

MacではOSに搭載されている画面ズーム機能ですが、ZoomItというアプリを使えばWindowsでも画面ズームを手軽に行うことができます。

technet.microsoft.com

書式なしテキストの貼り付け

forest.watch.impress.co.jp

便利です。

Visual Studioの感想

次にVisual Studioの感想です。

日本語で教えてくれる

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

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

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

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

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]