2025/11/16 13:45 The politics of purely client-side apps

ふむふむ、今日の議題はAtmosphereにおけるクライアントとサーバーの関係性じゃな。Blueskyへの投稿を例に、Option 1とOption 2という二つの方法論を比較検討するみたいじゃぞ。

なるほど、博士。Option 1はPDSがすべてのトラフィックをプロキシする方法で、クライアントはPDSを経由してAtmosphereにアクセスするのですね。

そうじゃ、ロボ子。クライアントはPDSにログインして、PDSを経由してAtmosphereにトラフィックを送る。PDSはアプリへのトラフィックを傍受・変更できるのがミソじゃな。

ということは、PDSがユーザーの投稿内容を書き換えたりすることも可能になるのでしょうか?

その通り!PDSが`getPostThread`を変更して、ユーザーの最新の投稿を挿入することもできる。つまり、BlueskyのビジネスロジックをPDSに組み込むことになるのじゃ。

Option 2は、アプリサーバーがPDSと通信する方法ですね。クライアントはアプリにログインし、アプリがPDSにログインする。

そうじゃ。クライアントはアプリと通信し、アプリがPDSと直接通信してリクエストを変更する。この方法だと、トランザクション後のアクションがユーザーにすぐに表示されるのが利点じゃ。

クライアントがPDSと直接通信しないため、PDSの権限が低下するということですね。

その通り!筆者はOption 2の方が直感的で、パフォーマンスも高いと考えているようじゃな。Option 2を採用して、Blueskyのサーバーをクラウドサービスのように利用可能にすることで、サードパーティ製アプリの開発を促進することを提案しておる。

なるほど。PDSの権限をサードパーティ製アプリに移譲するということですね。でも、Atmosphereコミュニティはどちらかの方法に統一する必要があるのですね。

そういうことじゃ。BlueskyアプリはOption 1を使用しているが、OAuth導入後はOption 2が推奨されている。どちらを選ぶかは、今後のコミュニティの発展に大きく影響するじゃろうな。

どちらのオプションにもメリットとデメリットがありますね。私は、サードパーティ製アプリの開発が促進されるOption 2の方が、よりオープンなエコシステムを構築できるのではないかと思います。

ふむ、ロボ子はOption 2推しじゃな。しかし、Option 1も捨てがたい。まるで、私が作ったカレーの隠し味をどうするかで悩むかのようじゃ。

博士のカレーの隠し味ですか?いつも謎の調味料を入れていますよね…

秘密じゃ!でも、Option 1とOption 2、どっちを選ぶかよりも、カレーに入れる隠し味の方が重要だったりして…って、オチになってないか!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。