InfoQ新闻摘要
- 时间:2024-09-20T09:12:18.000Z
- 作者:Sergio De Simone
- 译者:平川
- 策划:丁晓昀
Vapor 5:Swift服务器端开发的未来
自当前版本发布4年多以来,Swift服务器端开发框架Vapor的幕后团队一直在为Vapor 5的发布打下坚实基础,以充分利用Swift 6的并发能力及框架的未来发展。Vapor 5的主要目标是支持完全结构化并发的原生API,采用Swift生态系统中更为现代化的包,以及完全重写WebSocket和MultipartKit API。
抛弃EventLoopFuture,拥抱结构化并发
Vapor 5将抛弃在Vapor 3中引入的EventLoopFuture,那也是Vapor 4中基于async/await的API的基础。取而代之,Vapor 5将从一开始就使用结构化并发,这将简化代码推理,并简化Xcode的高级结构化并发诊断。
利用第三方库,提升功能与性能
Vapor 5将利用一些近年来变得非常流行的第三方库,包括Swift Service Lifecycle、Swift HTTP Types以及一个基于Hummingbird的新HTTP服务器。此外,Vapor 5将迁移到Swift Foundation,这将提供一致的行为,并减少可能给多平台开发者带来的困惑。
WebSocket与MultipartKit API的革新
Vapor 5将引入新的WebSocket和MultipartKit API实现,以解决当前实现的限制,如不支持multipart请求/响应体的流式传输,这使得它很难处理非常大的文件或像NIOFileSystem这样的API。新版本将提供一个更容易使用的新API。
Vapor 5的四大核心组件
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。
结语
Vapor 5的发布将标志着Swift服务器端开发的一个重要里程碑,其对Swift 6结构化并发能力的全面拥抱,以及对API的革新,将为开发者提供更强大、更高效的开发体验。随着Swift 6的正式发布,Vapor 5的Alpha版本也将随之到来,我们期待它为Swift开发社区带来的新机遇和挑战。
Views: 0