Swift、ただしサーバー上で
Vaporは、SwiftでHTTPサーバー、バックエンド、APIを構築するための安全で高性能、かつ使いやすい基盤を提供します
import Vapor
let app = try await Application.make(.detect())
app.get("hello") { req in
"Hello, world!"
}
try await app.execute()
すでに慣れ親しんだツールでサーバーサイドを構築
バックエンドのためだけに、言語をゼロから学んだり(別のチームを編成したり)する必要はありません。VaporはAppleのSwiftNIO上に構築されているため、すでに知っていて愛用している言語をそのまま使えます。
高性能なAPIとサーバー
ノンブロッキングかつイベント駆動のアーキテクチャで構築されたVaporなら、高性能でスケーラブルなAPIとHTTPサーバーを構築できます。SwiftのConcurrencyモデルを使えば、効率的で読みやすく、明確で保守しやすいコードを書けます。
始めるapp.get("todos", ":id") { req async throws -> Todo in
let id: UUID = try req.parameters.require("id")
guard
let todo = try await Todo.find(id, on: req.db)
else {
throw Abort(.notFound)
}
return todo
}金曜日でも自信を持ってリリース
Vaporの表現力豊かでプロトコル指向の設計により、安心してコードをリリースできます。型安全性を重視しているため、多くのエラーや問題はコンパイラによって早い段階で検出されます。
始めるfunc search(req: Request) async throws -> [Todo] {
let name: String = try req.query.get(at: "name")
let results = try await Todo.query(on: req.db)
.filter(\.$number == name)
.all()
return results
}スタック全体とのフル連携
Vaporの成熟したエコシステムには、公式およびコミュニティが管理する100を超えるサーバー向けSwiftパッケージが含まれており、アプリケーション開発を簡単かつ効率的にします。
始める
これらの素晴らしいアプリを手がけるチームが利用しています
一覧を見る
SwiftFiddle
SwiftFiddle is an online playground for creating, sharing and embedding Swift fiddles
実際の動作を見る
SwiftPackageIndex
The Swift Package Index is a searchable index of Swift packages and their compatibility with various platforms.
実際の動作を見る
Underway NYC
Quickly locate yourself on the official MTA map of NYC and get real-time train arrivals at that subway stop
実際の動作を見る
Litmaps
Litmaps is a browser-based research platform designed for clarity, comprehensiveness, and collaboration.
実際の動作を見る
Swiftバックエンド開発者の最大のコミュニティに参加しよう
13,000人を超えるVaporのDiscordコミュニティが、あなたの歩みをサポートします。質問したり、貢献したりして、活気にあふれた居心地のよいインターネットの一角の一員になりましょう。
Discordに参加する貢献するSwiftでの開発に必要なすべてのツールを手に入れよう
- Vapor Toolboxで新しいプロジェクトを簡単に作成
- 充実したドキュメントとAPIリファレンス
- バックエンドとAPIの構築に必要なすべて
- SwiftのConcurrencyモデルを完全サポート


