mirror of https://github.com/vapor/docs.git
6.0 KiB
6.0 KiB
Vapor Documentation
這是 Vapor 的說明文件, Vapor 是一個可以在 iOS, macOS 及 Ubuntu 上執行的 Web framework,以及其他相關的套件。
Vapor 是一個在 Swift 上很受歡迎的 Web framework。它提供了清楚易用的 API 及許多方便的基礎功能,方便我們用它建立網站或是後台。
我們可以在 Vapor's GitHub 查看原始碼及說明文件。
如何閱讀說明文件
在 GitHub 上瀏覽每個資料夾,特別是 markdown 檔(副檔名為 .md 的檔案)。或是看 GitHub Pages 上的文件。
套件
以下是 Vapor 提供的套件及模組(我們也可以直接使用它們,不透過 Vapor。)
- Vapor: Swift 上最常被使用到的 web framework。
- Auth: 使用者的認證及存續控制(persistance)。
- Sessions: 建立在 cookie 機制上安全、短暫的資料儲存。
- Cookies: HTTP cookies.
- Routing: 可透過變數類型確定(type-safe)的參數設定來設定路徑。
- Fluent: 用來操作 SQL 或 NoSQL 資料庫。
- Engine: 傳輸的核心層。
- HTTP: HTTP 用戶端及主機端。
- URI: URI 的分解及組成。
- WebSockets: 在一個 TCB 連線中進行雙向的溝通管道。
- SMTP: 透過 Sendgrid 及 Gmail 發送郵件。
- Leaf: 一種可擴張的樣本語言(extensible templating language)。(譯註: 這可以用來建立使用者介面。)
- JSON: 用 Jay JSON 解析工具產生Vapor物件。
- Console: 用來處理 console 的輸入、輸出及指令的 Swift 工具。
- TLS: 用來處理 CLibreSSL 的新型 TLS 的 Swift 工具。
- Crypto: 在 LibreSSL 及 Swift 上進行加密的工具。
- Digests: 無論有沒有認證(authentication)都可以進行雜湊(hash)。
- Ciphers: 編碼及解碼。
- Random: 安全的隨機性。
- BCrypt: 完全用 Swift 實作。
- Node: 可以輕易地進行類型轉換的資料結構。
- Polymorphic: 如同 JSON 一般可以輕易取用資料的語法。
- Path Indexable: 如同 JSON 一樣可以用來處理複雜的資料結構。
- Core: 主要的 extension 群,例如: 變數類型的重新命名、在許多地方都會被使用的 function 等。
- Socks: 將 C 語言的 Socket API 包裝成 Swift 語言。
可合併使用的套件
以下是可以和 Vapor 合併運用的套件列表。(譯註:原文裡這裡還有個東西叫 Provider,那是一種 protocol,讓我們可以掛到 Vapor 中如同第三方元件一樣使用。)
- MySQL: 可透過 Swift 操作 MySQL 的套件。
- MySQL Driver: 透過 Fluent 操作 MySQL 的套件。
- MySQL Provider: 讓 MySQL 可以在 Vapor 上運作的 provider。
- SQLite: 可透過 Swift 操作 SQLite 3 的套件。
- SQLite Driver: 透迥 Fluent 操作 SQLite 的工具。
- SQLite Provider: 讓 SQLite 可以在 Vapor 上運作的 provider。
- PostgreSQL: 用 Swift 操作 PostgreSQL 的工具。
- PostgreSQL Driver: 用 Fluent 操作 PostgreSQL 的套件。
- PostgreSQL Provider: 讓 PostgreSQL 可以運作在 Vapor 上的 provider。
- MongoKitten*: 用 Swift 寫的 MongoDB driver。
- Mongo Driver: Fluent 用的 MongoKitten driver。
- Mongo Provider: Vapor 用的 MongoKitten provider.
- MainecoonVapor: Vapor 的 MongoKitten 物件關聯管理。
- Redbird: 遵循原始協定的規格實作出來的 Swift Redis client 端。
- Redis Provider: Vapor 的 Redis cache provider。
- Kitura Provider: 在 Vapor 中使用 IBM 的 Kitura HTTP Server。
- SwiftyBeaver: 在 Vapor 中使用 SwiftBeaver 的套件。(譯註: 就像強化版的 NSLog() 或 print())
- APNS: 用來操作 Apple 推播的工具。
- JWT: 讓我們可以設定一些規則以取得特定資源的工具。
- VaporS3Signer: 用來產生 HTTP request 的 headers 及已經簽證過的 URL,用來 request AWS S3 的 REST API。
- Flock: 自動將 Swift 專案發佈上主機。
- VaporFlock: 利用 Flock 發佈 Vapor applications。
- VaporForms: 讓我們在處理前端送來的 form request 時可以輕鬆一點的套件。
- Jobs: 在某個特定的時間點執行某些程式碼的套件。
- Heimdall: 用來將收到的 http request 記錄到某個檔案的套件,且這個寫好的檔可以用試算表類型(ex: excel, google sheets)的軟體開啟。
作者們
Tanner Nelson, Logan Wright,以及其他上百位 Vapor 的貢獻者們。