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

ejabberd

28
34
+ 1
0
Firebase

28.3K
23.9K
+ 1
1.9K
Add tool

ejabberd vs Firebase: What are the differences?

Developers describe ejabberd as "A scalable and robust instant messaging server". It is a distributed, fault-tolerant technology that allows the creation of large-scale instant messaging applications. The server can reliably support thousands of simultaneous users on a single node and has been designed to provide exceptional standards of fault tolerance. On the other hand, Firebase is detailed as "The Realtime App Platform". 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.

ejabberd can be classified as a tool in the "Message Queue" category, while Firebase is grouped under "Realtime Backend / API".

Some of the features offered by ejabberd are:

  • Cross-platform
  • Administrator-friendly
  • Internationalized

On the other hand, Firebase provides the following key features:

  • Add the Firebase library to your app and get access to a shared data structure. Any changes made to that data are automatically synchronized with the Firebase cloud and with other clients within milliseconds.
  • Firebase apps can be written entirely with client-side code, update in real-time out-of-the-box, interoperate well with existing services, scale automatically, and provide strong data security.
  • Data Accessibility- Data is stored as JSON in Firebase. Every piece of data has its own URL which can be used in Firebase's client libraries and as a REST endpoint. These URLs can also be entered into a browser to view the data and watch it update in real-time.

ejabberd is an open source tool with 4.18K GitHub stars and 1.25K GitHub forks. Here's a link to ejabberd's open source repository on GitHub.

According to the StackShare community, Firebase has a broader approval, being mentioned in 1215 company stacks & 4651 developers stacks; compared to ejabberd, which is listed in 5 company stacks and 3 developer stacks.

Advice on ejabberd and Firebase
Needs advice
on
Socket.IOSocket.IOFirebaseFirebase
and
ApolloApollo

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 路 257.5K views
Recommends
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
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
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
Get Advice from developers at your company using Private StackShare. Sign up for Private StackShare.
Learn More
Pros of ejabberd
Pros of Firebase
    Be the first to leave a pro
    • 361
      Realtime backend made easy
    • 264
      Fast and responsive
    • 234
      Easy setup
    • 207
      Real-time
    • 186
      JSON
    • 128
      Free
    • 121
      Backed by google
    • 81
      Angular adaptor
    • 63
      Reliable
    • 36
      Great customer support
    • 26
      Great documentation
    • 23
      Real-time synchronization
    • 20
      Mobile friendly
    • 17
      Rapid prototyping
    • 12
      Great security
    • 11
      Automatic scaling
    • 10
      Freakingly awesome
    • 8
      Chat
    • 8
      Angularfire is an amazing addition!
    • 8
      Super fast development
    • 6
      Awesome next-gen backend
    • 6
      Ios adaptor
    • 5
      Built in user auth/oauth
    • 5
      Firebase hosting
    • 4
      Speed of light
    • 4
      Very easy to use
    • 3
      It's made development super fast
    • 3
      Great
    • 3
      Brilliant for startups
    • 2
      Great all-round functionality
    • 2
      Low battery consumption
    • 2
      I can quickly create static web apps with no backend
    • 2
      The concurrent updates create a great experience
    • 2
      JS Offline and Sync suport
    • 1
      Faster workflow
    • 1
      Large
    • 1
      Serverless
    • 1
      .net
    • 1
      Free SSL
    • 1
      Good Free Limits
    • 1
      Push notification
    • 1
      Easy to use
    • 1
      Easy Reactjs integration

    Sign up to add or upvote prosMake informed product decisions

    Cons of ejabberd
    Cons of Firebase
      Be the first to leave a con
      • 29
        Can become expensive
      • 15
        No open source, you depend on external company
      • 15
        Scalability is not infinite
      • 9
        Not Flexible Enough
      • 5
        Cant filter queries
      • 3
        Very unstable server
      • 2
        Too many errors
      • 2
        No Relational Data
      • 1
        No offline sync

      Sign up to add or upvote consMake informed product decisions

      - No public GitHub repository available -

      What is ejabberd?

      It is a distributed, fault-tolerant technology that allows the creation of large-scale instant messaging applications. The server can reliably support thousands of simultaneous users on a single node and has been designed to provide exceptional standards of fault tolerance.

      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.

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

      What companies use ejabberd?
      What companies use Firebase?
      See which teams inside your own company are using ejabberd or Firebase.
      Sign up for Private StackShareLearn More

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

      What tools integrate with ejabberd?
      What tools integrate with Firebase?

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

      Blog Posts

      GitNode.jsFirebase+5
      7
      1697
      What are some alternatives to ejabberd and Firebase?
      Openfire
      It is a real time collaboration (RTC) server. It uses the only widely adopted open protocol for instant messaging, XMPP (also called Jabber). It is incredibly easy to setup and administer, but offers rock-solid security and performance.
      RabbitMQ
      RabbitMQ gives your applications a common platform to send and receive messages, and your messages a safe place to live until received.
      Kafka
      Kafka is a distributed, partitioned, replicated commit log service. It provides the functionality of a messaging system, but with a unique design.
      Amazon SQS
      Transmit any volume of data, at any level of throughput, without losing messages or requiring other services to be always available. With SQS, you can offload the administrative burden of operating and scaling a highly available messaging cluster, while paying a low price for only what you use.
      Celery
      Celery is an asynchronous task queue/job queue based on distributed message passing. It is focused on real-time operation, but supports scheduling as well.
      See all alternatives