Appwrite
Что такое Appwrite
Это платформа для разработки с открытым исходным кодом, которая предоставляет встроенную серверную инфраструктуру и веб-хостинг в одном месте.
Фактически это Supabase на минималках. Но есть все базовые функции.
Сайт проекта: https://appwrite.io/
Обзоры
AppWrite Tutorial and Review от James Nocode
Цены:
Полный разбор от AI
Обе платформы являются бэкенд-сервисами (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 (мгновенный серверный код).
• Требуется масштабируемость в облаке.
