Need advice about which tool to choose?Ask the StackShare community!
FeathersJS vs Firebase: What are the differences?
Introduction
FeathersJS and Firebase are both popular backend frameworks for web and mobile applications. While they have some similarities, there are key differences that set them apart. Below are six specific differences between FeathersJS and Firebase.
Database Support: FeathersJS provides support for multiple databases, including SQL, NoSQL, and in-memory databases. This allows developers to choose the database that best fits their project requirements. On the other hand, Firebase is tightly integrated with Google Cloud Firestore, a NoSQL database, and does not offer the flexibility to switch to other databases easily.
Real-time Capabilities: FeathersJS is built upon real-time technologies like WebSockets and offers built-in support for real-time data synchronization. Developers can easily implement real-time features such as real-time chat, live-updating dashboards, and collaborative editing. Firebase, on the other hand, offers a more extensive real-time feature set, providing real-time data synchronization out-of-the-box with minimal effort.
Authentication and Authorization: FeathersJS provides a flexible authentication and authorization system where developers can choose from various strategies such as OAuth, JWT, or local authentication. It also allows developers to define fine-grained access control rules. Firebase offers a similar authentication system but includes additional features like social logins, SMS authentication, and user management that are built into the platform.
Server Environment: FeathersJS is built to run on any web server environment, including popular options like Express, Hapi, or Koa. This allows developers to have more control over their server setup and configuration. In contrast, Firebase is hosted and managed entirely by Google, and developers do not have control over the server environment.
Querying and Filtering: FeathersJS provides a powerful querying and filtering syntax that allows developers to perform complex database queries and filtering on the server-side. This can be useful for optimizing queries and reducing bandwidth usage. Firebase offers a simpler querying syntax compared to FeathersJS, which may not be as flexible for complex database operations.
Deployment Options: FeathersJS allows developers to deploy their applications to any hosting provider or cloud platform. It provides flexibility in choosing the deployment strategy and infrastructure. Firebase, on the other hand, offers a seamless deployment experience through Firebase Hosting and integrates well with other Google Cloud services.
In summary, FeathersJS provides flexibility in terms of database support, server environment, and deployment options, while Firebase offers a more integrated and feature-rich real-time platform with additional authentication options and a simpler deployment process. The choice between FeathersJS and Firebase depends on the specific requirements of the project and the trade-offs developers are willing to make.
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.
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.
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
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
Pros of FeathersJS
- Real-time12
- Choose any ORM7
- Datastore Agnostic7
- Flexible Plugins6
- Choose Socketio or Primus5
- Easy Rest4
- Isomorphic Services API4
- Open source4
- Scalable3
- Easy to use with Graphql3
- Documentation3
- Service-oriented architecture3
- Data-driven APIs3
- Uses express, will support other options soon3
- Advanced Composable Service Middleware called holds3
Pros of Firebase
- Realtime backend made easy371
- Fast and responsive270
- Easy setup242
- Real-time215
- JSON191
- Free134
- Backed by google128
- Angular adaptor83
- Reliable68
- Great customer support36
- Great documentation32
- Real-time synchronization25
- Mobile friendly21
- Rapid prototyping18
- Great security14
- Automatic scaling12
- Freakingly awesome11
- Chat8
- Angularfire is an amazing addition!8
- Super fast development8
- Built in user auth/oauth6
- Firebase hosting6
- Ios adaptor6
- Awesome next-gen backend6
- Speed of light4
- Very easy to use4
- Great3
- It's made development super fast3
- Brilliant for startups3
- Free hosting2
- Cloud functions2
- JS Offline and Sync suport2
- Low battery consumption2
- .net2
- The concurrent updates create a great experience2
- Push notification2
- I can quickly create static web apps with no backend2
- Great all-round functionality2
- Free authentication solution2
- Easy Reactjs integration1
- Google's support1
- Free SSL1
- CDN & cache out of the box1
- Easy to use1
- Large1
- Faster workflow1
- Serverless1
- Good Free Limits1
- Simple and easy1
Sign up to add or upvote prosMake informed product decisions
Cons of FeathersJS
Cons of Firebase
- Can become expensive31
- No open source, you depend on external company16
- Scalability is not infinite15
- Not Flexible Enough9
- Cant filter queries7
- Very unstable server3
- No Relational Data3
- Too many errors2
- No offline sync2