写点什么

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

评论

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

一键登录是如何为应用开发者实现降本增效的

MobTech袤博科技

大数据 智能推送

Mac Office安装许可工具后,软件显示只读模式,如何解决?

展初云

Office Mac软件

华为云耀云服务器 L 实例:为你揭开轻量应用服务器的神秘面纱

轶天下事

技术向上,场景向下丨华为云828 B2B企业节打通云上路径

轶天下事

打造承载百倍级增长后台背后的力量

优测云服务平台

性能优化 后台开发 性能测试 压力测试 性能压测

K-最近邻算法(KNN)

小魏写代码

游戏服务商Latis Global参展2023 ChinaJoy B2B

科技热闻

MobTech全面助力开发与运营用户进行APP生命周期智能管理

MobTech袤博科技

大数据 智能推送

在 Kubernetes 环境中实现证书管理的自动化

NGINX开源社区

nginx Kubernetes 证书管理

在AI的风口上,百度营销如何助力企业抢占先机?

彭飞

遥遥领先的不仅是华为Mate60 Pro+,华为云正在数字赋能万千中小企业

轶天下事

轻量应用服务器价值典范,云耀云服务器助力企业穿越经济周期

轶天下事

聚焦私域营销降本提效,国联股份与火山引擎数智平台展开合作

字节跳动数据平台

大数据 数字化转型 数据平台 火山引擎 企业号9月PK榜

工作流如何实现?集成?springboot+vue+activiti技术栈

金陵老街

王文京受邀在财政部“会计大讲堂”做信息技术驱动当代会计创新发展的专题报告

用友BIP

智能会计

使用ChatGPT快速构建优质网站模板的方法

百度开发者中心

#人工智能 ChatGPT 千帆大模型平台

中小企业请收藏丨轻量应用服务器企业选购避坑指南

轶天下事

软件开发、管理全周期文档整理,满足开发、验收、投标支撑

金陵老街

征稿啦!第 18 届「中国 Linux 内核开发者大会」重磅启动

OpenAnolis小助手

Linux 开发者 内核 龙蜥社区 CLK

OpenHarmony装饰指定自定义组件:@BuilderParam装饰器

OpenHarmony开发者

OpenHarmony

华为云盘古大模型for医学,“良医小慧”让智慧诊疗触手可及

彭飞

HarmonyOS线性容器特性及使用场景

HarmonyOS开发者

HarmonyOS

从繁琐到一键直达:秒验助力实现优化用户登录体验

MobTech袤博科技

大数据 智能推送

运行Adobe应用提示非正版This non-genuine Adobe app has been disabled如何处理

展初云

ps adobe Mac软件

轻量应用服务器选哪家?华为云耀云服务器L实例告诉你如何选择

轶天下事

技术贴 | 深度解析 PostgreSQL Protocol v3.0(二)— 扩展查询

KaiwuDB

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