介绍 Appwrite:面向移动和 Web 开发人员的开源后端服务器 Appwrite 身份验证 Appwrite 帐户 Appwrite 数据库 Appwrite 存储 Appwrite 团队 Appwrite 任务 Appwrite Webhooks 下一步是什么?

2025-06-04

Appwrite 简介:面向移动和 Web 开发人员的开源后端服务器

Appwrite 身份验证

Appwrite 账户

Appwrite 数据库

Appwrite 存储

Appwrite 团队

Appwrite 任务

Appwrite Webhooks

下一步是什么?

Appwrite 是一款面向前端和移动开发者的全新开源端到端后端服务器,可帮助您更快地构建应用。Appwrite 的目标是抽象和简化 REST API 和工具背后的常见开发任务,从而帮助开发者更快地构建高级应用。

在这篇文章中,我将简要介绍一些主要的 Appwrite 服务,并解释它们的主要功能以及它们如何帮助您比从头开始编写所有后端 API 更快地构建下一个项目。

Appwrite 服务器被打包为一个 docker 容器,您可以使用本地计算机或云提供商上的终端上的简单 docker-compose 命令轻松设置它。

mkdir appwrite-ce && \
cd appwrite-ce && \
curl -o docker-compose.yml https://appwrite.io/docker-compose.yml && \
docker-compose up -d --remove-orphans
Enter fullscreen mode Exit fullscreen mode

Appwrite 的安装非常简单,只需从命令行终端运行一个命令即可。

Appwrite 身份验证

Appwrite 身份验证服务让您轻松管理用户注册和应用登录。该身份验证服务还提供与 Facebook、Github、LinkedIn 等多家 OAuth 提供商的内置集成。

您可以轻松地集成 OAuth 提供程序作为应用程序的新登录方法

除了管理对您的应用及其不同资源的访问控制之外,Auth 服务还抽象了其他重复任务,例如管理用户电子邮件确认和密码恢复。

使用 Auth 服务,您可以节省大量时间和精力,无需担心构建稳定、安全的用户身份验证和授权系统,该系统还必须与多种第三方登录方法集成。

Appwrite 账户

Appwrite 帐户服务向您的客户端公开一个 API,允许您与当前登录的用户帐户进行交互。

Appwrite 帐户服务让您管理用户活动会话。

账户服务允许您的用户更新其账户相关信息,并保存他们的个人偏好设置,例如界面语言、时区或常用主题。您可以根据自己的喜好设置用户偏好设置。

您还可以使用 API 获取用户活动会话列表,包括会话位置、设备、操作系统和用户代理等信息。使用 API 安全日志端点,您可以让用户查看其最新的登录信息、密码恢复信息以及其他安全敏感事件。

Appwrite 数据库

Appwrite 数据库仪表板允许您轻松浏览项目集合和文档。

Appwrite 数据库服务允许您直接从客户端应用(无论是浏览器还是原生应用)集成用户和应用数据。数据库中的每个文档都可以嵌套其他子文档。使用 Appwrite 数据库过滤器,您可以应用高级查询并过滤嵌套文档集合。

每个文档都可以为特定用户、用户团队、API 密钥或用户角色设置读写权限。使用 Appwrite 数据库,简单而灵活的权限机制,您可以管理应用复杂而精细的访问控制逻辑。

Appwrite 数据库还允许您灵活地选择结构化数据收集或灵活的数据收集方式,以便您随时随地管理数据。使用 Appwrite 这种简单而强大的数据收集方式,您可以为收集中的每个文档强制执行数据结构和验证规则。

Appwrite 存储

Appwrite 存储服务是让您或您的应用程序用户安全、简单地上传和管理文件的最简单方法。

Appwrite 存储 API 利用与 Appwrite 数据库相同的简单读写权限机制。这让您可以轻松决定文件是否允许所有用户、特定用户甚至用户团队访问。

var appwrite = new window.Appwrite();

appwrite
    .setEndpoint('https://localhost/v1')
    .setProject('[PROJECT-ID]')
;

var file  = document.getElementById('file-input').files[0];
let read  = ['*']; // wildecard read access
let write = ['user:self']; // write access only to me

appwrite.storage.createFile(file, read, write)
    .then(function (response) {
        console.log('file uploaded successfully');
    }, function (error) {
          console.log(error);
    });
Enter fullscreen mode Exit fullscreen mode

Appwrite Storage API 允许您轻松地在应用程序中集成安全文件上传。

Appwrite 存储服务还内置了自动更新的防病毒服务器。所有上传到您系统的新文件都会经过扫描和验证,以保障您和用户的安全。

Appwrite 存储服务提供的最实用功能之一是能够预览文件内容,并在应用或网站中以缩略图形式显示。您还可以动态更改缩略图的大小,在不同图像格式之间转换(支持 webp!),并调整其质量以提升网络性能。

Appwrite 团队

Appwrite Teams 服务允许您和您的用户创建团队并共享不同 API 资源(例如文件或文档)的权限。这是一种为您的产品实现复杂访问控制需求的简单有效方法。

每个团队成员还可以被分配不同的角色,以赋予您更大的灵活性。

Appwrite 任务

Appwrite Task 服务是设置重复计划作业的好方法。

您无需处理复杂的 crontab 或长时间运行的守护进程,也无需担心容错、监控和错误日志记录等问题,只需提交一个表单,将任务作为 HTTP 端点,并使用类似 cron 的语法来指示执行频率即可。就是这么简单。

您还可以使用任务高级选项向请求添加不同的 HTTP 标头,或使用基本 HTTP 身份验证进行保护。毋庸置疑,所有敏感的 HTTP 密码均已在 Appwrite 内部数据库中安全加密。

Appwrite Webhooks

您可以从 Appwrite 控制台轻松注册新的 webhook。

Appwrite Webhooks 旨在让您轻松便捷地集成后端的自定义行为。

想要在新用户注册您的应用时收到短信?想要在应用文档更新时清除缓存?只需添加一个新的 Webhook,当特定的 Appwrite 事件触发时,它会触发您终端上的 HTTP 端点。使用 Appwrite Webhook,您的想象力将无所不能。

下一步是什么?

在这篇文章中,我重点介绍了一些比较引人注目的 Appwrite 服务。在后续的文章中,我将更深入地探讨其中的一些功能,并解释如何将它们集成到你的代码中。

与此同时,我鼓励您阅读Appwrite 官方文档和 API 参考,以进一步了解不同 Appwrite 工具能够为开发者提供哪些功能。您也可以在 Medium 上关注我,获取更多 Appwrite 教程。

如果您喜欢这个项目并想为其做出贡献,您可以通过在项目Github 存储库中打开新问题或发送新的拉取请求来实现。

文章来源:https://dev.to/eldadfux/introducing-appwrite-an-open-source-backend-server-for-mobile-web-developers-4b84
PREV
Holopin 隆重推出:开发者专属的数字徽章平台!我们为何打造 Holopin?功能介绍:下一步是什么?在 Hacktoberfest 上领取 Holopin
NEXT
最适合开发人员的博客平台