Przejdź do treści

Swift, ale na serwerze

Vapor zapewnia bezpieczną, wydajną i łatwą w użyciu podstawę do tworzenia serwerów HTTP, backendów i interfejsów API w Swift

import Vapor

let app = try await Application.make(.detect())

app.get("hello") { req in
    "Hello, world!"
}

try await app.execute()







Napędza firmy takie jak:

Twórz po stronie serwera za pomocą narzędzi, które już znasz

Nie musisz uczyć się języka od zera (ani budować osobnego zespołu) tylko dla swojego backendu. Vapor jest zbudowany na bazie SwiftNIO firmy Apple, więc możesz używać języka, który już znasz i lubisz.

Vapor

Twórz wydajne API w języku, który kochasz. Definiuj trasy, wysyłaj i odbieraj JSON oraz buduj serwery HTTP.

Dowiedz się więcej

Fluent

Twórz modele i korzystaj z bazy danych w natywnym, bezpiecznym kodzie Swift, bez konieczności pisania SQL.

Dowiedz się więcej

JWT

Twórz, podpisuj i weryfikuj tokeny JSON Web Token w Swift. Zbudowane na Swift Crypto.

Dowiedz się więcej

Leaf

Silnik szablonów napisany w Swift. Generuj HTML dla aplikacji webowych i e-maili dzięki prostej składni, z której skorzysta każdy.

Dowiedz się więcej

Wydajne API i serwery

Zbudowany w oparciu o nieblokującą architekturę sterowaną zdarzeniami, Vapor pozwala tworzyć wydajne i skalowalne API oraz serwery HTTP. Dzięki modelowi współbieżności Swift możesz pisać przejrzysty, łatwy w utrzymaniu kod, który jest wydajny i czytelny.

Rozpocznij
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
}

Wdrażaj z pewnością, nawet w piątki

Dzięki ekspresyjnemu, zorientowanemu na protokoły projektowi Vapora wdrażasz swój kod ze spokojem. Dzięki naszemu silnemu naciskowi na bezpieczeństwo typów wiele błędów i problemów jest wychwytywanych wcześnie przez kompilator.

Rozpocznij
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'
Integracje

Pełna integracja z całym Twoim stosem

Dojrzały ekosystem Vapora obejmuje ponad sto oficjalnych i utrzymywanych przez społeczność pakietów Swift zorientowanych na serwer, dzięki którym tworzenie aplikacji jest łatwe i wydajne.

Rozpocznij
Vapor Integrations

Używany przez zespoły stojące za tymi wspaniałymi aplikacjami

Zobacz pełną listę
SwiftFiddle Card

SwiftFiddle

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

Zobacz w działaniu
SwiftPackageIndex Card

SwiftPackageIndex

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

Zobacz w działaniu
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

Zobacz w działaniu
Litmaps Card

Litmaps

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

Zobacz w działaniu
Vapor Discord server

Dołącz do największej społeczności programistów backendu w Swift

Licząca ponad 13 000 członków społeczność Discord Vapora będzie u Twojego boku, by wspierać Cię na każdym kroku. Zadawaj pytania, współtwórz i stań się częścią tętniącego życiem, przyjaznego zakątka internetu.

Dołącz do naszego DiscordaWspółtwórz

Zdobądź wszystkie narzędzia potrzebne do tworzenia w Swift

RozpocznijPrzejdź do dokumentacji API

Zdobądź wszystkie narzędzia potrzebne do tworzenia w Swift

  • Łatwo twórz nowe projekty dzięki Vapor Toolbox
  • Obszerna dokumentacja i dokumentacja API
  • Wszystko, czego potrzebujesz do tworzenia backendów i API
  • Pełne wsparcie dla modelu współbieżności Swift

Wspierany przez naszych niesamowitych sponsorów i darczyńców

Zostań sponsorem
Broken Hands

Broken Hands

Providing Vapor training and consulting for clients around the world.

Dowiedz się więcej
omrd

omrd

omrd provides consultation services for dental elated scans.

Dowiedz się więcej
Emerge Tools

Emerge Tools

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

Dowiedz się więcej