Alternatives to XMPP logo

Alternatives to XMPP

MQTT, Firebase, WebRTC, Socket.IO, and SignalR are the most popular alternatives and competitors to XMPP.
50
105
+ 1
0

What is XMPP and what are its top alternatives?

It is a set of open technologies for instant messaging, presence, multi-party chat, voice and video calls, collaboration, lightweight middleware, content syndication, and generalized routing of XML data.
XMPP is a tool in the Message Queue category of a tech stack.

Top Alternatives to XMPP

  • MQTT

    MQTT

    It was designed as an extremely lightweight publish/subscribe messaging transport. It is useful for connections with remote locations where a small code footprint is required and/or network bandwidth is at a premium. ...

  • Firebase

    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. ...

  • WebRTC

    WebRTC

    It is a free, open project that enables web browsers with Real-Time Communications (RTC) capabilities via simple JavaScript APIs. The WebRTC components have been optimized to best serve this purpose. ...

  • Socket.IO

    Socket.IO

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

  • SignalR

    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. ...

  • Slack

    Slack

    Imagine all your team communication in one place, instantly searchable, available wherever you go. That’s Slack. All your messages. All your files. And everything from Twitter, Dropbox, Google Docs, Asana, Trello, GitHub and dozens of other services. All together. ...

  • Kubernetes

    Kubernetes

    Kubernetes is an open source orchestration system for Docker containers. It handles scheduling onto nodes in a compute cluster and actively manages workloads to ensure that their state matches the users declared intentions. ...

  • Kafka

    Kafka

    Kafka is a distributed, partitioned, replicated commit log service. It provides the functionality of a messaging system, but with a unique design. ...

XMPP alternatives & related posts

MQTT logo

MQTT

360
403
4
A machine-to-machine Internet of Things connectivity protocol
360
403
+ 1
4
PROS OF MQTT
  • 2
    Varying levels of Quality of Service to fit a range of
  • 1
    Very easy to configure and use with open source tools
  • 1
    Lightweight with a relatively small data footprint
CONS OF MQTT
  • 1
    Easy to configure in an unsecure manner

related MQTT posts

Firebase logo

Firebase

29.1K
24.9K
1.9K
The Realtime App Platform
29.1K
24.9K
+ 1
1.9K
PROS OF FIREBASE
  • 363
    Realtime backend made easy
  • 267
    Fast and responsive
  • 236
    Easy setup
  • 211
    Real-time
  • 188
    JSON
  • 132
    Free
  • 124
    Backed by google
  • 83
    Angular adaptor
  • 66
    Reliable
  • 36
    Great customer support
  • 29
    Great documentation
  • 24
    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
    Ios adaptor
  • 6
    Awesome next-gen backend
  • 5
    Firebase hosting
  • 5
    Built in user auth/oauth
  • 4
    Very easy to use
  • 4
    Speed of light
  • 3
    Brilliant for startups
  • 3
    Great
  • 3
    It's made development super fast
  • 2
    Push notification
  • 2
    Free authentication solution
  • 2
    The concurrent updates create a great experience
  • 2
    I can quickly create static web apps with no backend
  • 2
    Great all-round functionality
  • 2
    JS Offline and Sync suport
  • 2
    Low battery consumption
  • 1
    CDN & cache out of the box
  • 1
    Faster workflow
  • 1
    Free SSL
  • 1
    Easy to use
  • 1
    Large
  • 1
    Serverless
  • 1
    .net
  • 1
    Good Free Limits
  • 1
    Easy Reactjs integration
  • 1
    Free hosting
  • 1
    Cloud functions
CONS OF FIREBASE
  • 30
    Can become expensive
  • 15
    No open source, you depend on external company
  • 15
    Scalability is not infinite
  • 9
    Not Flexible Enough
  • 6
    Cant filter queries
  • 3
    Very unstable server
  • 2
    No Relational Data
  • 2
    Too many errors
  • 2
    No offline sync

related Firebase posts

Stephen Gheysens
Senior Solutions Engineer at Twilio · | 14 upvotes · 440.6K views

Hi Otensia! I'd definitely recommend using the skills you've already got and building with JavaScript is a smart way to go these days. Most platform services have JavaScript/Node SDKs or NPM packages, many serverless platforms support Node in case you need to write any backend logic, and JavaScript is incredibly popular - meaning it will be easy to hire for, should you ever need to.

My advice would be "don't reinvent the wheel". If you already have a skill set that will work well to solve the problem at hand, and you don't need it for any other projects, don't spend the time jumping into a new language. If you're looking for an excuse to learn something new, it would be better to invest that time in learning a new platform/tool that compliments your knowledge of JavaScript. For this project, I might recommend using Netlify, Vercel, or Google Firebase to quickly and easily deploy your web app. If you need to add user authentication, there are great examples out there for Firebase Authentication, Auth0, or even Magic (a newcomer on the Auth scene, but very user friendly). All of these services work very well with a JavaScript-based application.

See more
Tassanai Singprom

This is my stack in Application & Data

JavaScript PHP HTML5 jQuery Redis Amazon EC2 Ubuntu Sass Vue.js Firebase Laravel Lumen Amazon RDS GraphQL MariaDB

My Utilities Tools

Google Analytics Postman Elasticsearch

My Devops Tools

Git GitHub GitLab npm Visual Studio Code Kibana Sentry BrowserStack

My Business Tools

Slack

See more
WebRTC logo

WebRTC

263
431
5
A free, open project that provides browsers and mobile applications with Real-Time Communications
263
431
+ 1
5
PROS OF WEBRTC
  • 2
    No Download
  • 2
    OpenSource
  • 1
    You can write anything around it, because it's a protoc
CONS OF WEBRTC
    Be the first to leave a con

    related WebRTC posts

    Hello. So, I wanted to make a decision on whether to use WebRTC or Amazon Chime for a conference call (meeting). My plan is to build an app with features like video broadcasting, and the ability for all the participants to talk and chat. I have used Agora's web SDK for video broadcasting, and Socket.IO for chat features. As I read the comparison between Amazon Chime and WebRTC, it further intrigues me on what I should use given my scenario? Is there any way that so many related technologies could be a hindrance to the other? Any advice would be appreciated. Thanks. Ritwik Neema

    See more
    joseph zeiad

    I am trying to implement video calling in a React Native app through Amazon Kinesis. But I was unlucky to find anything related to this on the web. Do you have any example code I can use? or any tutorial? If not, how easy is it to bridge the native library to RN? And what should I use WebRTC or Amazon Chime?? Thanks

    See more
    Socket.IO logo

    Socket.IO

    9.3K
    7.9K
    777
    Realtime application framework (Node.JS server)
    9.3K
    7.9K
    + 1
    777
    PROS OF SOCKET.IO
    • 214
      Real-time
    • 143
      Event-based communication
    • 142
      Node.js
    • 102
      Open source
    • 102
      WebSockets
    • 26
      Binary streaming
    • 22
      No internet dependency
    • 9
      Fallback to polling if WebSockets not supported
    • 8
      Large community
    • 5
      Ease of access and setup
    • 4
      Push notification
    CONS OF SOCKET.IO
    • 11
      Bad documentation
    • 4
      Githubs that complement it are mostly deprecated
    • 3
      Doesn't work on React Native
    • 2
      Websocket Errors
    • 2
      Small community

    related Socket.IO posts

    across_the_grid
    Full-stack web developer · | 10 upvotes · 343K views
    Shared insights
    on
    Socket.IOSocket.IONode.jsNode.jsExpressJSExpressJS

    I use Socket.IO because the application has 2 frontend clients, which need to communicate in real-time. The backend-server handles the communication between these two clients via websockets. Socket.io is very easy to set up in Node.js and ExpressJS.

    In the research project, the 1st client shows panoramic videos in a so called cave system (it is the VR setup of our research lab, which consists of three big screens, which are specially arranged, so the user experience the videos more immersive), the 2nd client controls the videos/locations of the 1st client.

    See more

    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
    SignalR logo

    SignalR

    390
    1K
    109
    A new library for ASP.NET developers that makes developing real-time web functionality easy.
    390
    1K
    + 1
    109
    PROS OF SIGNALR
    • 26
      Supports .NET server
    • 17
      Real-time
    • 13
      Free
    • 13
      Fallback to SSE, forever frame, long polling
    • 12
      WebSockets
    • 7
      Simple
    • 7
      JSON
    • 6
      Open source
    • 4
      Ease of use
    • 4
      Cool
    CONS OF SIGNALR
    • 2
      Requires jQuery
    • 2
      Expertise hard to get
    • 1
      Weak iOS and Android support
    • 1
      Big differences between ASP.NET and Core versions

    related SignalR posts

    Shared insights
    on
    gRPCgRPCSignalRSignalR.NET.NET

    We need to interact from several different Web applications (remote) to a client-side application (.exe in .NET Framework, Windows.Console under our controlled environment). From the web applications, we need to send and receive data and invoke methods to client-side .exe on javascript events like users onclick. SignalR is one of the .Net alternatives to do that, but it adds overhead for what we need. Is it better to add SignalR at both client-side application and remote web application, or use gRPC as it sounds lightest and is multilingual?

    SignalR or gRPC are always sending and receiving data on the client-side (from browser to .exe and back to browser). And web application is used for graphical visualization of data to the user. There is no need for local .exe to send or interact with remote web API. Which architecture or framework do you suggest to use in this case?

    See more
    Slack logo

    Slack

    90.7K
    70K
    6K
    Bring all your communication together in one place
    90.7K
    70K
    + 1
    6K
    PROS OF SLACK
    • 1.2K
      Easy to integrate with
    • 877
      Excellent interface on multiple platforms
    • 848
      Free
    • 694
      Mobile friendly
    • 690
      People really enjoy using it
    • 331
      Great integrations
    • 315
      Flexible notification preferences
    • 198
      Unlimited users
    • 184
      Strong search and data archiving
    • 155
      Multi domain switching support
    • 82
      Easy to use
    • 40
      Beautiful
    • 27
      Hubot support
    • 22
      Unread/read control
    • 21
      Slackbot
    • 19
      Permalink for each messages
    • 17
      Text snippet with highlighting
    • 15
      Quote message easily
    • 14
      Per-room notification
    • 13
      Awesome integration support
    • 12
      IRC gateway
    • 12
      Star for each message / attached files
    • 11
      Dropbox Integration
    • 11
      Good communication within a team
    • 10
      Jira Integration
    • 10
      Slick, search is great
    • 9
      New Relic Integration
    • 8
      Combine All Services Quickly
    • 8
      Asana Integration
    • 8
      Great communication tool
    • 7
      Google Drive Integration
    • 7
      XMPP gateway
    • 7
      Awesomeness
    • 7
      This tool understands developers
    • 6
      BitBucket integration
    • 6
      Replaces email
    • 6
      Twitter Integration
    • 6
      Google Docs Integration
    • 5
      Jenkins Integration
    • 5
      GREAT Customer Support / Quick Response to Feedback
    • 5
      Guest and Restricted user control
    • 4
      Excellent multi platform internal communication tool
    • 4
      Clean UI
    • 4
      Gathers all my communications in one place
    • 4
      GitHub integration
    • 4
      Mention list view
    • 3
      Easy
    • 3
      Visual Studio Integration
    • 3
      Threaded chat
    • 3
      Easy to start working with
    • 3
      Great on-boarding
    • 3
      Timely while non intrusive
    • 3
      Perfect implementation of chat + integrations
    • 3
      Easy to add a reaction
    • 2
      Message Actions
    • 2
      Great Channel Customization
    • 2
      Simplicity
    • 2
      Android app
    • 2
      Great interface
    • 2
      Eases collaboration for geographically dispersed teams
    • 2
      So much better than email
    • 2
      Intuitive, easy to use, great integrations
    • 2
      Markdown
    • 2
      It's basically an improved (although closed) IRC
    • 1
      Community
    • 1
      I was 666 star :D
    • 1
      Multi work-space support
    • 1
      Dev communication Made Easy
    • 1
      Great API
    • 1
      Very customizable
    • 1
      Complete with plenty of Electron BLOAT
    • 1
      Archive Importing
    • 1
      Great Support Team
    • 1
      Easy remote communication
    • 1
      Get less busy
    • 1
      Targetprocess integration
    • 1
      Flexible and Accessible
    • 1
      Better User Experience
    • 1
      API
    • 1
      Integrates with just about everything
    • 1
      Travis CI integration
    • 1
      It's the coolest IM ever
    • 1
      Finally with terrible "threading"—I miss Flowdock
    • 0
      Platforms
    • 0
      Easy to useL
    CONS OF SLACK
    • 12
      Can be distracting depending on how you use it
    • 6
      Requires some management for large teams
    • 5
      Limit messages history
    • 4
      Too expensive
    • 4
      You don't really own your messages
    • 3
      Too many notifications by default

    related Slack posts

    Lucas Litton
    Founder & CEO at Macombey · | 24 upvotes · 131.7K views

    Sentry has been essential to our development approach. Nobody likes errors or apps that crash. We use Sentry heavily during Node.js and React development. Our developers are able to see error reports, crashes, user's browsers, and more, all in one place. Sentry also seamlessly integrates with Asana, Slack, and GitHub.

    See more
    Yonas Beshawred

    Using Screenhero via Slack was getting to be pretty horrible. Video and sound quality was often times pretty bad and worst of all the service just wasn't reliable. We all had high hopes when the acquisition went through but ultimately, the product just didn't live up to expectations. We ended up trying Zoom after I had heard about it from some friends at other companies. We noticed the video/sound quality was better, and more importantly it was super reliable. The Slack integration was awesome (just type /zoom and it starts a call)

    You can schedule recurring calls which is helpful. There's a G Suite (Google Calendar) integration which lets you add a Zoom call (w/dial in info + link to web/mobile) with the click of a button.

    Meeting recordings (video and audio) are really nice, you get recordings stored in the cloud on the higher tier plans. One of our engineers, Jerome, actually built a cool little Slack integration using the Slack API and Zoom API so that every time a recording is processed, a link gets posted to the "event-recordings" channel. The iOS app is great too!

    #WebAndVideoConferencing #videochat

    See more
    Kubernetes logo

    Kubernetes

    40.5K
    34.7K
    631
    Manage a cluster of Linux containers as a single system to accelerate Dev and simplify Ops
    40.5K
    34.7K
    + 1
    631
    PROS OF KUBERNETES
    • 160
      Leading docker container management solution
    • 125
      Simple and powerful
    • 102
      Open source
    • 75
      Backed by google
    • 56
      The right abstractions
    • 24
      Scale services
    • 18
      Replication controller
    • 9
      Permission managment
    • 7
      Supports autoscaling
    • 7
      Simple
    • 6
      Cheap
    • 4
      Reliable
    • 4
      No cloud platform lock-in
    • 4
      Self-healing
    • 3
      Quick cloud setup
    • 3
      Open, powerful, stable
    • 3
      Scalable
    • 3
      Promotes modern/good infrascture practice
    • 2
      Backed by Red Hat
    • 2
      Cloud Agnostic
    • 2
      Runs on azure
    • 2
      Custom and extensibility
    • 2
      Captain of Container Ship
    • 2
      A self healing environment with rich metadata
    • 1
      Golang
    • 1
      Easy setup
    • 1
      Everything of CaaS
    • 1
      Sfg
    • 1
      Expandable
    • 1
      Gke
    CONS OF KUBERNETES
    • 13
      Poor workflow for development
    • 11
      Steep learning curve
    • 5
      Orchestrates only infrastructure
    • 2
      High resource requirements for on-prem clusters

    related Kubernetes posts

    Conor Myhrvold
    Tech Brand Mgr, Office of CTO at Uber · | 39 upvotes · 4.4M views

    How Uber developed the open source, end-to-end distributed tracing Jaeger , now a CNCF project:

    Distributed tracing is quickly becoming a must-have component in the tools that organizations use to monitor their complex, microservice-based architectures. At Uber, our open source distributed tracing system Jaeger saw large-scale internal adoption throughout 2016, integrated into hundreds of microservices and now recording thousands of traces every second.

    Here is the story of how we got here, from investigating off-the-shelf solutions like Zipkin, to why we switched from pull to push architecture, and how distributed tracing will continue to evolve:

    https://eng.uber.com/distributed-tracing/

    (GitHub Pages : https://www.jaegertracing.io/, GitHub: https://github.com/jaegertracing/jaeger)

    Bindings/Operator: Python Java Node.js Go C++ Kubernetes JavaScript OpenShift C# Apache Spark

    See more
    Yshay Yaacobi

    Our first experience with .NET core was when we developed our OSS feature management platform - Tweek (https://github.com/soluto/tweek). We wanted to create a solution that is able to run anywhere (super important for OSS), has excellent performance characteristics and can fit in a multi-container architecture. We decided to implement our rule engine processor in F# , our main service was implemented in C# and other components were built using JavaScript / TypeScript and Go.

    Visual Studio Code worked really well for us as well, it worked well with all our polyglot services and the .Net core integration had great cross-platform developer experience (to be fair, F# was a bit trickier) - actually, each of our team members used a different OS (Ubuntu, macos, windows). Our production deployment ran for a time on Docker Swarm until we've decided to adopt Kubernetes with almost seamless migration process.

    After our positive experience of running .Net core workloads in containers and developing Tweek's .Net services on non-windows machines, C# had gained back some of its popularity (originally lost to Node.js), and other teams have been using it for developing microservices, k8s sidecars (like https://github.com/Soluto/airbag), cli tools, serverless functions and other projects...

    See more
    Kafka logo

    Kafka

    16.3K
    15.5K
    573
    Distributed, fault tolerant, high throughput pub-sub messaging system
    16.3K
    15.5K
    + 1
    573
    PROS OF KAFKA
    • 122
      High-throughput
    • 116
      Distributed
    • 87
      Scalable
    • 81
      High-Performance
    • 65
      Durable
    • 36
      Publish-Subscribe
    • 19
      Simple-to-use
    • 15
      Open source
    • 10
      Written in Scala and java. Runs on JVM
    • 6
      Message broker + Streaming system
    • 4
      Avro schema integration
    • 2
      Suport Multiple clients
    • 2
      Robust
    • 2
      KSQL
    • 2
      Partioned, replayable log
    • 1
      Fun
    • 1
      Extremely good parallelism constructs
    • 1
      Simple publisher / multi-subscriber model
    • 1
      Flexible
    CONS OF KAFKA
    • 27
      Non-Java clients are second-class citizens
    • 26
      Needs Zookeeper
    • 7
      Operational difficulties
    • 2
      Terrible Packaging

    related Kafka posts

    Eric Colson
    Chief Algorithms Officer at Stitch Fix · | 21 upvotes · 2.1M views

    The algorithms and data infrastructure at Stitch Fix is housed in #AWS. Data acquisition is split between events flowing through Kafka, and periodic snapshots of PostgreSQL DBs. We store data in an Amazon S3 based data warehouse. Apache Spark on Yarn is our tool of choice for data movement and #ETL. Because our storage layer (s3) is decoupled from our processing layer, we are able to scale our compute environment very elastically. We have several semi-permanent, autoscaling Yarn clusters running to serve our data processing needs. While the bulk of our compute infrastructure is dedicated to algorithmic processing, we also implemented Presto for adhoc queries and dashboards.

    Beyond data movement and ETL, most #ML centric jobs (e.g. model training and execution) run in a similarly elastic environment as containers running Python and R code on Amazon EC2 Container Service clusters. The execution of batch jobs on top of ECS is managed by Flotilla, a service we built in house and open sourced (see https://github.com/stitchfix/flotilla-os).

    At Stitch Fix, algorithmic integrations are pervasive across the business. We have dozens of data products actively integrated systems. That requires serving layer that is robust, agile, flexible, and allows for self-service. Models produced on Flotilla are packaged for deployment in production using Khan, another framework we've developed internally. Khan provides our data scientists the ability to quickly productionize those models they've developed with open source frameworks in Python 3 (e.g. PyTorch, sklearn), by automatically packaging them as Docker containers and deploying to Amazon ECS. This provides our data scientist a one-click method of getting from their algorithms to production. We then integrate those deployments into a service mesh, which allows us to A/B test various implementations in our product.

    For more info:

    #DataScience #DataStack #Data

    See more
    John Kodumal

    As we've evolved or added additional infrastructure to our stack, we've biased towards managed services. Most new backing stores are Amazon RDS instances now. We do use self-managed PostgreSQL with TimescaleDB for time-series data—this is made HA with the use of Patroni and Consul.

    We also use managed Amazon ElastiCache instances instead of spinning up Amazon EC2 instances to run Redis workloads, as well as shifting to Amazon Kinesis instead of Kafka.

    See more