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


+ 1

+ 1
Add tool

Apollo vs Socket.IO: What are the differences?

Apollo: GraphQL server for Express, Connect, Hapi, Koa and more. Build a universal GraphQL API on top of your existing REST APIs, so you can ship new application features fast without waiting on backend changes; Socket.IO: Realtime application framework (Node.JS server). Socket.IO enables real-time bidirectional event-based communication. It works on every platform, browser or device, focusing equally on reliability and speed.

Apollo belongs to "Platform as a Service" category of the tech stack, while Socket.IO can be primarily classified under "Realtime Backend / API".

"From the creators of Meteor" is the top reason why over 8 developers like Apollo, while over 186 developers mention "Real-time" as the leading cause for choosing Socket.IO.

Apollo and Socket.IO are both open source tools. It seems that Socket.IO with 46.7K GitHub stars and 8.53K forks on GitHub has more adoption than Apollo with 7.4K GitHub stars and 911 GitHub forks.

PedidosYa, Trello, and triGo GmbH are some of the popular companies that use Socket.IO, whereas Apollo is used by Impraise,, and Policygenius. Socket.IO has a broader approval, being mentioned in 555 company stacks & 385 developers stacks; compared to Apollo, which is listed in 123 company stacks and 121 developer stacks.

Advice on Apollo and Socket.IO
Needs advice

We are starting to work on a web-based platform aiming to connect artists (clients) and professional freelancers (service providers). In-app, timeline-based, real-time communication between users (& storing it), file transfers, and push notifications are essential core features. We are considering using Node.js, ExpressJS, React, MongoDB stack with Socket.IO & Apollo, or maybe using Real-Time Database and functionalities of Firebase.

See more
Replies (3)
Timothy Malstead
Junior Full Stack Developer at Freelance · | 7 upvotes · 438.7K views

I would recommend looking hard into Firebase for this project, especially if you do not have dedicated full-stack or backend members on your team.

The real time database, as you mentioned, is a great option, but I would also look into Firestore. Similar to RTDB, it adds more functions and some cool methods as well. Also, another great thing about Firebase is you have easy access to storage and dead simple auth as well.

Node.js Express MongoDB Socket.IO and Apollo are great technologies as well, and may be the better option if you do not wish to cede as much control to third parties in your application.

Overall, I say if you wish to focus more time developing your React application instead of other parts of your stack, Firebase is a great way to do that.

See more

Hello Noam 👋,

I suggest taking a look at Ably, it has all the realtime features you need and the platform is designed to guarantee critical functionality at scale.

Here is an in depth comparison between Ably and Firebase

See more

Hey Noam,

I would recommend you to take a look into 8base. It has features you've requested, also relation database and GraphQL API which will help you to develop rapidly.

Thanks, Ilya

See more
Decisions about Apollo and Socket.IO
Márton Danóczy

We wanted to save as much time as possible when writing our back-end, therefore Apollo was out of the question, we went for an auto-generated API instead. Hasura looked good in the beginning, but we wanted to retain the ability to add a few manual resolvers and modifications to auto-generated ones, which ruled out Hasura. Postgraphile with its Plug-In architecture was the right choice for us, we never regretted it!

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Apollo
Pros of Socket.IO
  • 12
    From the creators of Meteor
  • 7
    Great documentation
  • 3
    Open source
  • 2
    Real time if use subscription
  • 217
  • 141
  • 141
    Event-based communication
  • 102
  • 101
    Open source
  • 26
    Binary streaming
  • 21
    No internet dependency
  • 10
    Large community
  • 9
    Fallback to polling if WebSockets not supported
  • 6
    Push notification
  • 5
    Ease of access and setup
  • 1

Sign up to add or upvote prosMake informed product decisions

Cons of Apollo
Cons of Socket.IO
  • 1
    File upload is not supported
  • 1
    Increase in complexity of implementing (subscription)
  • 11
    Bad documentation
  • 4
    Githubs that complement it are mostly deprecated
  • 3
    Doesn't work on React Native
  • 2
    Small community
  • 2
    Websocket Errors

Sign up to add or upvote consMake informed product decisions

What companies use Apollo?
What companies use Socket.IO?
See which teams inside your own company are using Apollo or Socket.IO.
Sign up for StackShare EnterpriseLearn More

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

What tools integrate with Apollo?
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 Apollo and Socket.IO?
Helios is a Docker orchestration platform for deploying and managing containers across an entire fleet of servers. Helios provides a HTTP API as well as a command-line client to interact with servers running your containers.
GraphQL is a data query language and runtime designed and used at Facebook to request and deliver data to mobile and web apps since 2012.
Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best.
Relay Framework
Never again communicate with your data store using an imperative API. Simply declare your data requirements using GraphQL and let Relay figure out how and when to fetch your data.
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.
See all alternatives