コンテンツにスキップ

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上に構築されているため、すでに知っていて愛用している言語をそのまま使えます。

Vapor

好きな言語で効率的なAPIを構築。ルートを作成し、JSONを送受信し、HTTPサーバーを構築できます。

詳しく見る

Fluent

ネイティブで安全なSwiftコードでモデルを作成し、SQLを書くことなくデータベースを操作できます。

詳しく見る

JWT

SwiftでJSON Web Tokenを作成、署名、検証。Swift Cryptoを基盤としています。

詳しく見る

Leaf

Swiftで書かれたテンプレートエンジン。誰でも使えるシンプルな構文で、WebアプリとメールのHTMLを生成できます。

詳しく見る

高性能な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
}
Binary operator '==' cannot be applied to operands of type 'KeyPath<Todo, FieldProperty<Todo, Int>>' and 'String'
連携

スタック全体とのフル連携

Vaporの成熟したエコシステムには、公式およびコミュニティが管理する100を超えるサーバー向けSwiftパッケージが含まれており、アプリケーション開発を簡単かつ効率的にします。

始める
Vapor Integrations

これらの素晴らしいアプリを手がけるチームが利用しています

一覧を見る
SwiftFiddle Card

SwiftFiddle

SwiftFiddle is an online playground for creating, sharing and embedding Swift fiddles

実際の動作を見る
SwiftPackageIndex Card

SwiftPackageIndex

The Swift Package Index is a searchable index of Swift packages and their compatibility with various platforms.

実際の動作を見る
Underway NYC Card

Underway NYC

Quickly locate yourself on the official MTA map of NYC and get real-time train arrivals at that subway stop

実際の動作を見る
Litmaps Card

Litmaps

Litmaps is a browser-based research platform designed for clarity, comprehensiveness, and collaboration.

実際の動作を見る
Vapor Discord server

Swiftバックエンド開発者の最大のコミュニティに参加しよう

13,000人を超えるVaporのDiscordコミュニティが、あなたの歩みをサポートします。質問したり、貢献したりして、活気にあふれた居心地のよいインターネットの一角の一員になりましょう。

Discordに参加する貢献する

Swiftでの開発に必要なすべてのツールを手に入れよう

始めるAPIドキュメントへ

Swiftでの開発に必要なすべてのツールを手に入れよう

  • Vapor Toolboxで新しいプロジェクトを簡単に作成
  • 充実したドキュメントとAPIリファレンス
  • バックエンドとAPIの構築に必要なすべて
  • SwiftのConcurrencyモデルを完全サポート

素晴らしいスポンサーと支援者の皆様に支えられています

サポーターになる
Broken Hands

Broken Hands

Providing Vapor training and consulting for clients around the world.

詳しく見る
omrd

omrd

omrd provides consultation services for dental elated scans.

詳しく見る
Emerge Tools

Emerge Tools

Emerge Tools is a suite of revolutionary products designed to supercharge mobile apps and the teams that build them.

詳しく見る