面向移动和 Web 开发人员的开源后端服务器
Appwrite
是一个新的开源软件,用于前端和移动开发人员的端到端的后端服务器,可以让你更快地构建应用程序。Appwrite
的目标是抽象和简化 REST API
和工具背后的常见开发任务,以帮助开发人员更快地构建高级应用程序。
1. 服务部署安装
推荐使用 docker 进行容器化部署
当使用 Docker
安装部署之后,可以通过浏览器访问 http://localhost
地址,来访问 Appwrite
服务。需要注意的是,在非 Linux
本机主机上,安装完成后服务器可能需要几分钟才能启动。
- docker
# Unix
docker run -it --rm \
--volume /var/run/docker.sock:/var/run/docker.sock \
--volume "$(pwd)"/appwrite:/usr/src/code/appwrite:rw \
--entrypoint="install" \
appwrite/appwrite:0.10.2
# PowerShell
docker run -it --rm ,
--volume /var/run/docker.sock:/var/run/docker.sock ,
--volume ${pwd}/appwrite:/usr/src/code/appwrite:rw ,
--entrypoint="install" ,
appwrite/appwrite:0.10.2
- 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
2. 主要功能介绍
利用 Appwrite 产品加速您在任何平台上的开发!
这里简单介绍一些主要的 Appwrite
服务,并解释它们的主要功能以及它们的设计方式,相比从头开始编写所有后端 API
,这可以帮助你更快地构建下一个项目。随着更多开源中间件变得更易于使用,软件开发越来越容易。Appwrite
声称可将开发时间和成本降低 70%
。
Appwrite
是一个安全的开源 后端即服务,适用于绝大多数的应用程序。Appwrite
负责用户身份验证、授权、会话管理、角色和访问控制、数据库、文件存储、电子邮件验证、密码恢复、20
多个 OAuth
提供程序、自动 SSL
、云功能等等!
- [1] Appwrite 身份验证 - Users
通过 Appwrite
身份验证服务,您可以轻松管理用户注册并登录到您的应用程序。Auth
服务还提供与 Facebook
,Github
等多个 OAuth
提供程序的内置集成。
除了管理对您的应用及其不同资源的访问控制之外,Auth
服务还抽象了其他重复任务,例如管理用户电子邮件确认和密码恢复。使用 Auth
服务,您可以节省大量时间和构建稳定,安全的用户身份验证和授权系统所需的时间,该系统还必须与多种第三方登录方法集成。
- [2] Appwrite 帐户 - Account
Appwrite
帐户服务使用 API
公开您的客户端,该 API
允许您与当前登录的用户帐户进行交互。帐户服务使您的用户可以更新与帐户相关的信息,并保存其个人偏好设置,例如用户界面语言,时区或喜欢的主题。 您可以根据自己的喜好设置用户。
您还可以使用 API
获取用户活动会话的列表,包括有关会话位置,设备,操作系统和用户代理的信息。使用 API
安全日志端点,您可以让您的用户查看其最新登录信息,密码恢复以及其他对安全性敏感的事件。
- [3] Appwrite 存储 - Storage
Appwrite
存储服务是让您或您的应用程序用户,安全、简单地上传和管理文件的最简单方法。Appwrite Storage API
利用了与 Appwrite
数据库相同的简单读写权限机制。这使您可以轻松地决定是否所有用户,特定用户甚至用户团队都可以访问您的文件。
Appwrite Storage
服务提供的最有用的功能之一是能够预览文件内容并将其显示为应用程序或网站中的缩略图的功能。您还可以动态更改缩略图的大小,在不同的图像格式之间转换它们(支持webp
格式),并更改其质量以改善网络性能。
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);
}
);
- [4] Appwrite 团队 - Teams
Appwrite Teams
服务允许您和您的用户创建团队并共享对不同 API
资源(如文件或文档)的许可。这是对产品实施复杂的访问控制要求的简便方法。每个团队成员还可以担任不同的角色,以使您拥有更大的灵活性。
- [5] Appwrite 任务 - Functions
Appwrite Task
服务是设置定期计划作业的好方法。无需使用复杂的 crontabs
或长时间运行的守护程序进行处理,而不必担心诸如容错,监视和错误日志记录之类的事情,您所要做的就是提交带有任务的表单作为 HTTP
端点和类似 cron
的语法,以指示如何通常应该执行它。就这么简单。
您还可以使用任务高级选项将不同的 HTTP 标头添加到您的请求中,或通过基本 HTTP
身份验证对其进行保护。不用说,您所有敏感的 HTTP
密码都在 Appwrite
内部数据库中进行了安全加密。
- [6] Appwrite 区域 - Locale
跟踪用户的位置,并管理基于应用区域设置的数据。
- [7] Appwrite 头像 - Avatars
管理用户的头像、国家国旗、浏览器图标、信用卡符号,并生成二维码。
- [8] Appwrite 数据库 - Database
Appwrite
数据库服务使您可以直接从客户端应用程序(无论是浏览器还是本机应用程序)与用户和应用程序数据集成。数据库中的每个文档都可以嵌套其他子文档。使用 Appwrite
数据库过滤器,您可以应用高级查询并过滤嵌套的文档集合。
每个文档都可以设置对特定用户,一组用户,API
密钥或用户角色的读写权限。使用简单但灵活的权限机制,您可以管理应用程序的复杂和复杂的访问控制逻辑。
Appwrite
数据库还使您可以灵活地在结构化数据收集或灵活收集之间进行选择,以随时管理数据。使用 Appwrite
,简单而强大的数据集合,您可以为集合中的每个文档强制执行数据结构和验证规则。
3. 快速上手使用
快速入门,易于成长!
开始使用 Appwrite
就像创建一个新项目一样,选择你的平台并将其 SDK
集成到你的代码里面,就可以了。我们可以通过阅读入门教程,就可以轻松开始使用了。
- Done
- Todo
Getting Started for Android
(Coming soon…)Getting Started for iOS
(Coming soon…)
以下是,当前支持的平台和语言的列表:
4. 参考链接地址
送人玫瑰,手有余香!