它来了!Appwrite 0.12 版本正式发布!
由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!
我们很高兴地宣布 Appwrite 0.12 正式发布!新版本 Appwrite 带来了前所未有的性能提升、更佳的开发者体验,以及众多旨在简化开发者工作的全新功能。相信我们,这次更新意义重大!此外,最新版本还包含了超过 1500 次提交,并得到了 29 位新贡献者的鼎力支持,正是他们的贡献才使得此次发布成为可能。
🧪 数据库如虎添翼
在 0.12 版本中,我们完全重写了 Appwrite 数据管理层。我们改进了内部数据结构和后台工作进程,并引入了属性(取代规则)和索引等新概念,以实现最佳性能和灵活性。
我们还新增了一种易于理解的查询语法。这种新语法支持诸如 OR 语句之类的新功能,并为核心团队实现我们热衷的更多高级功能(例如基于includes运算符和地理位置的查询)打开了大门。
团队已做了大量工作来支持其他数据库提供商,我们希望尽快发布对更多常用数据库的支持。我们的主要目标是让开发团队能够轻松自信地使用 Appwrite,并能将其与他们喜爱、熟悉且信赖的工具配合使用。
在正式版发布之前,新数据库会引入一些重大变更。请您花些时间查看变更列表和迁移教程。为了支持现有的 Appwrite 用户,我们将继续维护 0.11 分支至少六个月。
📑 分页速度大幅提升!
Appwrite 0.12 版本很高兴地推出全新的游标分页策略。传统的偏移量加限制分页虽然直观易懂,但其扩展性不佳。为了解决这个问题,我们将限制加偏移量分页的文档数量上限设为 5,000 个。有了这个限制,您仍然可以对小型数据集使用偏移量加限制分页;而随着数据量的增长,您可以迁移到全新的游标分页,它几乎不受数据集大小的影响,扩展性极佳。
下图展示了在包含100 万个文档的数据集上,这种性能差异有多么显著。数据集越大,差异就越大,现在 Appwrite 可以让您更有信心地扩展分页功能。
这项新变更将应用于所有支持分页的 Appwrite 资源,包括自定义集合、文件列表、用户、函数以及其他相关资源。
🚧 权限管理更便捷、更灵活
在最初设计 Appwrite 时,我们希望拥有一个简单易用的声明式权限模型,并且默认安全。随着 Appwrite 0.12 的发布,我们很高兴地推出 Appwrite 权限的下一个演进版本:权限模型。现在,您可以为集合选择两种不同的权限模型:集合级权限和文档级权限。
如果您已经熟悉 Appwrite,那么文档级模型的工作方式与您已知的相同。每个文档都可以拥有读写权限,这些权限定义了哪些 Appwrite 实体(用户/团队/角色)可以访问每个操作。
新的集合级别模型引入了更易于使用的集合权限。使用集合权限,您只需设置一次读取和写入权限。此外,无论特定文档上设置了何种权限,集合权限对所有文档都适用。
新模型为其他使用场景提供了更大的灵活性,这些场景可能不需要使用原有的文档级权限。新的集合级权限还可以提升性能,因为 Appwrite API 无需单独验证每个权限。
🎛 更多仪表盘,更多控制权
我们已对 Appwrite 控制台进行了升级,新增了更多仪表盘,用于显示 Appwrite 项目的使用情况指标。这是我们众多升级计划中的第一步,旨在让更多使用情况指标能够通过控制台轻松获取。借助全新的仪表盘,您可以快速了解项目的性能、规模和成本。此外,新仪表盘现在还会显示整个项目、文件、用户、集合和文档随时间变化的数据。我们还添加了CRUD 操作的图表。
🤟 有人需要定制ID吗?
自定义 ID 可能是我们迄今为止收到的用户呼声最高的功能之一。现在它终于上线了!有了自定义 ID,您可以为大多数 Appwrite 资源(包括用户、团队、函数、项目、文件、集合和文档)定义易于理解的 ID。如果您仍然想使用之前的唯一 ID,可以使用保留unique()关键字。
使用自定义 ID,您可以获得更加流畅的开发体验。您无需在代码中使用无意义的字符串,而是可以使用规范的命名约定,从而轻松地在不同的 Appwrite 环境之间迁移代码,而无需管理复杂的配置文件或为项目进行编程设置。
✅ 您的服务,您的选择!
我们一直希望 Appwrite 能与其他工具良好兼容。然而,我们也明白,单一工具不可能解决所有问题。因此,我们创建了服务器 API、云函数和微服务架构,使您可以将 Appwrite 与现有技术栈甚至您自己的后端服务器结合使用。
在 0.12 版本中,Appwrite 变得更加灵活,允许您选择启用或禁用哪些 Appwrite 服务。这也是一项强大的安全功能,旨在通过阻止您不使用的服务和资源来减少攻击面。您可以Services从项目设置中访问新增的相应部分,并选择要使用的服务。为了方便起见,您可以为每个项目设置不同的选项。
🚨 日志提供商简介!
错误日志记录和监控对于任何应用程序都至关重要,Appwrite 也不例外。我们希望在秉持完全平台无关理念的同时,让日志收集和监控变得极其简单。在 Appwrite 0.12 版本中,我们引入了对一些优秀的开源日志提供程序的支持,例如Sentry、Raygun和AppSignal!
我们一直在寻找更多的日志提供商,我们非常欢迎您为日志库做出贡献。
📚了解更多
Appwrite 0.12 包含更多值得关注的功能、错误修复和安全补丁,这些内容无法在一篇博文中一一列举。您可以查看我们的官方版本说明了解更多信息。在接下来的几周里,我们将继续推出 Appwrite 0.12 的发布活动,核心团队将制作更多内容、举办更多活动并进行演示,重点介绍 Appwrite 新版本中的各项功能和强大性能。
🗂⚡️☁️接下来是什么?
如果您喜欢 Appwrite 0.12,您一定会爱上 Appwrite 0.13!Appwrite 0.12 的发布将赋予我们更大的灵活性和更坚实的基础,使 Appwrite 能够迈向后端即服务领域前所未有的新高度。
Appwrite 0.13将是众多版本中的第一个,它将让用户享受到 Appwrite 核心团队及其 500 多位合作者为 Appwrite 项目和生态系统所付出的辛勤努力带来的成果。下一个版本将包含一些非常棒的功能,例如Appwrite 存储的存储桶支持、对新型存储设备的更高灵活性、用户呼声很高的同步和异步无服务器函数,以及得益于我们改进的函数执行模型和新的运行时环境而带来的显著性能提升。
除了即将发布的版本和功能之外,我们最近还宣布了 Appwrite Cloud 的注册功能,您可以成为首批体验者之一。Appwrite Cloud目前已在开发中,一旦上线,它将为您提供在 Appwrite 之上构建应用并轻松扩展后端的最便捷方式。您可以在我们全新的 Appwrite Cloud专属页面上了解更多信息。
文章来源:https://dev.to/appwrite/its-here-announcing-the-release-of-appwrite-012-5c8b






