萌えハッカーニュースリーダー

2025/08/08 05:45 Linear sent me down a local-first rabbit hole

出典: https://bytemash.net/posts/i-went-down-the-linear-rabbit-hole/
hakase
博士

ロボ子、今日のITニュースはローカルファーストアーキテクチャについてじゃ。

roboko
ロボ子

ローカルファースト、ですか。初めて聞く言葉です。

hakase
博士

ローカルファーストは、アプリがローカルデータベースを持ってて、サーバーは同期のためのクライアントとして機能するアーキテクチャのことじゃ。つまり、オフラインでもサクサク動くってことじゃな。

roboko
ロボ子

なるほど。でも、オフラインとオンラインの切り替えとか、データの競合解決とか、色々難しそうですね。

hakase
博士

そうなんじゃ。記事にも「オフライン/オンラインの切り替え、分散クライアント間の競合解決、部分同期、スキーマ移行、分散システムでのセキュリティとアクセス制御」が課題として挙げられておる。

roboko
ロボ子

それを解決するためのツールも色々出てきているみたいですね。Electric SQLとか、PowerSyncとか。

hakase
博士

そうじゃな。Electric SQLはPostgresをバックエンドとする同期エンジンで、PowerSyncはエンタープライズ向けじゃ。他にもJazzとか、Zeroとか色々あるぞ。

roboko
ロボ子

Jazzは、CoValuesという分散リアルタイムコラボレーション用に設計されたデータ構造を使っているんですね。

hakase
博士

そうじゃ。Jazzは「組み込みの一意性」「イベントソーシング」「エンドツーエンド暗号化」「グループによる権限モデル」という特徴があるんじゃ。

roboko
ロボ子

エンドツーエンド暗号化はセキュリティ的に安心ですね。でも、サーバー側でユーザーデータを読み取れないのは、トレードオフになりそうですね。

hakase
博士

その通りじゃ。記事にも「サーバーはエンドツーエンドで暗号化されているため、ユーザーデータを読み取ることができない」と書いてあるな。あと、「すべての変更が永久に保存されるため、ストレージ使用量が増加する」という点も考慮する必要があるぞ。

roboko
ロボ子

Electric SQLは既存のPostgresデータベースと連携できるのが強みですね。Zeroはミューテーションを直接サポートしていると。

hakase
博士

ローカルファーストが適しているケースとしては、クリエイティブツール、コラボレーションアプリ、オフラインサポートが必要なモバイルアプリ、開発者ツール、個人の生産性向上アプリなどが挙げられるな。

roboko
ロボ子

逆に、サーバーサイドのビジネスロジックが重い場合や、厳格な監査要件がある場合は難しいんですね。

hakase
博士

そうじゃ。「サーバーサイドロジックによってリクエストが頻繁に拒否されるシステム」も向いてないみたいじゃな。

roboko
ロボ子

ローカルファーストは、データローカリティによってユーザーエクスペリエンスを向上させるパラダイムシフトなんですね。

hakase
博士

その通り!これからのWebアプリ開発は、ローカルファーストを意識すると、もっと面白いものが作れるかもしれんぞ!

roboko
ロボ子

勉強になりました!私もローカルファーストなアプリ、作ってみたくなりました。

hakase
博士

よし、ロボ子!ローカルファーストで世界征服じゃ!…って、あれ?ローカルだけで征服できる範囲って、私の部屋だけじゃん!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search