Appwrite

Что такое Appwrite

Это платформа для разработки с открытым исходным кодом, которая предоставляет встроенную серверную инфраструктуру и веб-хостинг в одном месте.
Фактически это Supabase на минималках. Но есть все базовые функции.

Сайт проекта: https://appwrite.io/

Обзоры

Цены:

2025-01-31_Pricing - Appwrite.jpg

Полный разбор от AI

Основные отличия Appwrite и Supabase

Обе платформы являются бэкенд-сервисами (BaaS), предоставляющими серверную инфраструктуру для приложений. Однако у них разные подходы и особенности.

1. Ядро и база данных

Appwrite

• Использует MariaDB (SQL) для хранения данных.

• Поддерживает Redis для кэша и очередей.

• Хорошо подходит для файлового хранения и серверных функций.

Supabase

• Основан на PostgreSQL, предоставляя мощные SQL-запросы и расширения (PostGIS, Full-Text Search и т. д.).

• Поддерживает реактивные подписки (real-time) через WebSockets.

• Поддерживает Edge Functions для серверной логики.

👉 Вывод: Если нужен мощный SQL (PostgreSQL) и real-time-функции, лучше Supabase. Если важна файловая система и функции, можно выбрать Appwrite.

2. API и интеграция

Appwrite

• API основан на REST и GraphQL (в бета-версии).

• Имеет SDK для Flutter/Dart, JS, Kotlin, Swift, Python, PHP и других языков.

• Ориентирован на мобильные приложения и веб-приложения.

Supabase

Полноценный REST API, автоматически генерируемый по структуре базы данных.

• Есть GraphQL API через сторонний сервис (pg_graphql).

• Поддерживает Flutter, JavaScript, Python, Kotlin, Swift и другие.

👉 Вывод: Supabase лучше для работы с PostgreSQL и real-time, а Appwrite удобнее для мобильных разработчиков.

3. Аутентификация

Appwrite

• Поддерживает OAuth (Google, Facebook, Apple и др.), email/password и анонимную авторизацию.

• Поддерживает MFA (двухфакторную авторизацию).

• Имеет встроенную систему управления пользователями.

Supabase

• Тоже поддерживает OAuth (Google, GitHub, Apple и др.), email/password и Magic Link.

• Имеет более гибкую систему аутентификации через PostgreSQL Policies (RLS).

👉 Вывод: Supabase даёт больше гибкости за счёт PostgreSQL Policies, но у Appwrite удобные SDK и управление пользователями.

4. Файловое хранилище

Appwrite

• Встроенная файловая система с поддержкой локального хранилища и S3.

• Позволяет загружать и управлять файлами через API.

Supabase

• Поддержка S3-совместимого хранилища через Storage API.

👉 Вывод: Appwrite более специализирован на файловом хранилище, а Supabase просто даёт доступ к объектному хранилищу.

5. Серверные функции (Cloud Functions)

Appwrite

• Поддерживает серверные функции на нескольких языках (Node.js, Dart, Python, PHP, Ruby, .NET и др.).

• Можно запускать код на сервере в ответ на события (например, пользователь создал аккаунт).

Supabase

• Поддерживает Edge Functions (быстрее и дешевле) на основе Deno (TypeScript/JavaScript).

• Позволяет выполнять код ближе к пользователям через CDN.

👉 Вывод: Appwrite предлагает больше языков для серверных функций, а Supabase даёт более быстрые Edge Functions.

6. Локальный хостинг и масштабируемость

Appwrite

Ориентирован на self-hosted развертывание через Docker.

• Требует больше ресурсов на старте.

• Лучше для мобильных и веб-приложений с кастомным хостингом.

Supabase

• Поддерживает облачный и self-hosted режим.

• Масштабируется через PostgreSQL и Kubernetes.

• Хорошо подходит для веб-приложений и real-time API.

👉 Вывод: Appwrite лучше для self-hosted мобильных приложений, Supabase – для масштабируемых cloud-приложений.

7. Сообщество и документация

Appwrite

Активное open-source сообщество.

• Хорошая документация, но меньше примеров, чем у Supabase.

Supabase

Очень активное сообщество и постоянные обновления.

• Отличная документация и туториалы.

👉 Вывод: у Supabase более развитая документация и поддержка.

Вывод: Что выбрать?

🔹 Выбери Appwrite, если:

• Нужно self-hosted BaaS (развернуть на своём сервере).

• Нужны гибкие серверные функции на разных языках.

• Требуется удобное файловое хранилище.

🔹 Выбери Supabase, если:

• Нужен PostgreSQL с реактивными обновлениями.

• Нужны Edge Functions (мгновенный серверный код).

• Требуется масштабируемость в облаке.