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"