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

Fanout

6
33
+ 1
0
Firebase

40.2K
34.5K
+ 1
2K
Socket.IO

13K
10.7K
+ 1
776
Advice on Fanout, Firebase, and Socket.IO
Needs advice
on
ApolloApolloFirebaseFirebase
and
Socket.IOSocket.IO

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 · 466.6K views
Recommends
on
FirebaseFirebase

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
Recommends
on
AblyAbly

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
Recommends
on
8base8base

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 Fanout, Firebase, and Socket.IO
Jack Heaton
Full Stack Developer at Life Story Maps · | 4 upvotes · 36K views

The start-up guides, tutorials and documentation in general for Firebase are pretty outstanding.

There is 1GB database storage for the free tier as compared to Supabase's 500MB. Not that I think there is anything wrong with Supabase, I intend to try it out someday.

Also if you are doing any sort of personal front-end project, even using a free cluster from MongoDB can be a lot of work and setup, with Firebase (specifically Fire store and Google Authenticator) the implementation of BaaS is quite easy to get up and running.

It's pretty easy to understand the Fires store security rules as well, and if you ever have a hard time trying to figure something out, there is good community support and YouTube tutorials for most topics.

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Fanout
Pros of Firebase
Pros of Socket.IO
    Be the first to leave a pro
    • 371
      Realtime backend made easy
    • 270
      Fast and responsive
    • 242
      Easy setup
    • 215
      Real-time
    • 191
      JSON
    • 134
      Free
    • 128
      Backed by google
    • 83
      Angular adaptor
    • 68
      Reliable
    • 36
      Great customer support
    • 32
      Great documentation
    • 25
      Real-time synchronization
    • 21
      Mobile friendly
    • 18
      Rapid prototyping
    • 14
      Great security
    • 12
      Automatic scaling
    • 11
      Freakingly awesome
    • 8
      Chat
    • 8
      Angularfire is an amazing addition!
    • 8
      Super fast development
    • 6
      Built in user auth/oauth
    • 6
      Firebase hosting
    • 6
      Ios adaptor
    • 6
      Awesome next-gen backend
    • 4
      Speed of light
    • 4
      Very easy to use
    • 3
      Great
    • 3
      It's made development super fast
    • 3
      Brilliant for startups
    • 2
      Free hosting
    • 2
      Cloud functions
    • 2
      JS Offline and Sync suport
    • 2
      Low battery consumption
    • 2
      .net
    • 2
      The concurrent updates create a great experience
    • 2
      Push notification
    • 2
      I can quickly create static web apps with no backend
    • 2
      Great all-round functionality
    • 2
      Free authentication solution
    • 1
      Easy Reactjs integration
    • 1
      Google's support
    • 1
      Free SSL
    • 1
      CDN & cache out of the box
    • 1
      Easy to use
    • 1
      Large
    • 1
      Faster workflow
    • 1
      Serverless
    • 1
      Good Free Limits
    • 1
      Simple and easy
    • 219
      Real-time
    • 143
      Node.js
    • 141
      Event-based communication
    • 102
      Open source
    • 102
      WebSockets
    • 26
      Binary streaming
    • 21
      No internet dependency
    • 10
      Large community
    • 6
      Push notification
    • 5
      Ease of access and setup
    • 1
      Test

    Sign up to add or upvote prosMake informed product decisions

    Cons of Fanout
    Cons of Firebase
    Cons of Socket.IO
      Be the first to leave a con
      • 31
        Can become expensive
      • 16
        No open source, you depend on external company
      • 15
        Scalability is not infinite
      • 9
        Not Flexible Enough
      • 7
        Cant filter queries
      • 3
        Very unstable server
      • 3
        No Relational Data
      • 2
        Too many errors
      • 2
        No offline sync
      • 12
        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 is Fanout?

      Fanout makes it easy to build realtime APIs and apps. The product is a cross between a reverse proxy and a message broker. Receivers subscribe to channels, and published data is delivered in realtime.

      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 Socket.IO?

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

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

      What companies use Fanout?
      What companies use Firebase?
      What companies use Socket.IO?
        No companies found

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

        What tools integrate with Fanout?
        What tools integrate with Firebase?
        What tools integrate with Socket.IO?
          No integrations found

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

          Blog Posts

          What are some alternatives to Fanout, Firebase, and Socket.IO?
          Pushpin
          Pushpin is a reverse proxy server that makes it easy to build realtime web services. The project is unique among realtime push solutions in that it is designed to address the needs of API creators.
          Pusher
          Pusher is the category leader in delightful APIs for app developers building communication and collaboration features.
          ws
          It is a simple to use, blazing fast, and thoroughly tested WebSocket client and server implementation.
          Google Cloud Pub/Sub
          Cloud Pub/Sub is a fully-managed real-time messaging service that allows you to send and receive messages between independent applications. You can leverage Cloud Pub/Sub’s flexibility to decouple systems and components hosted on Google Cloud Platform or elsewhere on the Internet.
          SignalR
          SignalR allows bi-directional communication between server and client. Servers can now push content to connected clients instantly as it becomes available. SignalR supports Web Sockets, and falls back to other compatible techniques for older browsers. SignalR includes APIs for connection management (for instance, connect and disconnect events), grouping connections, and authorization.
          See all alternatives