私のコンピュータには何が入っているか

私が使っているツールとアプリ。今回は Kai Brüning

Kai Brüning(ProjectWizards GmbH)

こんにちは、Kai Brüning です。ソフトウェア開発者としてProjectWizards の製品の開発に携わっています。

私が主に担当しているのは、より深い層、いわばソフトウェアの機関室にあたる部分です。たとえばMerlin Project の同期ソリューションを担当し、モデル層をよく扱っています。

  • そのための主要なツールは、もちろん Apple の統合開発環境であるXcodeです。Xcode でソースコードを編集し、内蔵のコンパイラがそれを正しくコンパイルできるまで作業を続けます。実際のプログラムコードに加えて、多くのテストコードがあり、これは Xcode によって自動的に実行され、バグを修正する際に別の場所を壊してしまわないようにしてくれます。Xcode にはデバッガも組み込まれており、コードの挙動を調べて不具合を特定できます。Xcode での作業はたいてい楽しいものですが、それでも完璧には程遠く、Apple 社内の開発者がなぜこうした問題を受け入れているのか、私たちはたびたび不思議に思います。代替手段が少ないのは、そもそも Xcode が無料だからでもあります。

  • 私たちはソースコードを Git で管理しています。Git は Linus Torvalds によるもう一つの見事な発明です。Git はコマンドライン用のツールで、グラフィカルなインターフェースとしては主にTowerを使っています。Xcode にも Git 連携機能がありますが、今のところ Tower の方が見通しがよく、機能も豊富だと感じています。

  • BBEditなしで済ませられる開発者は、ほとんどいないでしょう。ソースコードは Xcode で書いていますが、非常に大きなテキストファイルを扱う BBEdit の能力や、ファイルの比較などのために備わった多くのツールは欠かせません。

  • 私たち開発者にとって、macOS の Unix を基盤とする点は今も大きな利点です。内蔵のターミナルアプリを通じて、Unix ツールの世界全体にアクセスできます。あるいは、Tower でうっかり壊してしまったものを Git コマンドで修復することもできます。

  • 通常、開発の流れはソースコードからコンパイラとリンカを経て、単体で配布されるマシンコードへと向かいます。Hopper Disassemblerを使えば、その流れを部分的に逆向きにし、外部のコードを解析できます。これは、システムフレームワークの挙動が理解できず、Apple のドキュメントがまたしても不十分なときに、たびたび役立ってきました。

  • Parallels Desktopを使えば、テストのために古い macOS のバージョンを動かせます。あるいは Windows を動かして、MS Project がどのようにあれこれを処理しているのかを調べることもできます。VMWare が品質を落としたのを受けて、私たちは最近 VMWare から Parallels に乗り換えました。

  • DeepLの登場によって、機械翻訳は私たちにとって実用的なものになりました。私はユーザーインターフェースのテキストを翻訳するのにDeepL アプリを使っています。

  • 社内全体と同じく、私のところでもSlackが常に動いていて、社内の連絡を支えています。私たちはコロナとは関係なく分散して働いているため、Slack は給湯室の役割も果たさなければならず、それだけ重要です。

  • メール、iCal、連絡先、プレビュー、Safariといった標準アプリは、おおむね役割を果たしてくれています。これらに代わるものを調べるには、私はあまりに面倒くさがりです。ただし Safari は例外で、私は意図的に他のものを使いたくありません。自分のプライバシーを少しでも守ってくれそうだと、ある程度信頼できるのは Apple だけだからです。


このブログ記事についてご質問やご意見がございましたら、ぜひフォーラムへのご投稿をお待ちしております。

プロジェクトを計画する、 本当に機能する形で。

プロジェクト計画のためのひとつのアプリ。すべての Apple デバイスでネイティブに動作します。