Deta 简介#

Deta Space 是个人云计算平台,它使个人能够利用自己的个人云计算机将想法变为现实。

iwr https://deta.space/assets/space-cli.ps1 -useb | iex
curl -fsSL https://deta.space/assets/space-cli.sh | sh

下载后,您需要使用命令 space login 通过 CLI 进行身份验证。这需要访问令牌,您可以通过在您的 Horizon 上点击 Teletype 的设置操作来获取。

Space 应用#

Space 应用与普通网络应用不同。在“公共云”上的普通网络应用是为许多用户服务的集中式应用。在 Space 上,每个用户在自己的个人云中都拥有应用的私人副本。Space 应用及其数据默认是私有的,这意味着它们属于用户,用户必须登录才能使用它们。

作为开发者,您构建应用时假设自己是唯一的(已认证的)用户。您可以使用自己喜爱的编程语言和框架,但不必担心身份验证代码或数据隔离。当然,您仍然可以构建面向公众的功能或不需要身份验证的应用程序,比如网站

使用 Deta Space,您可以为自己构建各种网络应用程序,并保持这种状态。但是个人云还具有强大的发布模型——只需一步,您的应用就可以供世界上几乎任何有互联网连接的人使用。

Space 创建新项目#

您需要项目来构建应用程序。项目是您构建、测试和向公众发布应用程序的地方。项目位于前面提到的 Space 系统应用中,称为 Builder

要创建新的项目,打开新的终端,导航到新建的目录(或将现有应用程序推送到 Space 的目录),然后运行 space new 命令:

space new

为您的项目输入一个名称。Space CLI 应该尝试检测您本地目录中的应用程序。如果找到了,您可以在新创建的名为 Spacefile 的文件中看到 CLI 为这些应用程序引导的配置。如果您使用了 Builder UI 或者有一个现有的 Builder 项目,您可以使用 CLI 命令 space link 将本地目录与您的 Builder 项目关联起来。

现在,当您打开 Builder 应用时,您的项目应该会出现在那里,您可以在其中测试、运行、管理和发布您的 Space 应用程序。

Space Runtime#

Deta Space 有自己的运行时——Space Runtime——它可以运行几乎任何类型的网络应用程序。它支持大多数编程语言和框架。Spacefile 包含您应用程序的配置,并被 Deta Space 用来了解您的应用程序的外观和如何运行。

以下是使用静态前端和 Node.js 后端构建的待办事项应用的示例 Spacefile:

# Spacefile Docs: https://go.deta.dev/docs/spacefile/v0
v: 0
micros:
  - name: frontend
    src: frontend
    engine: static
    primary: true
    commands:
      - npm run build
    serve: dist
    dev: npm run dev -- --port $PORT

  - name: backend
    src: backend
    engine: nodejs16
    run: node index.js
    path: api
    dev: npm run dev
    actions:
      - id: "cleanup"
        name: "Delete done tasks"
        trigger: "schedule"
        default_interval: "1 minute"