Firebase is often first choice of “backend” for mobile apps. It is a great tool to build online-connected mobile app. But is there any good Firebase alternative? Of course there is.
AppWrite is an open-source, self-hosted backend service which works on the same basis as Firebase – but it is free and can be installed on-premise. Let’s take a look what it can do!
What can Firebase alternative do?
So let’s jump straight to facts. AppWrite is still version 0.8, but it already has lots of possibilities. It is a fully pledged backend service which can do almost everything that programmed backend would do.
1. Integration with web-apps, mobile-apps and custom backend
2. Setting permissions per resource (each object separately)
3. Custom written functions on backend
4. Store files & images
5. Integrate WebHooks
6. Do action on Event (for example on user creation)
7. Run scheduled tasks
AppWrite provides you SDKs for Flutter, web-apps and your custom backend service if you have one. With these SDKs, you can use AppWrite backend without configuring REST API in your project. Also, it takes care of things like authentication, data access and permissions.
Setting permissions per row in database might be confusing at the beginning, but in general, it is a great feature! Thanks to that, you don’t need to manually set relations between user and rows, check if team is allowed to read or write this resource. It is just built in!
Functions in AppWrite allow you to add whatever functionality you wish to your backend. Each function will be hosted in a separate docker container, and it will have access to your AppWrite instance.
Events and Scheduled tasks
In this great Firebase alternative, you are also allowed to invoke your custom functions on events. There are many possible events to choose from like user created, row added, and pretty much any other event you can think of. So, it won’t be a problem to send a welcome email on user registration or inform users about new article in CMS created on AppWrite
Moreover, you can set up CRON job, which will invoke your function in specified interval. This way, you can run cleaning your storage every day to prevent running out of disk space.
To operate manually on the AppWrite’s data, you are given a whole dashboard. In there you can add data manually, moderate users, add functions and define collections. In this console you can also monitor usage of your services.
AppWrite is distributed as docker image. So, you can easily install it on your PC, VPS or Cloud with just one command. There isn’t needed any complicated configurations, installations or any other boring stuff.
What can’t Firebase alternative do?
AppWrite is still under development. That means it does not have everything that Firebase has. Still, it is ready to use on production, but you should know what it lacks.
The first thing I noticed that Firebase alternative should contain is observing data with WebSockets. It is available in a preview version of AppWrite tough, so it should be published soon.
AppWrite is much more backend-oriented, and it does not have many features that are not strictly bonded with backend functionalities. Some of these functionalities are: Machine learning, A/B tests, Push Notification and many more. It does not mean you should not use it! It is still a great Firebase alternative, but it just does not have as wide variety of features as Firebase has.
Is it worth to use Firebase alternative?
Sure it is! The biggest advantage of AppWrite over the Firebase is the fact it is open-source. You can install it on any server you want, so it won’t be a problem to offer your SaaS as on-premise installation. Also, when the app has many users, you can save a lot of money if you install it on your hosting. You pay only for the server – not for a service.
Summing up, AppWrite is a great Firebase alternative which will save you a lot of time and money. It is easy to install and easy to use. Don’t waste time building a backend from scratch if it is just a CRUD application with some simple features.
To boost your app development, you might use AppWrite with FlutterFlow. In FlutterFlow you would build UI, AppWrite will be your backend and all you need to do, is integrating these two tools together.