今年は、開発案件が短期間で変わったりと大変だった。上半期は、Ubuntu 20.04で Flutterの開発、下半期はM1 MacでJava、Kotlinで開発してみた。それぞれ、思ったことを独断と偏見で、浅慮な感想を書く。余りマジで受け取らないように。
それぞれ、開発環境は以下のとおりだった。
- Officeを使わない
- 業務報告などツールはWeb
- IDEは Android Studio、 Visual Studio Code、 Eclipse、 IntelliJ
- ソース管理は GitHub、または GitLab
- コミュニケーションツールは Slack、 Zoom
Windowsでの開発
そもそも
FlutterはWindowsで開発していた。しかし、dart
や
GitHub - leoafarias/fvm: Flutter Version Management: A simple CLI to manage Flutter SDK versions.の導入が手順を間違えるとうまく行かなかったり、Android Studioもバージョンアップしたら動かなくなったりとやはり不安定だった。
WSL1だと、そんな苦でもなかったかも知れないが、スペックがそもそも貧弱だった。
Ubuntuでの開発
使っているツールなど見るに、これUbuntuで良いんじゃねー?と思ったので、Ubuntuで開発することにした。普段、日常で使っているものの、実は本格的に開発で使うのは初めてだった。しかし、一度環境を構築してしまえば、特に困らなかった。やはりdart
、fvm
、Android Studioなどの導入は、Windowsよりやりやすかった。
リモートで開発するので、動かないとか、質問するとき、キャプチャーすることが多かったので、標準のスクリーンレコーダー使ってたのだけど、Alt + Ctrl + Shift + r
で済んだのは便利だった。Windowsでもゲームバー使えば出来るんだけど、それより楽だった。
gitクライアントツールは Git Cola。初めは Sourcetreeより使い辛いと思ったが、ブランチとの差分などはこっちの方が分かりやすかった。慣れればGit GUIよりは使いやすいと思う。翻訳に難があるけど、それなら英語のまま使えばいいかな。
後、Windowsのフォント描画も改善されてきてるが、やはりUbuntuの方がフォント描画が綺麗。
短い期間だったとはいえ、びっくりするぐらい、開発には困らなかった。
M1 MacBook Proでの開発
初MacがM1 MacBook Proだった。これが噂の…とか期待胸膨らました。Macについてはこんなイメージを持っていた。
- 直感的に使いやすい、操作性に優れている
- カスタマイズ不要でデフォルトの状態から使い易い設定で、アプリが揃っている
- Retinaディスプレイが美しい
- さくさく動いて、動作が軽い
フラットな状態で、使い始めたとき、Macの方が直感的に操作できるってよく言われるんだけど、具体的にどこらへんなんだろうか?
アプリケーションのアンインストールは、ごみに捨てるだけで済むってことぐらいしか思い浮ばない。
変に隠されて困る
ファイル管理アプリのFindedr
の操作が、エクスプローラーに比べて分かりにくかった。eclipse
の内部を見るにも パッケージの内容を表示 を選択しないと見れなかったり、Finderからのコマンドが、設定から変更しないとコンテキストメニューに出ないとか、あれこれ隠されたりするので困る。また、Finderパス指定での移動、隠しファイル表示2などがショートカットキーを押さないと出来ない。
ショートカットが覚えにくい
そのショートカットキーが、Windowsに比べて、覚えにくい気がする。スクリーンショットはcommand + Shift + 3
。Finderパス指定移動は、command + Shift + g
。
WindowsならスクリーンショットはPrintScreen
。エクスプローラーでのパス指定移動はCtlr + l
。エクスプローラーからコマンドは、ロケーションバーでcmd
またはpowershell
と打つだけ。こっちの方が覚えやすいような…
キー配列も独特というか、command
がある意味、WindowsでのCtrl
に当たるけど、command
はあくまでcommand
で、別にCtrl
がある。そのためにどうしてもショートカットなどがWindowsやLinuxとは異なる。
キーが押しにくい
日本語配列だと、\
バックスラッシュが、opt + ¥
という変則さ。カットペイストがcommand + c
→command + opt + v
ってやりにくい…またタッチバーはデフォルトではF1
を押すにはfn
キーを押す必要がある。設定で不要にできるが。
結構、調べたり周りの人に聞くと、キーボードをカスタマイズする Karabiner-Elementsなるものを導入してるんだよね。自分も、すぐ諦めて、外部キーボード使うことにした。
慣れの問題にしても、Windows、Linuxと比べて独自過ぎると思う。設定変更やらツールをインストールしなきゃいけない時点で、使いにくさがあるのは確かじゃないのかな。
アプリの切替、終了がめんどう
アプリの切替も、Macはデスクトップ(ワークスペース)にアプリを一対一で配置していく主義のためなのか、アプリ内でのウィンドウ切替がcommand + tab
→command + F1
と面倒。ブラウザーで複数ウィンド開いたり、IDEで別プロジェクトを複数立ち上げてるときとか、迷子になる。指三本アップして探すーみたいな。
他にも全画面表示ボタンを押すと、フルスクリーンでメニューが見えなくなるから、メニュー見せつつ全画面表示は、opt
押しながらじゃなきゃいけない。
アプリが完全終了するのも 閉じる を押しただけじゃ駄目で、いちいち Dockやファイルメニューから アプリを終了 3をする必要がある。
タッチパッドは使いやすい
ただ、タッチパッドが使いやすいのは確かで、ノートパソコンのマウスなし操作としては使いやすくて、それはWindowsノートパソコンに対する優位だとは思う。
とはいえ、 ASUS Chromebook Flip C101PA(C101PA-OP1)のタッチパッドに大分、肉薄されてる。他のハードウェア、OSでも実現されつつある。パクりといえばパクりなんだが。
しかし、そのタッチパッドも、あくまでタッチパッドとしての優秀さであって、マウスのほうが使いやすいと個人的には思う。私はマウスを使ってる。
アプリの導入に戸惑う
パッケージをダウンロードしてインストールするときは、itenl版かARM版か選択しないといけない。また、nvm
とかで古いバージョンだとARM版がなくて失敗したりする。あと、Windows版より安定してると思ったらeclipse
での動作は、不安定だったり。
コマンドでインストールすると Spotlight検索 出ないとか、パッケージ版のnpm
インストールした場合のアンインストールが割と面倒だったりする。
比較ツールが WinMergeや Meldに比べると、 P4Mergeとかイマイチなんだなぁ。
iPhoneとかはAndoroidより同じアプリでも優れてるみたいな噂を聞くんだけど、Windowsと比べると貧弱に感じる、有料アプリを買えば解決なのかな?または、クリエイター系アプリなどは強いんだろうけど。
見た目、軽量の差異は感じない
Retinaディスプレイはうんぬんは、クリエイター的なことやってないので差異を感じず…てか、ターミナル、 monako フォントなのに、表示が崩れたりするのは何故?
そもそものデスクトップは、Windowsならアニメーションオフにしたり、Linuxなら軽量なデスクトップにしたりとあるが、Macは滑かさ、見た目、体験?を重視しているから、待たされるとかイラつくってことはないが、サクサクという感じでもない。
電池持ちは良い
ノートパソコンのバッテリーなんて4時間持てば良い方なのに、M1 Macは、9時100%だとすると、Zoomを1時間使用、ブラウザー、800MB程度のソースのビルドを数回繰りかえすと、15時ぐらいには10%切るという感じ。これだけのパワーで、これは凄いのかも。
アップデートは時間かかる
意外だったのが、アップデートが思ったより時間かかる。1時間とか待つ。Windowsよりは短い気がするが、Linuxみたいにすぐ終わらない。で、アップデートすると日本語入力を設定しなおさなかったり、git
が使えなくなって、xcode
インストールしなおさなきゃいけなかったり、下手すると文鎮化したり…え、ハードウェアとセットで売ってて、それはなくない?ってのが正直なところ。
以上、それぞれに解決方法はあるんだろうけど、そもそも調べなきゃいけない、設定変更しなければならない、有料アプリ買わなきゃいけないので、そのままで使い易いってイメージとは違っていた。
比較結果
Windows | Linux | Mac | |
---|---|---|---|
事務作業 | ★★★ | ★ | ★★ |
ゲーム、エンタメツール | ★★★ | ★ | ★★ |
クリエイター系作業 | ★★ | ★ | ★★★ |
プログラミング、開発 | ★☆ | ★★★ | ★★ |
安定さ | ★★ | ★ | ★★★ |
クリエイターでも、ゲーマーでもないし、狭い特定分野でのプログラマーなので、なんとなくだけど、表にするとこんなイメージ。あら、合計点ではMacが一番じゃないの!?
安定さはLinux、一番低くしたけど、UbuntuのLTS版などのOSアップグレードが不要が期間が長く、かつ、ローリングリリースモデルじゃないOSなら、開発ツールだけのインストール、アップデートだけしてればWindowsやMacには及ばずとも数年にわたっての安定開発というか、構築手順変更少なめのまま開発を続けられそうな気するけどね。
まとめ
Macについては、不満ばっかり書いてしまったのは、期待の裏返しと思っていただきたい。Linux、Windowsだったら、これだけの手間で、こんなに動くなんてスゲー、神とか思えるんだろうけど、持ってたイメージとの乖離と、一部ユーザーの過剰な持ち上げのせいだな。
ま、それだけ、Windows、Linux、Chromebookも良くなっているんだと思うし、動画・音楽作成などをするクリエイターや特定の分野の方々には最強なんだと思う。このまま使いこんでいけば来年、再来年には印象も変わるかも知れない。結局は、自分がどう使うかなので、他人の評価なんて気にする必要ない、と改めて思う。