Appwrite - 开源全端开发平台
开源全端开发平台,为Web、移动端和AI应用提供云端后端基础设施,整合Auth/Databases/Storage/Functions等
GitHub: appwrite/appwrite (55,719 stars)
2026年4月15日
backendcloudapi
什么是 Appwrite?
Appwrite 是一个开源的全端开发平台,为 Web、移动端和 AI 应用提供完整的云端后端基础设施。它将身份验证、数据库、存储、云函数、消息推送、实时能力、网站托管等功能整合到一个平台,大幅减少现代产品开发中的重复后端工作。
既可以作为托管云平台使用,也可以完全自部署在自有基础设施上。
核心产品
| 产品 | 功能 |
|---|---|
| Auth | 多方式用户认证(OAuth、邮箱、短信、匿名会话、MFA) |
| Databases | 可扩展结构化数据,支持查询、分页、索引、关系 |
| Storage | 安全文件存储,支持加密、压缩、媒体转换 |
| Functions | 无服务器计算,15 种运行时支持 |
| Messaging | 多渠道消息推送(邮件、短信、推送通知) |
| Sites | 网站托管,支持 SSR、自定义域名 |
| Realtime | 实时响应服务器事件 |
快速入门
环境要求
- Docker 已安装
安装(一行命令)
docker run -it --rm \
--publish 20080:20080 \
--volume /var/run/docker.sock:/var/run/docker.sock \
--volume "$(pwd)"/appwrite:/usr/src/code/appwrite:rw \
--entrypoint="install" \
appwrite/appwrite:1.9.1
安装完成后访问 http://localhost 进入控制台。
第一个示例:用户认证(Web)
import { Client, Account } from 'appwrite';
const client = new Client();
client
.setEndpoint('https://cloud.appwrite.io/v1')
.setProject('[YOUR_PROJECT_ID]');
const account = new Account(client);
// 创建账户
async function register(email, password, name) {
await account.create('unique()', email, password, name);
await account.createEmailSession(email, password);
}
// 登录
async function login(email, password) {
await account.createEmailSession(email, password);
}
SDK 支持
| 平台 | 状态 |
|---|---|
| Web / React / Vue / Angular / Next.js / SvelteKit | ✅ 官方支持 |
| Flutter | ✅ 官方支持 |
| iOS (Swift) | ✅ 官方支持 |
| Android (Kotlin) | ✅ 官方支持 |
| React Native | ✅ 官方支持 |
| Node.js / Python / Ruby / PHP / .NET / Dart / Deno | ✅ 官方支持 |
AI 集成
Appwrite 提供官方 MCP (Model Context Protocol) Server,让 LLM 可以直接与 Appwrite API 交互,实现 AI 驱动的应用开发。
与 Firebase/Supabase 对比
| 特性 | Appwrite | Firebase | Supabase |
|---|---|---|---|
| 自托管 | ✅ 完全支持 | ❌ | ✅ |
| GraphQL | ✅ | ❌ | ✅ |
| Realtime | ✅ | ✅ | ✅ |
| 云函数 | ✅ (15种运行时) | ✅ | ❌ |
| 存储 | ✅ | ✅ | ✅ |
| Auth | ✅ (更丰富) | ✅ | ✅ |
| 数据库 | 关系型+文档 | 文档型 | PostgreSQL |
最佳实践
- 从 Cloud 开始:新手推荐先使用 Appwrite Cloud 免费版
- 使用 SDK:官方 SDK 比直接调 REST API 更方便
- 善用 Realtime:数据库和存储变化用 Realtime 监听
- 自托管生产环境:参考官方 Docker compose 和环境变量文档
- 数据迁移:官方提供 Firebase/Supabase/Nhost 迁移工具
参考
- GitHub: appwrite/appwrite
- 官方文档: https://appwrite.io/docs
- 云平台: https://cloud.appwrite.io