データベースツールを開くと、アクティビティモニタにはファイルを1つも読み込んでいないのに400MBものRAMを消費していることが表示されます。大きなテーブルをスクロールするとインターフェースがカクつき、キーボードショートカットは他のMacアプリと一致しません。これは、SQLiteエディタが実はデスクトップアプリのふりをしたウェブブラウザである場合に起こることです。
Electronの問題
Electronアプリは、インターフェースを描画するためにChromiumブラウザ丸ごとをバンドルしています。データベースエディタ——主にテキストのテーブルを表示するだけのアプリ——にとって、これは過剰なオーバーヘッドです。起動が遅く、メモリ使用量が多く、インターフェースはmacOS上でどこかしっくりきません。ファイルダイアログの見た目も違いますし、テキストの描画も微妙にずれています。Finderの「このアプリケーションで開く」メニューにも正しく表示されません。
Electronを選ぶ開発者もいます。1つのコードベースからMac、Windows、Linux向けにリリースできるからです。それはビジネス判断としては合理的ですが、データベースを開くたびにパフォーマンスの代償を払うのはあなた自身です。
Tome:ウェブブラウザではなくAppKitで構築
Tomeは、SwiftとAppKitで構築されたネイティブなmacOSアプリケーションです。Finder、Xcode、その他Apple純正のアプリと同じフレームワークを使用しています。その結果、1秒足らずで起動し、数万行をスムーズにスクロールでき、Electronアプリが必要とするメモリのごく一部しか使わないSQLiteエディタが実現しています。
本物のmacOS連携
Tomeは.db、.sqlite、.sqlite3ファイルのハンドラとして登録されます。Finderでデータベースをダブルクリックすれば直接開きます。ファイルをDockアイコンにドラッグすることもできます。macOSのタブやウィンドウ管理もそのまま使えます。すべてがMacアプリに期待する通りに動作します。実際にMacアプリだからです。
SQLを書かずに編集
任意のセルをクリックすれば、その場で値を編集できます。行の挿入、削除、ビジュアルエディタによる新規テーブルの作成も可能です。SQLが必要な場合は、シンタックスハイライトとオートコンプリート付きの組み込みクエリエディタがありますが、日常的な編集ではそれに触れる必要すらありません。
設計から軽量
Tomeは一つのことを徹底的にやります。それがSQLiteです。PostgreSQL、MySQL、MongoDBに接続しようとはしません。SQLiteだけに集中することで、すべての機能が実際に扱っているフォーマットに最適化されています。