Vapor 5 实现了 Swift 服务器端开发的未来

Vapor 5 发布计划概述

Vapor 团队在现有版本发布四年后,正在为 Vapor 5 的开发腾出空间。Vapor 5 旨在利用 Swift 6 的并发能力,并为框架的未来发展奠定基础。初步的 alpha 版本计划在 Swift 6 正式发布时推出。

Vapor 5 的主要目标

  1. 原生支持结构化并发:Vapor 5 将全面支持 Swift 6 的结构化并发功能,摒弃 Vapor 3 引入并在 Vapor 4 中广泛使用的 EventLoopFuture,转而从一开始就采用结构化并发,使代码更易理解,并更好地兼容 Xcode 的先进诊断工具。
  2. 采用现代 Swift 生态包:Vapor 5 将引入近年来流行的第三方库,包括:

    • Swift Service Lifecycle:用于启动和停止服务。
    • Swift HTTP Types:提供 HTTP 请求和响应的通用表示。
    • 基于 Hummingbird 的新 HTTP 服务器:支持 gRPC、异步数据流和 SSE。
    • 迁移到 Swift Foundation:取代 iOS 和 macOS 中的 Foundation API,提供跨平台一致的行为。
  3. WebSocket 和 MultipartKit API 的全面重写

    • MultipartKit:解决当前版本不支持流式多部分主体的限制,便于处理大文件或与 NIOFileSystem 等 API 交互。
    • WebSocket:提供更易于在 async-await 环境中使用的新 API。

Vapor 的主要组件

Vapor 框架包含四个核心组件:

  1. 核心包:处理路由、JSON 编码/解码和 HTTP 请求管理。
  2. Fluent:用于在 noSQL 数据库中创建数据模型。
  3. JWT:用于创建、签名和验证 JSON Web Token。
  4. Leaf:模板引擎,通过简化语法生成 HTML。

Vapor 的社区影响力

Vapor 在 GitHub 上拥有超过 24k 的 star 和近 250 名贡献者,是 Swift 生态中最受欢迎的构建 HTTP Web 应用和 API 的框架之一。

总结

Vapor 5 的早期版本将随 Swift 6 一同发布,重点在于提供完全基于异步的堆栈,并移除所有 EventLoopFuture API,以更好地支持现代并发模型和跨平台开发。

阅读 24
0 条评论