Introducing Appwrite for Android. The Open-Source Firebase Alternative That Is Easy to Self-Host š
Today Iām thrilled to introduce Appwrite to the Android developer community. Appwrite is an entirely open-source and self-hosted Firebase alternative that is extremely easy to deploy. Weāve been working on Appwrite for quite a while now, and weāre super excited to announce our support for native Android development with the release of Appwrite 0.9 and our official Android SDK.
What is Appwrite?
Appwrite is a self-hosted backend as a service that is packaged as a set of Docker micro-services. Appwrite provides you with all the core APIs needed to build a modern application and abstracts all the boiler plate code to allow you to focus on creating awesome and innovative solutions.
You can use Appwrite to build applications without writing any backend code at all! But this isnāt the only way to use it. Appwrite wasnāt designed to replace your backend team, instead to give you a better starting point for your project and a great developer experience.
Although Appwrite is still in beta ( working hard on getting to 1.0 š¤), weāve already got a majority of BaaS features, and it just keeps getting better all the time, backed by an awesome community of thousands of developers, over 250 contributors and just recently, over 10,000 GitHub stars (!). āØ
Authentication and Users
The Appwrite Accounts and Users services exposes your client to an API that allows you to interact with your appās logged-in accounts and easily manage your appās users from the Appwrite Android SDK or the Appwrite console.
The Accounts service allows your users to update their account-related information and save their private preferences like their UI language, timezone, or favorite theme. In addition, you can allow your users to securely store all their preferences.
You can also use the API to get a list of all active user sessions, including information about the session location, device, operating system, and user-agent. You can even let your users review their latest logins, password recoveries, and other security-sensitive events.
Database
The Appwrite Database API is a simple REST API that allows you to add persistency to your application. For example, you can create collections of documents and handle which user has read or write access both at the collection and document levels.
Currently, Appwrite uses MariaDB as the database under the hood. In the upcoming release however, weāre adding support for MongoDB and other databases giving you complete freedom and flexibility to use the technology that your team feels most comfortable with.
Storage
The Appwrite Storage service is the easiest way to let you or your app users upload and manage their files securely. The API takes advantage of the same simple read and write permissions mechanism that the database uses. This allows you to easily grant read and write access to all users, specific users, and even teams of users.
Appwrite also takes care of your file compression, encryption and even provides you with built-in anti-virus scanning. Security and privacy are at the heart of everything we do at Appwrite.
Teams
The Appwrite Teams service allows you and your users to create teams and share permission to different API resources, such as files, functions, or documents. This is a great and simple way to implement complex access control requirements for your product.
Each team member can also be granted different roles to give you even greater flexibility. You can also use your Appwrite console and backend SDKs to manage your teams easily.
Functions
The Appwrite Functions API allows you to easily extend your Appwrite API behavior and capabilities in any coding language that youād like to use, including Java and Kotlin as part of our new support for Android developers.
You can trigger your custom functions using the Appwrite API, console, or using a CRON schedule. You can even trigger your functions on any system event like user creation or when a new file is uploaded.
Get Started
Appwrite is packaged as a set of Docker microservices that can run anywhere Docker can run. This allows you to deploy Appwrite fairly easily using a single CLI command.
Unix
docker run -it ā rm \
ā volume /var/run/docker.sock:/var/run/docker.sock \
ā volume ā$(pwd)ā/appwrite:/usr/src/code/appwrite:rw \
ā entrypoint=āinstallā \
appwrite/appwrite:0.9.0
CMD
docker run -it --rm ^
--volume //var/run/docker.sock:/var/run/docker.sock ^
--volume "%cd%"/appwrite:/usr/src/code/appwrite:rw ^
--entrypoint="install" ^
appwrite/appwrite:0.9.0
PowerShell
docker run -it --rm ,
--volume /var/run/docker.sock:/var/run/docker.sock ,
--volume ${pwd}/appwrite:/usr/src/code/appwrite:rw ,
--entrypoint="install" ,
appwrite/appwrite:0.9.0
Once your Appwrite API and console are up, getting started with the new Android SDK is fairly easy. You can check out our Android Quick Start Guide for making your first Appwrite API call from your Android application.
Whatās Next?
If youāre new to Appwrite, you should join our Discord community, where we chat about Appwrite non-stop. You should also check out the Appwrite Awesome repository, where youāll find lots of resources about Appwrite, including text and video tutorials and many ( many ) demo applications.
We also really like Github stars. So if you like what we do, weād love you to drop a āļø on our Github repo.