25 ポイント 投稿者 xguru 2025-01-06 | 2件のコメント | WhatsAppで共有
  • 簡単で、高速かつ安定しており、バッテリー効率にも優れたオープンなソリューション
  • Webブラウザーおよびその他のHTTPクライアントにデータ更新をプッシュ
  • 特に、Web APIを通じて提供されるリソースの非同期/リアルタイム更新を、リアクティブWebやモバイルアプリで表示するのに有用
  • 純粋なHTTPベース : HTTP/2以上のプロトコルを活用して双方向通信をサポート
  • 高速な応答時間と低レイテンシ
  • 追加インストールなしで、あらゆる環境においてブラウザー互換性を提供
  • シンプルなパブリッシュとサブスクライブ
    • パブリッシュ(Publish): 単純なPOSTリクエストで処理
    • サブスクライブ(Subscribe): Server-Sent-Events(SSE)を通じてリアルタイム更新を受信
  • 接続が切れた場合の自動再接続と、欠落したメッセージの再要求をサポート
  • RESTful APIおよびGraphQL向けに設計
  • JWT認証によるプライベートアップデートを提供
  • ユーザーの接続状態を確認できるPresence APIを提供。購読およびイベント状態の追跡が可能
  • イベントストア: 発生したイベントを保存および管理可能
  • PHPおよびその他のサーバーレスアーキテクチャと互換性あり
  • データの完全な保護のためのE2EE(End-to-End Encryption)を提供
  • 本番環境で利用可能なレベルのMercure Hubリファレンス実装を提供
    • すべてのGoアプリケーションで、ハブなしにMercureプロトコルを直接実装するために使えるライブラリと公式Dockerイメージも提供

2件のコメント

 
jhj0517 2025-01-06

SSEベースだと単方向通信なのか、それともWebSocketのように双方向通信をサポートしているのか気になりますね! 😮
ひとまず自分なりに調べた限りでは、単方向通信(サーバー→クライアント)だけをサポートしているようですが... 🥺
https://medium.com/@sirajul.anik/…

 
nemorize 2025-01-06

同じ方が作った FrankenPHP には Mercure の実装が組み込まれています。
https://ja.news.hada.io/topic?id=15103

リアルタイムハブを提供するという点では、代替になり得る Pushpin もあります。
https://ja.news.hada.io/topic?id=11377

Mercure より Pushpin のほうが直感的だったので(笑... Mercure のドキュメントを読むのがあまりにも面倒でした)、以前は Pushpin を使ってサイドプロジェクトを進めましたが、次はこの子を使ってみたいですね。