Vapor是一个基于Swift语言的开源Web框架,可用于创建RESTful API、网站和使用WebSockets的实时应用。在核心框架之外,Vapor还提供了ORM 、模板语言,以及用户身份验证和授权模块。
Vapor的源代码按照MIT许可证开源,并托管在GitHub。自2016年以来,Vapor一直是服务端Swift工作组的一部分。
历史
仅在Apple于2015年12月3日开源Swift,并开始支持Linux的一个月后,Vapor就发布了0.1.0版本,证明Swift作为服务端语言的可行性。 Vapor 1.0发布于2016年9月,2.0发布于2017年5月。
在3.0版本,为了基于Swift的非阻塞网络Vapor的框架SwiftNIO构建,Vapor框架进行了重写。 Vapor 3于2018年5月发布。 Apple还在Swift.org介绍服务端应用的页面上,引用了基于SwiftNIO的Vapor(以及Kitura)框架的速度数据。
在Vapor 3的测试阶段,Packt 、 Paul Hudson、 Razeware LLC、和lynda.com都发布了一些介绍Vapor的教程资料。 2018年5月,Swift官方论坛新增加的「相关项目」板块,包含了Vapor相关的内容。
Vapor 4的Alpha 1 Release始于2019年5月,稳定版发布于2020年4月。
功能
Vapor包含下列功能:
- 异步/非阻塞 IO
- HTTP认证:Basic认证、Bearer、JWT和基于密码的认证
- 缓存: Redis和机遇内存缓存
- 命令行格式化
- 内容协商:支持JSON、multipart和URL-encoded
- 加密: RNG 、密码、摘要、 RSA
- 依赖注入和控制反转
- ORM: 支持MySQL、 PostgreSQL和SQLite等数据库
- HTTP客户端和服务器
- 页面模版: HTML等
- 日志
- URL路由
- 数据验证
- WebSocket客户端和服务器
- 基于队列的定时任务
参考
评论 (0)