Vapor的文檔
這是關(guān)于Vapor的文檔,它是一個適用于iOS、macOS和Ubuntu的Swift的Web框架;以及所有的Vapor提供的依賴包。
對于Swift來說,Vapor是最常用的web框架。它為您的下一個網(wǎng)站或API提供了一個漂亮的表達(dá)和易于使用的基礎(chǔ)。
準(zhǔn)備工作
如果這是你第一次使用Vapor,那么你可以直接進(jìn)入“準(zhǔn)備工作”部分,安裝Swift并創(chuàng)建你的第一個應(yīng)用。
喜歡Vapor嗎?
我們的小團隊努力工作,讓Vapor更棒(且免費)。支持這個框架,通過在GitHub上使用Vapor,或者每月捐贈$1——這對我們很有幫助。謝謝!

其他資源
這里還有一些其他的地方可以找到關(guān)于Vapor的信息。
API
Auto-generated API 文檔在api.vapor.codes.
Stack Overflow
使用vapor標(biāo)簽查看或詢問關(guān)于Vapor堆棧溢出(Stack Overflow)的問題。
GitHub
Source Code
要查看框架的源代碼和代碼文檔,請訪問Vapor的GitHub。
Issues
要查看打開的bug報告和特性請求,或者創(chuàng)建一個請求,請訪問Vapor GitHub上的問題標(biāo)簽頁(lssues)。
Packages
Vapor是模塊化語言的一個模塊框架。代碼被分解成模塊,這些模塊被分組成包。通過將依賴包的Git url添加到Package.swift文件中,可以將依賴包添加到您的項目中。一旦包含了一個包,所有的模塊都可以import。您可以在Swift包管理器的概念概述(conceptual overview)中了解更多關(guān)于包和模塊的內(nèi)容。
下面是一個包含或可用于Vapor項目的依賴包和模塊的列表。依賴包將有一個鏈接到各自的GitHub頁面。
Core
核心框架是由Vapor團隊維護(hù)的。
Included
下面的依賴包默認(rèn)包含在Vapor中。
提示
這些依賴包也可以單獨使用
-
Vapor: Swift最常用的web框架。
- Auth: 利用遠(yuǎn)程準(zhǔn)入(authentication)和持久性(persistance)。
- Sessions: 安全的,基于cookie的數(shù)據(jù)存儲。
- Cookies: HTTP cookies.
- Routing: 具有類型安全參數(shù)化(type-safe parameterization)的高級路由器。
-
Engine: 核心傳輸層。
- HTTP: HTTP客戶機和服務(wù)器。
- URI: URI解析和序列化。
- WebSockets: 單TCP連接上的全雙工通信信道。
- SMTP: 使用Sendgrid和Gmail發(fā)送郵件。
-
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的加密技術(shù)。
- Digests: 不必須進(jìn)行身份驗證的Hashing。
- Ciphers: 加密和解密
- Random: 偽(Pseudo)和密碼安全(cryptographically secure)的隨機性。
- BCrypt: 純Swift實現(xiàn).
-
Node: 用于簡單類型轉(zhuǎn)換的數(shù)據(jù)結(jié)構(gòu)。
- Polymorphic: 用于輕松訪問JSON等常見類型的值的語法。
- Path Indexable: 一種用于像JSON這樣的普通類型的子腳本訪問的協(xié)議。
Core: 核心擴展、類型別名和有助于通用任務(wù)的功能。
Socks: Swift C 嵌套 API 封裝。(Swift C Socket API wrapper.)
Bits: 低電平字節(jié)操作助手。
Providers
這些是官方支持但不默認(rèn)包含的Vapor依賴包。
-
Fluent: 對NoSQL和SQL數(shù)據(jù)庫的模型(Models)、關(guān)聯(lián)(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 客戶從最初的協(xié)議規(guī)范中實現(xiàn)。
- Redis Provider: Redis cache provider for Vapor.
-
JWT: JSON Web Tokens in Swift.
- JWT Provider: JWT conveniences for Vapor.
Community
這些由全體成員共同維護(hù)的依賴包,在Vapor上運行效果非常好。
-
PostgreSQL: Robust PostgreSQL 接口用于Swift。
- PostgreSQL Driver: PostgreSQL driver for Fluent.
- PostgreSQL Provider: PostgreSQL provider for Vapor.
-
MongoKitten: Swift的本地MongoDB驅(qū)動程序,用Swift編寫。
- Mongo Driver: MongoKitten driver for Fluent.
- Mongo Provider: MongoKitten provider for Vapor.
Kitura Provider: Vapor上使用IBM的Kitura HTTP服務(wù)器。
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身份驗證頭/預(yù)簽名URL。(Generate V4 Auth Header/Pre-Signed URL for AWS S3 REST API.)
-
Flock: 將Swift項目的自動化部署到服務(wù)器上。
- VaporFlock: 使用Flock來部署Vapor應(yīng)用程序。
VaporForms: 將簡單的、動態(tài)的、可重新使用的web表單處理應(yīng)用到Vapor中。
Jobs:為Swift提供一個極簡主義的工作/背景任務(wù)系統(tǒng)。
Heimdall: 易于使用的HTTP請求日志記錄器。
SteamPress: 一個用于Vapor的博客引擎(blogging engine)。
Vapor Security Headers: 在您的Vapor應(yīng)用程序中添加公共安全頭(common security headers)。
MarkdownProvider: 很容易從Leaf中使用Markdown。
Providers
Vapor提供程序是為您的Vapor項目添加功能的一種方便的方法。要獲得完整的供應(yīng)商列表,請查看GitHub上的vapor-provider標(biāo)簽。
Authors
Tanner Nelson,洛根萊特,和成百上千的Vapor成員。
