写点什么

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:154855

评论

发布
暂无评论
发现更多内容

敏捷MVP面面观

禅道项目管理

敏捷 MVP

撸完腾讯T4大佬整理的ThreadLocal笔记,解决内存泄漏只是小儿科

牛哄哄的java大师

Java ThreadLocal

在校生丨五面丨拿到阿里offer,你还在边“摸鱼”边抱怨“行业内卷”吗?

Java架构师迁哥

大厂常问iOS面试题汇总!

iOS猿_员

ios 面试 ios开发

这份Mybaits缓存机制总结,阿里大佬看完直呼牛批,到底有多强?

飞飞JAva

拜托阿里老表爆肝整理10W字Java高级面试精华!帮我成功入职字节

比伯

Java 编程 架构 互联网 计算机

硬核资源!清华博士的Spring Boot中AOP与SpEL笔记,码农:膜拜

牛哄哄的java大师

Java springboot spring aop

变电站无人值守也能运筹帷幄?数据这样监控,时效节省高达90%

一只数据鲸鱼

数据可视化 3D可视化 智慧电网 变电站

详解 WebRTC 传输安全机制:一文读懂 DTLS 协议

阿里云CloudImagine

阿里云 WebRTC 通信协议 视频云 流媒体传输

zookeeper的watch机制

大数据技术指南

zookeeper 5月日更

量化AI智能交易软件,马丁策略交易

消息队列架构设计文档

高亮

架构实战营

软件质量指标自动度量方法

鸿渐科技_mason

代码质量 源代码 软件安全 软件质量指标 鸿渐科技

数据结构与算法必知基础知识

bigsai

数据结构 算法

iOS 面试策略之语言工具-Swift vs. Objective-C

iOSer

ios objective-c swift 面试 移动开发

技术干货 | 轻松两步完成向 mPaaS 小程序传递启动参数

蚂蚁集团移动开发平台 mPaaS

ios android 移动开发 mPaaS

大促秒杀场景技术方案

Mars

秒杀

消息队列详细架构设计

Lane

太好用了!斩获3个大厂Offer后,才发现学霸给的JVM笔记有多强大

飞飞JAva

Java

☕【Java技术之旅】来啊!带你认识一下String字符串

码界西柚

JVM string 5月日更

Yarn的架构和原理

五分钟学大数据

hadoop YARN 5月日更

【LeetCode】数组异或操作Java题解

Albert

算法 LeetCode 5月日更

微信标准版交易组件使用教程

frank-say

微信小程序 微信 大前端

新一代运营保障体系探索

鲸品堂

运营 解决方案 运营商 通信运营商

React Hook | 必 学 的 9 个 钩子

程序员海军

最佳实践 方法论 大前端 React Hooks 引航计划

直呼内行!靠着这份阿里10w字面试总结,我成功收到了4个大厂offer

Java 程序员 架构 面试

直呼内行!阿里大佬离职带出内网专属“高并发系统设计”学习笔记

Java 程序员 架构 面试

强推!Java大牛熬夜一周梳理的 Spring IOC笔记,收藏一波

飞飞JAva

Java 容器

企业密码管理为何仍然是一个难题?

龙归科技

密码学 密码 弱密码

Linux 的 IO 通信 以及 Reactor 线程模型详解

Linux服务器开发

reactor 后端 多线程 Linux服务器开发 网络io

消息队列架构设计文档

方堃

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