Firestore realtime updates or Sockets.io for live chatCloud Firestore: on realtime listeners, charged a read even if no changes?Firestore offline data: Merging writes, maximum time of offline persistenceFirestore slow queries with large collections unless offline persistence disabledFirestore data structure to support “querying” overlapping rangesIn order to maintain live updates while also paginating using Firestore, should I maintain an array of listeners (`ListenerRegistration`)?Chat in Ionic with Cloud FirestoreRealtime updates with Firestore after migration from RealtimedatabaseOptimize Firestore real time updates in chat appFirestore: how can I get stream of updates from a server side?Listen to Firestore Metadata changes with Angular Fire

Is there any reason to change the ISO manually?

Global variables and information security

Why does the seven segment display have decimal point at the right?

Can anyone find an image of Henry Bolingbroke's Sovereygne Feather Seal?

How do German speakers decide what should be on the left side of the verb?

Do 643,000 Americans go bankrupt every year due to medical bills?

Is it rude to ask my opponent to resign an online game when they have a lost endgame?

Identifying the following distribution

Why does the UK Prime Minister need the permission of Parliament to call a general election?

How do I make my fill-in-the-blank exercise more obvious?

Mute single speaker?

Is directly echoing the user agent in PHP a security hole?

Do I have to rename all creatures in a new world?

What fraction of 2x2 USA call signs are vanity calls?

Is using different public keys for different peers safer than reusing the public key, beyond forward secrecy - x25519

Was Rosie the Riveter sourced from a Michelangelo painting?

Who are these people in this satirical cartoon of the Congress of Verona?

Do we know what "hardness" of Brexit people actually wanted in the referendum, if there had been other choices available?

How do I anonymously report the Establishment Clause being broken?

Tiny image scraper for xkcd.com

How quickly would a wooden treasure chest rot?

Is it risky to move from broad geographical diversification into investing mostly in less developed markets?

Professor refuses to write a recommendation letter to students who haven't written a research paper with him

How do I stop making people jump at home and at work?



Firestore realtime updates or Sockets.io for live chat


Cloud Firestore: on realtime listeners, charged a read even if no changes?Firestore offline data: Merging writes, maximum time of offline persistenceFirestore slow queries with large collections unless offline persistence disabledFirestore data structure to support “querying” overlapping rangesIn order to maintain live updates while also paginating using Firestore, should I maintain an array of listeners (`ListenerRegistration`)?Chat in Ionic with Cloud FirestoreRealtime updates with Firestore after migration from RealtimedatabaseOptimize Firestore real time updates in chat appFirestore: how can I get stream of updates from a server side?Listen to Firestore Metadata changes with Angular Fire






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








0















I need to develop a chat with realtime updates for my web app.



  • Front: React

  • Back: Node

  • Database: Firestore

Today all my data queries are made in my backend through my REST API. I was thinking of using Sockets.IO but saw that Firestore also has data listeners (https://firebase.google.com/docs/firestore/query-data/listen).



Can you help me choosing by pointing out potential pros/cons of each solution?



Note that I never did any realtime chat feature before by myself so I may not see some obvious points. I don't want to start an opinion war and would like to find a solution to my particular problem for an app in production.



For the moment I have:



Firestore data listeners



  • Implementation seems faster but I may not see some things (especially since my authentification is made with JWT on the server and not at all with firestore auth on the client)

  • Offline capabilities out of the box

  • Direct access from the client shall be faster?

Sockets.io



  • More documentation and sources

  • I can migrate if needed









share|improve this question
































    0















    I need to develop a chat with realtime updates for my web app.



    • Front: React

    • Back: Node

    • Database: Firestore

    Today all my data queries are made in my backend through my REST API. I was thinking of using Sockets.IO but saw that Firestore also has data listeners (https://firebase.google.com/docs/firestore/query-data/listen).



    Can you help me choosing by pointing out potential pros/cons of each solution?



    Note that I never did any realtime chat feature before by myself so I may not see some obvious points. I don't want to start an opinion war and would like to find a solution to my particular problem for an app in production.



    For the moment I have:



    Firestore data listeners



    • Implementation seems faster but I may not see some things (especially since my authentification is made with JWT on the server and not at all with firestore auth on the client)

    • Offline capabilities out of the box

    • Direct access from the client shall be faster?

    Sockets.io



    • More documentation and sources

    • I can migrate if needed









    share|improve this question




























      0












      0








      0








      I need to develop a chat with realtime updates for my web app.



      • Front: React

      • Back: Node

      • Database: Firestore

      Today all my data queries are made in my backend through my REST API. I was thinking of using Sockets.IO but saw that Firestore also has data listeners (https://firebase.google.com/docs/firestore/query-data/listen).



      Can you help me choosing by pointing out potential pros/cons of each solution?



      Note that I never did any realtime chat feature before by myself so I may not see some obvious points. I don't want to start an opinion war and would like to find a solution to my particular problem for an app in production.



      For the moment I have:



      Firestore data listeners



      • Implementation seems faster but I may not see some things (especially since my authentification is made with JWT on the server and not at all with firestore auth on the client)

      • Offline capabilities out of the box

      • Direct access from the client shall be faster?

      Sockets.io



      • More documentation and sources

      • I can migrate if needed









      share|improve this question
















      I need to develop a chat with realtime updates for my web app.



      • Front: React

      • Back: Node

      • Database: Firestore

      Today all my data queries are made in my backend through my REST API. I was thinking of using Sockets.IO but saw that Firestore also has data listeners (https://firebase.google.com/docs/firestore/query-data/listen).



      Can you help me choosing by pointing out potential pros/cons of each solution?



      Note that I never did any realtime chat feature before by myself so I may not see some obvious points. I don't want to start an opinion war and would like to find a solution to my particular problem for an app in production.



      For the moment I have:



      Firestore data listeners



      • Implementation seems faster but I may not see some things (especially since my authentification is made with JWT on the server and not at all with firestore auth on the client)

      • Offline capabilities out of the box

      • Direct access from the client shall be faster?

      Sockets.io



      • More documentation and sources

      • I can migrate if needed






      firebase sockets socket.io google-cloud-firestore






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Mar 28 at 12:35







      Quentin C

















      asked Mar 28 at 4:05









      Quentin CQuentin C

      3501 silver badge10 bronze badges




      3501 silver badge10 bronze badges

























          1 Answer
          1






          active

          oldest

          votes


















          0
















          Answering my own question.



          Things I discovered:



          • Firestore doesn't have a built-in presence system and needs a specific Cloud function that synchronises with realtime firebase to work (https://firebase.google.com/docs/firestore/solutions/presence). I want to notify my users by mails if they are offline so this "hacky" solution is a concern.

          • Didn't find a simple way of using my current stateless auth with JWT to check if the client using firestore is authenticated





          share|improve this answer


























            Your Answer






            StackExchange.ifUsing("editor", function ()
            StackExchange.using("externalEditor", function ()
            StackExchange.using("snippets", function ()
            StackExchange.snippets.init();
            );
            );
            , "code-snippets");

            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "1"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55389993%2ffirestore-realtime-updates-or-sockets-io-for-live-chat%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0
















            Answering my own question.



            Things I discovered:



            • Firestore doesn't have a built-in presence system and needs a specific Cloud function that synchronises with realtime firebase to work (https://firebase.google.com/docs/firestore/solutions/presence). I want to notify my users by mails if they are offline so this "hacky" solution is a concern.

            • Didn't find a simple way of using my current stateless auth with JWT to check if the client using firestore is authenticated





            share|improve this answer































              0
















              Answering my own question.



              Things I discovered:



              • Firestore doesn't have a built-in presence system and needs a specific Cloud function that synchronises with realtime firebase to work (https://firebase.google.com/docs/firestore/solutions/presence). I want to notify my users by mails if they are offline so this "hacky" solution is a concern.

              • Didn't find a simple way of using my current stateless auth with JWT to check if the client using firestore is authenticated





              share|improve this answer





























                0














                0










                0









                Answering my own question.



                Things I discovered:



                • Firestore doesn't have a built-in presence system and needs a specific Cloud function that synchronises with realtime firebase to work (https://firebase.google.com/docs/firestore/solutions/presence). I want to notify my users by mails if they are offline so this "hacky" solution is a concern.

                • Didn't find a simple way of using my current stateless auth with JWT to check if the client using firestore is authenticated





                share|improve this answer















                Answering my own question.



                Things I discovered:



                • Firestore doesn't have a built-in presence system and needs a specific Cloud function that synchronises with realtime firebase to work (https://firebase.google.com/docs/firestore/solutions/presence). I want to notify my users by mails if they are offline so this "hacky" solution is a concern.

                • Didn't find a simple way of using my current stateless auth with JWT to check if the client using firestore is authenticated






                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited Apr 1 at 22:33

























                answered Mar 28 at 11:30









                Quentin CQuentin C

                3501 silver badge10 bronze badges




                3501 silver badge10 bronze badges





















                    Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.







                    Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.



















                    draft saved

                    draft discarded
















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55389993%2ffirestore-realtime-updates-or-sockets-io-for-live-chat%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Kamusi Yaliyomo Aina za kamusi | Muundo wa kamusi | Faida za kamusi | Dhima ya picha katika kamusi | Marejeo | Tazama pia | Viungo vya nje | UrambazajiKuhusu kamusiGo-SwahiliWiki-KamusiKamusi ya Kiswahili na Kiingerezakuihariri na kuongeza habari

                    Swift 4 - func physicsWorld not invoked on collision? The Next CEO of Stack OverflowHow to call Objective-C code from Swift#ifdef replacement in the Swift language@selector() in Swift?#pragma mark in Swift?Swift for loop: for index, element in array?dispatch_after - GCD in Swift?Swift Beta performance: sorting arraysSplit a String into an array in Swift?The use of Swift 3 @objc inference in Swift 4 mode is deprecated?How to optimize UITableViewCell, because my UITableView lags

                    Access current req object everywhere in Node.js ExpressWhy are global variables considered bad practice? (node.js)Using req & res across functionsHow do I get the path to the current script with Node.js?What is Node.js' Connect, Express and “middleware”?Node.js w/ express error handling in callbackHow to access the GET parameters after “?” in Express?Modify Node.js req object parametersAccess “app” variable inside of ExpressJS/ConnectJS middleware?Node.js Express app - request objectAngular Http Module considered middleware?Session variables in ExpressJSAdd properties to the req object in expressjs with Typescript