Ghosttyに関する面白い事実
Olivia Novak
Dev Intern · Leapcell

クリスマス休暇中、ミッチェル・ハシモトはGhosttyをリリースしました。
リリースされると、Ghosttyはすぐに注目を集めました。それはミッチェル・ハシモトという人物(HashiCorpの創業者)だけでなく、停滞していたターミナルエミュレーターの世界を刺激するGhostty自体の品質も理由でした。
「Build in Public」の代表的な例として、ミッチェルは最近、Changelogポッドキャストの100分のエピソードに出演し、Ghosttyプロジェクトの誕生、目標、開発プロセスなど、多くの興味深い話を共有しました。
ポッドキャストから得られたGhosttyに関するいくつかの面白い事実を紹介します。
Ghosttyの起源
HashiCorpの創業者であるミッチェルは、2023年に同社を退職するまでサーバーサイドの開発に携わっていました。
彼は常にコーディングを愛しており、HashiCorpを退職後、以前の仕事とは異なる新しいことに挑戦したいと考えていました。彼にとってそれは「非インフラ」、「非サーバーサイド」、「デスクトップソフトウェア」に取り組むことを意味し、それがGhosttyの作成につながりました。
terminal.appが既にあるのに、なぜGhosttyを構築するのか?
ターミナルの可能性はまだ十分に探求されておらず、市場にはターミナルエミュレーターがわずかしかありません。それに対し、ブラウザは何百もあり(そしてその数は増え続けています!)。
ミッチェルは、あらゆる面で優れたターミナルを作成したいと考えました。
Ghosttyの主な機能
- 高速
- クロスプラットフォーム
- ネイティブ
高速なターミナルとは?
- ファイル読み込み速度:ターミナルがファイルをどれだけ速く読み込めるか?
- 入力遅延:キーを押してから文字がターミナルに表示されるまでの時間?
- レンダリング速度:大きなファイルをスクロールするときのフレームレートは?
なぜGhosttyは高速なのか?
Ghosttyはネイティブアプリケーションとして開発されており、プラットフォームごとに固有の最適化が行われ、命令レベルのアーキテクチャまで踏み込んでいます。
たとえば、Apple Siliconでは独自のARM命令を使用し、IntelではSIMD命令を使用します。
レンダリングには、macOSではMetalフレームワーク、LinuxではOpenGLを使用します。
ターミナルの未来を想像する
ターミナルの機能を拡張できますか?
HTMLファイルやPDFファイルをターミナル内で直接開くことは可能ですか?なぜターミナル環境から離れる必要があるのでしょうか?
Ghosttyの目標は?
影響力。
ターミナルの改善に誰も焦点を当てていないため、Ghosttyはこの役割を担い、何らかの形でエコシステム全体に影響を与え、持続可能なコミュニティを育成することができます。
libghostty
が重要なのはこのためです。ミッチェルはGhosttyが唯一のターミナルプログラムになることを望んでいません。将来的には、iOS、Android、またはその他のプラットフォーム向けであっても、誰でもコアを再発明することなく、独自のターミナルプログラムを開発できるはずです。
なぜもっと早く一般公開しなかったのか?
ミッチェルは、当時生後数ヶ月だった幼い娘ともっと時間を過ごしたかったのです。
彼は娘が眠っているときにだけ、時間を割いてコードを書くことができました。
なぜGhosttyにZigを選んだのか?
Zigは、作業するのが楽しいから選ばれました。Rustも優れた言語ですが、それほど楽しいものではありません。
GhosttyはZigにどのように影響を与えているか?
- ZigチームはGhosttyを使用して、Zigのイテレーションがコンパイラの安定性に影響を与えるかどうかをコンパイルしてテストしました。
- パッケージマネージャー機能は、ミッチェルがアンドリューに提案したもので、LinuxでのGhosttyの配布を容易にしました。
Ghosttyの開発で最も困難だった部分は?
フォント。
開発時間の約70%がフォントのレンダリングに費やされました。
残りの30%は、ターミナルエミュレーターの構築と、満足のいくデフォルトフォントの選択に費やされました。
Ghosttyの際立った点は?
「Appleが出荷したRetinaスクリーンのように、使ってみるまでどれだけ優れているかに気づかないようなものです。」 -- ミッチェル・ハシモト
結局
ポッドキャスト全体を聞くと、ミッチェルがいかに情熱的であるか、そして限界を押し広げようとする彼の継続的な意欲が明確にわかります。ターミナルはなぜそのようになっている必要があるのか?なぜもっと良くならないのか?
最後に、ミッチェル、ありがとう!
Ghosttyでローカル開発が完了したら、Leapcellを使用してプロジェクトをクラウドにデプロイしてみませんか?
Leapcellは、Webホスティング、非同期タスク、およびRedis向けの次世代サーバーレスプラットフォームです。
- 多言語サポート
- JavaScript、Python、Go、またはRustで開発します。
- 無制限のプロジェクトを無料でデプロイ
- 使用量に対してのみ支払い—リクエストも料金もありません。
- 比類のないコスト効率
- アイドル料金なしの従量課金制。
- 例:25ドルで、平均応答時間60ミリ秒で694万リクエストをサポートします。
- 効率化された開発者エクスペリエンス
- 簡単なセットアップのための直感的なUI。
- 完全に自動化されたCI / CDパイプラインとGitOps統合。
- 実用的な洞察のためのリアルタイムのメトリックとロギング。
- 容易なスケーラビリティと高パフォーマンス
- 高い同時実行性を容易に処理するための自動スケーリング。
- 運用上のオーバーヘッドはゼロ—構築に集中するだけです。
詳細については、ドキュメント!をご覧ください。
Xでフォローしてください:@LeapcellHQ