Vapor 2.0 - 概述
Vapor的文档
这是关于Vapor的文档,它是一个适用于iOS、macOS和Ubuntu的Swift的Web框架;以及所有的Vapor提供的依赖包。
对于Swift来说,Vapor是最常用的web框架。它为您的下一个网站或API提供了一个漂亮的表达和易于使用的基础。
准备工作
如果这是你第一次使用Vapor,那么你可以直接进入“准备工作”部分,安装Swift并创建你的第一个应用。
喜欢Vapor吗?
我们的小团队努力工作,让Vapor更棒(且免费)。支持这个框架,通过在GitHub上使用Vapor,或者每月捐赠$1——这对我们很有帮助。谢谢!
其他资源
这里还有一些其他的地方可以找到关于Vapor的信息。
API
Auto-generated API 文档在api.vapor.codes.
Stack Overflow
使用vapor标签查看或询问关于Vapor堆栈溢出(Stack Overflow)的问题。
GitHub
Source Code
要查看框架的源代码和代码文档,请访问Vapor的GitHub。
Issues
要查看打开的bug报告和特性请求,或者创建一个请求,请访问Vapor GitHub上的问题标签页(lssues)。
Packages
Vapor是模块化语言的一个模块框架。代码被分解成模块,这些模块被分组成包。通过将依赖包的Git url添加到Package.swift
文件中,可以将依赖包添加到您的项目中。一旦包含了一个包,所有的模块都可以import
。您可以在Swift包管理器的概念概述(conceptual overview)中了解更多关于包和模块的内容。
下面是一个包含或可用于Vapor项目的依赖包和模块的列表。依赖包将有一个链接到各自的GitHub页面。
Core
核心框架是由Vapor团队维护的。
Included
下面的依赖包默认包含在Vapor中。
提示
这些依赖包也可以单独使用
-
Vapor: Swift最常用的web框架。
- Auth: 利用远程准入(authentication)和持久性(persistance)。
- Sessions: 安全的,基于cookie的数据存储。
- Cookies: HTTP cookies.
- Routing: 具有类型安全参数化(type-safe parameterization)的高级路由器。
-
Engine: 核心传输层。
- HTTP: HTTP客户机和服务器。
- URI: URI解析和序列化。
- WebSockets: 单TCP连接上的全双工通信信道。
- SMTP: 使用Sendgrid和Gmail发送邮件。
-
Multipart: 快速、流媒体、非阻塞的多部分解析器和序列化器。
- Multipart: 解析和serializesmultipart /混合。(Parses and serializesmultipart/mixed.)
- FormData: 解析和serializesmultipart /格式。(Parses and serializesmultipart/form-data.)
-
JSON: 在Swift中使用JSON的方便性。
-
Console: 控制台IO和命令的Swift包装器。
-
TLS: 用于CLibreSSL新TLS的Swift包装器。
-
Crypto: 来自LibreSSL和Swift的加密技术。
- Digests: 不必须进行身份验证的Hashing。
- Ciphers: 加密和解密
- Random: 伪(Pseudo)和密码安全(cryptographically secure)的随机性。
- BCrypt: 纯Swift实现.
-
Node: 用于简单类型转换的数据结构。
- Polymorphic: 用于轻松访问JSON等常见类型的值的语法。
- Path Indexable: 一种用于像JSON这样的普通类型的子脚本访问的协议。
-
Core: 核心扩展、类型别名和有助于通用任务的功能。
-
Socks: Swift C 嵌套 API 封装。(Swift C Socket API wrapper.)
-
Bits: 低电平字节操作助手。
Providers
这些是官方支持但不默认包含的Vapor依赖包。
-
Fluent: 对NoSQL和SQL数据库的模型(Models)、关联(relationships)和查询(querying)。
- Fluent Provider: Fluent provider for Vapor.
-
MySQL: 健壮的(Robust)MySQL接口用于Swift。
- MySQL Driver: MySQL driver for Fluent.
- MySQL Provider: MySQL provider for Vapor.
-
Leaf: 一个可扩展的模板语言。
- Leaf Provider: Leaf provider for Vapor.
-
Redis: Pure-Swift Redis 客户从最初的协议规范中实现。
- Redis Provider: Redis cache provider for Vapor.
-
JWT: JSON Web Tokens in Swift.
- JWT Provider: JWT conveniences for Vapor.
Community
这些由全体成员共同维护的依赖包,在Vapor上运行效果非常好。
-
PostgreSQL: Robust PostgreSQL 接口用于Swift。
- PostgreSQL Driver: PostgreSQL driver for Fluent.
- PostgreSQL Provider: PostgreSQL provider for Vapor.
-
MongoKitten: Swift的本地MongoDB驱动程序,用Swift编写。
- Mongo Driver: MongoKitten driver for Fluent.
- Mongo Provider: MongoKitten provider for Vapor.
-
Kitura Provider: Vapor上使用IBM的Kitura HTTP服务器。
-
SwiftyBeaver: Adds the powerful logging of SwiftyBeaver to Vapor.把SwiftyBeaver的大量日志添加到Vapor中。
-
APNS: 简单的APNS库用于Vapor(Swift)。
-
VaporFCM: 简单的FCM(iOS+Android推送通知)库用Swift编译在Vapor上。
-
VaporS3Signer: 为AWS S3 REST API生成V4身份验证头/预签名URL。(Generate V4 Auth Header/Pre-Signed URL for AWS S3 REST API.)
-
Flock: 将Swift项目的自动化部署到服务器上。
- VaporFlock: 使用Flock来部署Vapor应用程序。
-
VaporForms: 将简单的、动态的、可重新使用的web表单处理应用到Vapor中。
-
Jobs:为Swift提供一个极简主义的工作/背景任务系统。
-
Heimdall: 易于使用的HTTP请求日志记录器。
-
SteamPress: 一个用于Vapor的博客引擎(blogging engine)。
-
Vapor Security Headers: 在您的Vapor应用程序中添加公共安全头(common security headers)。
-
MarkdownProvider: 很容易从Leaf中使用Markdown。
Providers
Vapor提供程序是为您的Vapor项目添加功能的一种方便的方法。要获得完整的供应商列表,请查看GitHub上的vapor-provider标签。
Authors
Tanner Nelson,洛根莱特,和成百上千的Vapor成员。