写点什么

Vapor 5 将实现 Swift 服务器端开发

  • 2024-10-15
    北京
  • 本文字数:950 字

    阅读完需:约 3 分钟

Vapor 5 将实现 Swift 服务器端开发

自当前版本发布 4 年多以来,Swift 服务器端开发框架 Vapor 的幕后团队一直在为 Vapor 5 可以利用 Swift 6 的并发能力以及框架的未来发展打基础。该框架的 Alpha 版本计划在 Swift 6 正式发布时发布。


Vapor 5 的主要目标是支持完全结构化并发的原生 API,采用 Swift 生态系统中更为现代化的包,以及完全重写 WebSocket 和 MultipartKit API。


采用结构化并发意味着 Vapor 5 将抛弃在 Vapor 3 中引入的EventLoopFuture,那也是 Vapor 4 中基于async/await的 API 的基础。取而代之,Vapor 5 将从一开始就使用结构化并发,而且会完全弃用EventLoopFuture,从而简化代码推理,并简化 Xcode 的高级结构化并发诊断。


Vapor 5 还将利用一些近年来变得非常流行的第三方库,包括一个启动和停止服务的库 Swift Service Lifecycle;一个为 HTTP 请求和响应提供一组通用表示的库 Swift HTTP Types;以及一个基于 Hummingbird 的新 HTTP 服务器,它将支持 gRPC、异步请求 / 响应体流式传输和 SSE。此外,Vapor 5 将迁移到 Swift Foundation。这是一个轻量级的基础层,取代了 iOS 和 macOS 提供的 Foundation API。Vapor 团队表示,这将在所有平台上提供一致的行为,并减少可能给多平台开发者带来的困惑。


关于 Vapor 5,最后需要说明的一点是,它将引入新的 WebSocket 和 MultipartKit API 实现。MultipartKit 的当前实现有一个主要的限制是不支持 multipart 请求 / 响应体的流式传输,这使得它很难处理非常大的文件或像 NIOFileSystem 这样的 API。Vapor 5 的新实现将解决这个问题。类似地,当前的 WebSocket API 在async-await领域很难使用,新版本将提供一个更容易使用的新 API。


Vapor 由 4 个主要组件组成,包括一个核心包,用于处理路由、JSON 编码 / 解码和管理 HTTP 请求;Fluent,让开发人员可以使用 noSQL 数据库创建数据模型;JWT,用于在 Swift 中创建签名和验证 JSON Web 令牌;Leaf,一个可以从简单语法生成 HTML 的模板引擎。


Vapor 在 GitHub 上有超过 24k 的星星和近 250 个贡献者,它似乎是 用 Swift 构建 HTTP Web 应用程序或 API 时最受欢迎的选项。


如前所述,Vapor 5 的早期版本将与 Swift 6 一起发布,主要是提供一个纯异步技术栈,并删除所有的EventLoopFuture API。


原文链接:

https://www.infoq.com/news/2024/09/swift-vapor-5-roadmap/

2024-10-15 08:154380

评论

发布
暂无评论

【Flutter 专题】93 图解 Dart 单线程实现异步处理之 Isolate (二)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 7月日更

架构实战营-模块一

Testcase

架构实战营

架构实战营模块一作业

子豪sirius

架构实战营

模块1

Winston

微信业务架构图 & 学生系统技术架构图

木云先森

架构实战营

Linux之atime,ctime,mtime的区别

入门小站

Linux

架构训练营模块一作业

Lemon

架构训练营

模块1作业(G20210698020270)

哆啦A萌

dubbogo 凌烟阁之 何鑫明

apache/dubbo-go

云原生 dubbo dubbo-go dubbogo

大数据成神之路面试合集&资源开放下载

王知无

大数据 面试

在线批量请求工具

入门小站

工具

架构实战营-模块1作业:微信的业务架构及学生管理系统

喻高咏        

微信业务架构图

feitian

架构训练营模块一作业

老猎人

【架构训练营】模块一作业

zclau

「架构师训练营第 1 期」

微信业务架构图&学生管理系统架构设计

伏波

系统架构设计手册

架构实战营模块一作业

SAKIN

架构实战营

架构实战营模块一作业

A-领悟 Lifetruth‖

#架构实战营

架构师实战营 [模块一]作业

三叔叔_拖延症晚期

作业

电源系统优化设计,低压差稳压器(LDO)如何选型?

不脱发的程序猿

电路设计 LDO 电源系统优化设计 低压差稳压器

SparkSQL内核剖析

永健_何

spark Sparksql

架构实战营-模块一

绝影

架构实战营 #架构实战营

架构实战营模块1作业

zlz

架构实战营模块一作业

feitian

无意中发现一个好用的前后端代码生成网

江湖一点雨

mybatis java代码 自动生成 vue自动生成 sql转实体

Pandas高级教程之:统计方法

程序那些事

Python 数据分析 pandas 程序那些事

架构实战营 - 模块1 - 作业

Vincent

#架构实战营

微信业务架构图#学生管理系统

桂阳

架构学习模块1作业

柱林

基于Erlang语言的视频相似推荐(三十一)

Databri_AI

erlang 实时计算 推荐系统

Rust从0到1-智能指针-Deref trait

rust 智能指针 smart pointer deref

Vapor 5 将实现 Swift 服务器端开发_云端开发_Sergio De Simone_InfoQ精选文章