hummingbird-project/hummingbird · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈
轻量级、灵活、现代的 Swift 编写的服务器框架。
Hummingbird
Hummingbird 是一个轻量级、灵活的现代 Web 应用程序框架,运行在基于 SwiftNIO 的服务器实现之上。它旨在要求最少的依赖项。
它提供了一个路由器,用于将不同的端点引导到其处理程序,用于在处理程序处理请求之前处理请求以及处理返回的响应的中间件,请求/响应的自定义编码/解码,TLS 和 HTTP2。
import Hummingbird
// create router and add a single GET /hello route
let router = Router()
router.get("hello") { request, _ -> String in
return "Hello"
}
// create application using router
let app = Application(
router: router,
configuration: .init(address: .hostname("127.0.0.1", port: 8080))
)
// run hummingbird application
try await app.runService()
扩展 Hummingbird
Hummingbird 的核心设计力求精简,额外功能通过扩展提供。以下是一些官方扩展:
内置扩展
HummingbirdRouter: 使用结果构建器的替代路由器HummingbirdTLS: TLS 支持HummingbirdHTTP2: HTTP2 升级支持HummingbirdTesting: 用于测试 Hummingbird 项目的辅助函数
其他扩展
以下扩展位于独立的仓库中:
- HummingbirdAuth: 认证框架
- HummingbirdFluent: 与 Vapor 的 FluentKit ORM 集成
- HummingbirdRedis: 通过 RediStack 提供 Redis 支持
- HummingbirdWebSocket: WebSocket 支持
- HummingbirdLambda: 在 AWS Lambda 上运行 Hummingbird
- Jobs: 任务队列框架
- Mustache: Mustache 模板引擎
文档
你可以在这里找到 Hummingbird 的参考文档和用户指南。hummingbird-examples 仓库包含该库多种用法的示例。
安装
将以下内容添加到你的 Package.swift 文件中:
dependencies: [
.package(url: "https://github.com/hummingbird-project/hummingbird.git", from: "2.0.0")
],
targets: [
.executableTarget(
name: "MyApp",
dependencies: [
.product(name: "Hummingbird", package: "hummingbird"),
]),
]
或者使用 SwiftPM 在你的包上运行以下命令,将 MyApp 替换为你的目标名称:
swift package add-dependency https://github.com/hummingbird-project/hummingbird.git --from 2.0.0
swift package add-target-dependency Hummingbird MyApp --package hummingbird
贡献
我们欢迎所有对 Hummingbird 的贡献!
请在为项目做出贡献之前阅读我们的 贡献指南。
赞助商
通过成为 赞助商 来支持 Hummingbird 的开发。
支持者
通过成为 支持者 来支持 Hummingbird 的开发。




