跳到内容

Swift,但在服务器上

Vapor 提供了一个安全、高性能且易于使用的基础,用于在 Swift 中构建 HTTP 服务器、后端和 API

import Vapor

let app = try await Application.make(.detect())

app.get("hello") { req in
    "Hello, world!"
}

try await app.execute()







为以下公司提供支持:

使用你已熟悉的工具构建服务器端

无需仅仅为了后端而从头学习一门语言(或组建另一支团队)。Vapor 基于 Apple 的 SwiftNIO 构建,因此你可以继续使用你已经熟悉和喜爱的语言。

Vapor

用你喜爱的语言构建高效的 API。创建路由、收发 JSON 并构建 HTTP 服务器。

了解更多

Fluent

使用原生、安全的 Swift 代码创建模型并操作数据库,无需编写任何 SQL。

了解更多

JWT

在 Swift 中创建、签名和验证 JSON Web Token。基于 Swift Crypto 构建。

了解更多

Leaf

用 Swift 编写的模板引擎。使用任何人都能上手的简单语法,为 Web 应用和电子邮件生成 HTML。

了解更多

高性能的 API 和服务器

Vapor 采用非阻塞、事件驱动的架构,让你能够构建高性能、可扩展的 API 和 HTTP 服务器。借助 Swift 的并发模型,你可以编写清晰、易维护、高效且易读的代码。

开始使用
app.get("todos", ":id") { req async throws -> Todo in
  let id: UUID = try req.parameters.require("id")

  guard
    let todo = try await Todo.find(id, on: req.db)
  else {
    throw Abort(.notFound)
  }

  return todo
}

即使在周五也能放心发布

凭借 Vapor 富有表现力、面向协议的设计,你在发布代码时会更加安心。由于我们高度重视类型安全,许多错误和问题在编译阶段就能被及早发现。

开始使用
func search(req: Request) async throws -> [Todo] {
  let name: String = try req.query.get(at: "name")

  let results = try await Todo.query(on: req.db)
    .filter(\.$number == name)
    .all()

  return results
}
Binary operator '==' cannot be applied to operands of type 'KeyPath<Todo, FieldProperty<Todo, Int>>' and 'String'
集成

与你的整个技术栈完全集成

Vapor 成熟的生态系统包含一百多个官方及社区维护的服务器优先 Swift 包,让你的应用开发更轻松、更高效。

开始使用
Vapor Integrations

这些出色应用背后的团队都在使用

查看完整列表
SwiftFiddle Card

SwiftFiddle

SwiftFiddle is an online playground for creating, sharing and embedding Swift fiddles

查看实际效果
SwiftPackageIndex Card

SwiftPackageIndex

The Swift Package Index is a searchable index of Swift packages and their compatibility with various platforms.

查看实际效果
Underway NYC Card

Underway NYC

Quickly locate yourself on the official MTA map of NYC and get real-time train arrivals at that subway stop

查看实际效果
Litmaps Card

Litmaps

Litmaps is a browser-based research platform designed for clarity, comprehensiveness, and collaboration.

查看实际效果
Vapor Discord server

加入最大的 Swift 后端开发者社区

Vapor 拥有超过 13,000 名成员的 Discord 社区将一路为你提供支持。提出问题、参与贡献,成为这个充满活力、友善的网络角落的一员。

加入我们的 Discord参与贡献

获取使用 Swift 构建所需的全部工具

开始使用前往 API 文档

获取使用 Swift 构建所需的全部工具

  • 使用 Vapor Toolbox 轻松创建新项目
  • 丰富的文档和 API 参考
  • 构建后端和 API 所需的一切
  • 全面支持 Swift 的并发模型

由我们了不起的赞助者和支持者提供支持

成为赞助者
Broken Hands

Broken Hands

Providing Vapor training and consulting for clients around the world.

了解更多
omrd

omrd

omrd provides consultation services for dental elated scans.

了解更多
Emerge Tools

Emerge Tools

Emerge Tools is a suite of revolutionary products designed to supercharge mobile apps and the teams that build them.

了解更多