본문으로 건너뛰기

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로 작성된 템플릿 엔진. 누구나 사용할 수 있는 간단한 문법으로 웹 앱과 이메일용 HTML을 생성하세요.

자세히 보기

고성능 API와 서버

논블로킹 이벤트 기반 아키텍처로 구축된 Vapor를 사용하면 고성능의 확장 가능한 API와 HTTP 서버를 만들 수 있습니다. Swift의 동시성 모델을 활용해 효율적이고 읽기 쉬우며 명확하고 유지보수하기 좋은 코드를 작성할 수 있습니다.

시작하기
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의 동시성 모델 완벽 지원

멋진 후원자와 서포터 여러분의 지원을 받고 있습니다

후원자 되기
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.

자세히 보기