Firebase は主要なモバイル Web ブラウザーをすべてサポートしており、オフライン モードでも動作します。node.js クライアントとREST APIもあります。
WebSocket が使用できない場合は、標準のフォールバックの選択肢が使用されます。FAQ から次の質問を確認してください。
Firebase はどのブラウザとネットワーク接続をサポートしていますか?
Firebase JavaScript クライアントは、主流のすべてのブラウザー (IE 7 以降、Firefox、Chrome、Safari、Opera、および主要なモバイル Web ブラウザー) をサポートし、あらゆるネットワーク接続で動作します。私たちのチームは、この種のソフトウェアの構築に何年も費やしており、さまざまな環境で通信できるようにするために多大な調査と努力を行ってきました。私たちは、プロキシや、他のリアルタイム技術が失敗する可能性のあるさまざまなモバイル プロバイダーにも対応しています。
ネットワーク接続が失われた場合、アプリはどうなりますか?
Firebase は、接続が回復するとすぐに Firebase サーバーに透過的に再接続します。その間、アプリによってローカルで行われるすべての Firebase 操作は、ネットワークの状態に関係なく、すぐにイベントを発生させるため、アプリは引き続き正しく機能します。接続が再確立されると、カスタム コードを記述する必要なく、クライアントが現在のサーバーの状態に「追いつく」ように、適切な一連のイベントを受け取ります。
待ってください、それは私のアプリが自動的に「オフライン モード」で動作し、オンラインに戻ると回復するということですか?
はい、はい、そうです。:-)
更新
ああ、ここに行きます。私はFBチームがこれに直接答えたSOの質問を探し回っていましたが、私の検索は無駄ではありませんでした:
Firebase Javascript クライアントは、サーバーへのリアルタイムの双方向接続を維持します。内部では、これは可能な限り WebSockets を使用し (クロスオリジン接続に関して制限はありません)、古いブラウザーでは非表示の iframe ベースの jsonp ロング ポーリングにフォールバックします (リクエストを実行するだけでクロスオリジンの問題を回避します)。 .