# Vapor — Server-Side Swift Web Framework > A modern web framework written in Swift for building APIs and web applications on macOS and Linux. ## Install Save the content below to `.claude/skills/` or append to your `CLAUDE.md`: # Vapor — Server-Side Swift Web Framework ## Quick Use ```bash brew install vapor vapor new my-app cd my-app swift run App serve ``` ## Introduction Vapor is the most popular server-side Swift framework, enabling developers to build web applications, REST APIs, and real-time services using the same language they use for iOS and macOS development. It runs on Apple platforms and Linux, leveraging Swift's type safety and performance. ## What Vapor Does - Builds HTTP servers and RESTful APIs with expressive Swift syntax - Provides an ORM (Fluent) for PostgreSQL, MySQL, SQLite, and MongoDB - Handles WebSocket connections for real-time communication - Renders server-side HTML with the Leaf templating engine - Manages authentication, sessions, and middleware pipelines ## Architecture Overview Vapor is built on top of SwiftNIO, Apple's event-driven networking framework. Incoming requests pass through a configurable middleware chain before reaching route handlers. The framework uses Swift's async/await concurrency model for non-blocking I/O. Fluent, the companion ORM, provides a query builder and model lifecycle hooks that work across multiple database drivers through a unified API. ## Self-Hosting & Configuration - Requires Swift 5.9+ on macOS or Ubuntu/Amazon Linux - Install the Vapor toolbox via Homebrew or build from source - Configure database connections and middleware in `configure.swift` - Environment variables control port binding, log level, and database URLs - Deploy using Docker, Heroku, AWS Lambda, or any Linux server with Swift installed ## Key Features - Native async/await support throughout the request pipeline - Type-safe routing with compile-time parameter validation - Fluent ORM with migrations, eager loading, and soft deletes - Built-in support for JWT, OAuth, and session-based authentication - Vapor Cloud and community deployment guides for major platforms ## Comparison with Similar Tools - **Kitura** — IBM's server-side Swift framework (now archived); Vapor is actively maintained with a larger community - **Hummingbird** — Lightweight Swift HTTP framework; Vapor provides more built-in features like ORM and auth - **Express (Node.js)** — Similar middleware-based design; Vapor benefits from Swift's type safety and compiled performance - **FastAPI (Python)** — Both emphasize modern async patterns; Vapor uses compiled Swift while FastAPI uses Python with type hints ## FAQ **Q: Can I share code between my iOS app and Vapor backend?** A: Yes. Swift packages can be shared between client and server, enabling shared models, validation logic, and API contracts. **Q: Does Vapor run on Linux?** A: Yes. Vapor fully supports Ubuntu and Amazon Linux, making it suitable for server and container deployments. **Q: How does Vapor performance compare to Node.js or Go?** A: Vapor benefits from Swift's compiled nature and SwiftNIO's event loop. Benchmarks typically show it outperforming Node.js and competing with Go for HTTP throughput. **Q: Is Vapor production-ready?** A: Yes. Companies use Vapor in production for APIs and microservices. The framework has stable releases and long-term maintenance. ## Sources - https://github.com/vapor/vapor - https://docs.vapor.codes --- Source: https://tokrepo.com/en/workflows/vapor-server-side-swift-web-framework-d5dfb510 Author: AI Open Source