Skip to content

Appwrite

Introduction

Appwrite is a backend service platform that is self-hosted and lets the developers create a secure open-source backend server, for both web and mobile. Appwrite provides APIs that developers can build with different tools, languages, and services, including user authentication, database management, storage, and Functions. Appwrite has 11 different programming languages with 12 different SDKs (Software Development Kits) where developers can select the language they are comfortable with. Using Appwrite allows the developer to easily create multiple databases, and organize your data into collections and documents with the Appwrite REST API, GraphQL, and Realtime API. It also supports a variety of frameworks like Flutter, React, Angular, Vue, and Svelte which makes Appwrite an adaptable platform for developers.

Brief History

Appwrite first started in September 2019. It was formed by Founder and CEO Eldad Fux, first as a passion to solve the problems he was facing as a tech leader and software engineer. Appwrite was created to avoid the complexity of software development and serve as a consistent and predictable abstraction layer on top of traditional cloud solutions. Appwrite does not need to force the user to learn new skills, as it provides the APIs to build modern software projects by leaning on already existing protocols and developers’ knowledge. The various Appwrite services have APIs for operating Authentication, Databases, Storage, Functions and more.

Appwrite was officially launched in 2021 and already won the Golden kitty award in 2022, which is an annual celebration to acknowledge and appreciate innovative products around the world. It has also been ranked as the number 2 product of the week and number one product of the day on Product Hunt. With its board of directors containing six people, including the founder, Appwrite also has +200 thousand community members according to its website.

Appwrite Database and Features

Appwrite databases let developers store application and users’ data and fetch it using REST API. Appwrite REST API is built of a traditional NoSQL database which means it creates collections as containers of documents. Developers can also build databases with an SQL adapter, Appwrite will then make collections as tables and documents as rows on native SQL tables. Developers can create databases with the Appwrite CLI or the Appwrite Server SDKs and can use different protocols to access the server, including REST API, GraphQL, and Realtime API.

By using the subscription method, Realtime API lets you listen to any events on the server-side. Developers don’t have to request new data via HTTP, the subscription method will load the new data every time it changes. Realtime API allows users to receive the update almost immediately through a WebSocket connection. The WebSocket is a technology with an open two-way interactive communication session between the user’s browser and a server. With the realtime API, developers can build interactive user experiences by providing information from Appwrite’s services in realtime. Developers can also access the Appwrite server using GraphQL.

Authentication service lets developers handle user registration and login to the application. You can also use Auth service which offers built-in integration with multiple OAuth providers such as Facebook, Github, LinkedIn and more. The Auth service lets you also manage user email confirmation and password recovery with third-party login methods that come with a stable and secure authorization system.

Account service lets developers interact with a currently logged-in user account with an API. Developers can also use the Account API to get a list of the user’s active sessions, and information about the session location, device and operating system. The account API can also let your users see their latest logins, password recoveries, and other security-sensitive events

Storage the Storage service allows developers or users to upload and manage their files securely. You can also decide whether to have your files open to be accessed by all users, some users or even teams of users. Developers can also use build-in integration with an auto-updated anti-virus server, the anti-virus server will scan and validate all files to keep you and your users secure.

Strengths

  • Appwrite is an open-source project which makes it free to use and create web, app or server. It has a wide range of coding languages and frameworks which makes it an adaptable platform for developers.
  • With Appwrite developers don’t have to be concerned about handling servers or infrastructure. It uses a serverless architecture which can save developers time and resources to concentrate on building the application.
  • Appwrite is designed to be easy to use and to meet developers where they are. With Appwrite developers can use Pink Design, Pink Design is Appwrite’s open-source design system for building user interfaces.
  • Appwrite is a new upcoming open-source alternative for Firebase with good and explainable documentation. It has a large developer community that can help developers get started quickly with their projects.

Weaknesses

  • Appwrite can be a more complex platform, it’s a new platform with many coding languages which can make it a little overwhelming to get set up and maintain.
  • Appwrite is free to use and build but developers have to host with another platform which can make it a little more expensive. Appwrite is currently working on making hosting possible in the future.
  • As an upcoming platform, Appwrite has a smaller community of users and contributors compared to other platforms. Developers can find it difficult to solve issues or find answers to questions.
  • Appwrite has a lot of integrations with other technologies and services but other established platforms can have more pre-built integrations to select form.

Appwrite vs Firebase

Firebase is one of the most popular BaaS platforms that provides developers with many services for building, scaling, and managing applications. It is a Google-owned and well-known established platform compared to Appwrite which is a new open-source alternative for Firebase. The two offer similar tools and services for building and managing web and mobile applications, but with Appwrite you can focus more on building APIs or integrating your application with other APIs. Both companies have their advantages and disadvantages, with Appwrite you can avoid vendor lock-in and simply move to a different provider or to a self-hosted solution afterward compared to Firebase which offers hosting service.

Summary

Appwrite is a cloud-based platform and back-end server for front-end that lets the developers create a secure open-source backend server, for both web and mobile. The platform offers different tools, languages, and services, including user authentication, database management, storage, and Functions to build your web or app much faster. Its goal is to make developers avoid difficult tasks behind REST APIs and tools to help us build advanced apps faster.

Appwrite is designed to be both cross-platform and technology-agnostic which means it can run on any operating system, coding language, framework, or platform. It has 11 different programming languages with 12 different SDKs and supports a variety of frameworks like Flutter, React, Angular, Vue, and Svelte which makes Appwrite an adaptable platform for developers.

In conclusion, Appwrite presents a promising solution for developers seeking to expedite the creation of APIs, databases, and user authentication processes for modern advanced applications. With a growing community supporting it, Appwrite is getting more popular as an alternative for Firebase. While it is free to use, it requires manual hosting in Docker.

Credits

  • Mohammed Allawi (Allawi465)

References