Firebase vs Pusher vs Socket.IO

Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Firebase
Firebase

7.5K
5.5K
+ 1
1.7K
Pusher
Pusher

337
255
+ 1
213
Socket.IO
Socket.IO

3.5K
2.3K
+ 1
684
- No public GitHub repository available -
- No public GitHub repository available -

What is Firebase?

Firebase is a cloud service designed to power real-time, collaborative applications. Simply add the Firebase library to your application to gain access to a shared data structure; any changes you make to that data are automatically synchronized with the Firebase cloud and with other clients within milliseconds.

What is Pusher?

Pusher is the category leader in delightful APIs for app developers building communication and collaboration features.

What is Socket.IO?

It enables real-time bidirectional event-based communication. It works on every platform, browser or device, focusing equally on reliability and speed.
Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Why do developers choose Firebase?
Why do developers choose Pusher?
Why do developers choose Socket.IO?

Sign up to add, upvote and see more prosMake informed product decisions

    Be the first to leave a con

    Sign up to add, upvote and see more consMake informed product decisions

    What companies use Firebase?
    What companies use Pusher?
    What companies use Socket.IO?

    Sign up to get full access to all the companiesMake informed product decisions

    What tools integrate with Firebase?
    What tools integrate with Pusher?
    What tools integrate with Socket.IO?

    Sign up to get full access to all the tool integrationsMake informed product decisions

    What are some alternatives to Firebase, Pusher, and Socket.IO?
    MongoDB
    MongoDB stores data in JSON-like documents that can vary in structure, offering a dynamic, flexible schema. MongoDB was also designed for high availability and scalability, with built-in replication and auto-sharding.
    Parse
    With Parse, you can add a scalable and powerful backend in minutes and launch a full-featured app in record time without ever worrying about server management. We offer push notifications, social integration, data storage, and the ability to add rich custom logic to your app’s backend with Cloud Code.
    Heroku
    Heroku is a cloud application platform – a new way of building and deploying web apps. Heroku lets app developers spend 100% of their time on their application code, not managing servers, deployment, ongoing operations, or scaling.
    Auth0
    A set of unified APIs and tools that instantly enables Single Sign On and user management to all your applications.
    Realm
    The Realm Mobile Platform is a next-generation data layer for applications. Realm is reactive, concurrent, and lightweight, allowing you to work with live, native objects.
    See all alternatives
    Decisions about Firebase, Pusher, and Socket.IO
    Tomáš Pustelník
    Tomáš Pustelník
    Firebase
    Firebase

    We use Firebase at work (and I use it for my personal projects) for several reasons:

    1) it is not just real-time DB with subscriptions but a lot more (storage for files, push notifications for mobile, cloud functions etc.) so it allows to build quite a robust solutions, but still possible to use just a minimal set of what you need

    2) In most cases it's pretty cheap (unless you messed up you DB structure, reads/writes etc. - could be problem for a lot of traffic - so in such a case ready pricing and related guides properly), for side projects basically free.

    3) offers free hosting with SSL certificates for static files

    4) you can bootstrap functional prototype really quick and for the production, you do not need to worry about scaling.

    See more
    Jared Wuliger
    Jared Wuliger
    Contractor at Insight Global · | 9 upvotes · 27.7K views
    Firebase
    Firebase

    I started using Firebase over 5 years ago because of the 'real-time' nature. I originally used to use Real Time Database, but now I use Cloud Firestore. I recommend using the Google Firebase PaaS to quickly develop or prototype small to enterprise level web/mobile applications. Since Google purchased Firebase, it has exploded and it growing rapidly. I also find some level of comfort that it is Backed by Google.

    See more
    Interest over time
    Reviews of Firebase, Pusher, and Socket.IO
    Review ofFirebaseFirebase

    Firebase is great, cheap and very flexible. Their docs are very helpful and so is the customer support, but the one thing that is so awesome about firebase is that everything is done in realtime!

    Review ofFirebaseFirebase

    We were looking for a solution to find out about all the errors our customers experienced but never informed us about.

    How developers use Firebase, Pusher, and Socket.IO
    Avatar of Tony Manso
    Tony Manso uses Socket.IOSocket.IO

    I use Socket.IO because using HTTP requests for a real-time multiplayer game just blows! Even with websockets, I had to scrunch the data being transmitted down to a bare minimum, and do some cheap compression tricks so that I can send data in JSON format. Otherwise, I would have to resort to sending binary data. I may end up doing that anyway when the time comes that I need to scale.

    How do I use it? Each client opens a socket connection at startup. The server keeps track of these connections, and sends each client the visible portion of the Playfield repeatedly. The clients render this information, while sending requests and commands to the server (join,turn,fire,thrust,bomb,viewport change,etc.) in response to the player's actions. The server uses that to make adjustments to the player's ship on the Playfield.

    Avatar of Instacart
    Instacart uses FirebaseFirebase

    We use it for a few things. We use it internally for a few dashboards because it’s actually really nice to have real-time dashboard data with Firebase. We also use it extensively for live order updating. For example, when a shopper is picking your items, you'll be able to go on your order screen. There will be live showing like found or not found or whatever. You'll have live position updating of your shopper on the map. You will have live information of the status of the order like “Nicole is now picking up your order,” and all these kind of things, so you don’t have to reload the page or pull or anything. Just live updates happen natively through Firebase API, which is nice.

    Avatar of Instacart
    Instacart uses FirebaseFirebase

    We use it for a few things. We use it internally for a few dashboards because it’s actually really nice to have real-time dashboard data with Firebase. We also use it extensively for live order updating. For example, when a shopper is picking your items, you'll be able to go on your order screen. There will be live showing like found or not found or whatever. You'll have live position updating of your shopper on the map. You will have live information of the status of the order like “Nicole is now picking up your order,” and all these kind of things, so you don’t have to reload the page or pull or anything. Just live updates happen natively through Firebase API, which is nice.

    Avatar of Nathan Heffley
    Nathan Heffley uses PusherPusher

    In the original prototype all the communication was handled by a backend server. Each client connected directly to the server using the socket.io library. This quickly proved to be messy and unreliable, especially on the cheap server being used to host it.

    Websockets proved to be a little more reliable, but still just as messy and not all browsers support them. That's when the project was switched over to use Pusher. Using Pusher has allowed all but the initial connection code to be off-loaded onto the client. Now instead of communicating through a self-hosted server, clients can communicate pretty much peer-to-peer over Pusher.

    Avatar of Trello
    Trello uses Socket.IOSocket.IO

    Where we have browser support (recent Chrome, Firefox, and Safari), we make a WebSocket connection so that the server can push changes made by other people down to browsers listening on the appropriate channels. We use a modified version* of the Socket.io client and server libraries that allows us to keep many thousands of open WebSockets on each of our servers at very little cost in terms of CPU or memory usage. So when anything happens to a board you’re watching, that action is published to our server processes and propagated to your watching browser with very minimal latency, usually well under a second.

    Avatar of ttandon
    ttandon uses FirebaseFirebase

    Used for storing results of users (malaria predictions) and displaying to user in the app. Although the realtime aspect wasn't huge in this project, it was much quicker to push data elements for each user as firebase elements since they were purely numerical and very small. And again, the idea of familiarity - I've worked with Firebase at previous hackathons, so no need to spend time going through docs, just straight to the coding.

    Avatar of Kent Steiner
    Kent Steiner uses Socket.IOSocket.IO

    Socket.IO has a decent community footprint, including integrations with popular JS frameworks, and has fallbacks to maintain an app's services if websockets are not available for some reason. Websockets are an important factor in most of the web-facing apps I build, to provide asynchronous two-way communication between the app and whatever server or data source it is connected to.

    Avatar of NewCraft
    NewCraft uses FirebaseFirebase

    Firebase let's us iterate quickly. We've used the Realtime Database to build rich UX features– like push notifications– fast. Likewise, Firebase Authentication and Cloud Functions save us from having to rebuild redundant server infrastructure. Even though Firebase can get pricey, we've saved money in developer time.

    Avatar of Andrew Gatenby
    Andrew Gatenby uses Socket.IOSocket.IO

    Another one that we're not using, yet. But have realtime data updates within our applications and the central API will be a great bit of functionality that gives our clients more control and keep them informed of changes and updates in their stores, in real time.

    Avatar of AngeloR
    AngeloR uses Socket.IOSocket.IO

    Socket.io is used as our current multiplayer engine. The existing engine is very simplistic and only utilizes the websocket+http fallback transports and serves as a generic world/zone/screen grouping mechanism for displaying users to each other.

    Avatar of Addo
    Addo uses FirebaseFirebase

    Still in development, but we will soon (January 2016) be releasing a version that uses Firebase to keep the front end up to date in real time. Certain data are synchronised across RDS and Firebase to optimize the user experience.

    Avatar of Jewel Mahanta
    Jewel Mahanta uses PusherPusher

    Pusher is used to send update notification whenever Lapzbot joins a server.

    Avatar of Vamsi Krishna
    Vamsi Krishna uses PusherPusher

    Push real-time updates

    How much does Firebase cost?
    How much does Pusher cost?
    How much does Socket.IO cost?
    Pricing unavailable
    News about Socket.IO
    More news