Vapor 5 发布计划概述
Vapor 团队在现有版本发布四年后,正在为 Vapor 5 的开发腾出空间。Vapor 5 旨在利用 Swift 6 的并发能力,并为框架的未来发展奠定基础。初步的 alpha 版本计划在 Swift 6 正式发布时推出。
Vapor 5 的主要目标
- 原生支持结构化并发:Vapor 5 将全面支持 Swift 6 的结构化并发功能,摒弃 Vapor 3 引入并在 Vapor 4 中广泛使用的
EventLoopFuture
,转而从一开始就采用结构化并发,使代码更易理解,并更好地兼容 Xcode 的先进诊断工具。 采用现代 Swift 生态包:Vapor 5 将引入近年来流行的第三方库,包括:
- Swift Service Lifecycle:用于启动和停止服务。
- Swift HTTP Types:提供 HTTP 请求和响应的通用表示。
- 基于 Hummingbird 的新 HTTP 服务器:支持 gRPC、异步数据流和 SSE。
- 迁移到 Swift Foundation:取代 iOS 和 macOS 中的 Foundation API,提供跨平台一致的行为。
WebSocket 和 MultipartKit API 的全面重写:
- MultipartKit:解决当前版本不支持流式多部分主体的限制,便于处理大文件或与 NIOFileSystem 等 API 交互。
- WebSocket:提供更易于在
async-await
环境中使用的新 API。
Vapor 的主要组件
Vapor 框架包含四个核心组件:
- 核心包:处理路由、JSON 编码/解码和 HTTP 请求管理。
- Fluent:用于在 noSQL 数据库中创建数据模型。
- JWT:用于创建、签名和验证 JSON Web Token。
- Leaf:模板引擎,通过简化语法生成 HTML。
Vapor 的社区影响力
Vapor 在 GitHub 上拥有超过 24k 的 star 和近 250 名贡献者,是 Swift 生态中最受欢迎的构建 HTTP Web 应用和 API 的框架之一。
总结
Vapor 5 的早期版本将随 Swift 6 一同发布,重点在于提供完全基于异步的堆栈,并移除所有 EventLoopFuture
API,以更好地支持现代并发模型和跨平台开发。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。