Backend Intermediate TypeScript

Appwrite - 开源全端开发平台

开源全端开发平台,为Web、移动端和AI应用提供云端后端基础设施,整合Auth/Databases/Storage/Functions等

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 对比

特性AppwriteFirebaseSupabase
自托管✅ 完全支持
GraphQL
Realtime
云函数✅ (15种运行时)
存储
Auth✅ (更丰富)
数据库关系型+文档文档型PostgreSQL

最佳实践

  1. 从 Cloud 开始:新手推荐先使用 Appwrite Cloud 免费版
  2. 使用 SDK:官方 SDK 比直接调 REST API 更方便
  3. 善用 Realtime:数据库和存储变化用 Realtime 监听
  4. 自托管生产环境:参考官方 Docker compose 和环境变量文档
  5. 数据迁移:官方提供 Firebase/Supabase/Nhost 迁移工具

参考