Passer au contenu

Swift, mais sur le serveur

Vapor fournit une base sûre, performante et facile à utiliser pour créer des serveurs HTTP, des backends et des API en Swift

import Vapor

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

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

try await app.execute()







Utilisé par des entreprises comme :

Développez côté serveur avec les outils que vous maîtrisez déjà

Pas besoin d’apprendre un langage à partir de zéro (ni de constituer une autre équipe) juste pour votre backend. Vapor repose sur SwiftNIO d’Apple, vous pourrez donc utiliser le langage que vous connaissez et appréciez déjà.

Vapor

Créez des API efficaces dans un langage que vous aimez. Définissez des routes, envoyez et recevez du JSON et créez des serveurs HTTP.

En savoir plus

Fluent

Créez des modèles et interagissez avec votre base de données en code Swift natif et sûr, sans avoir à écrire de SQL.

En savoir plus

JWT

Créez, signez et vérifiez des JSON Web Tokens en Swift. Basé sur Swift Crypto.

En savoir plus

Leaf

Un moteur de templates écrit en Swift. Générez du HTML pour vos applications web et vos e-mails avec une syntaxe simple, à la portée de tous.

En savoir plus

Des API et des serveurs hautement performants

Bâti sur une architecture non bloquante et événementielle, Vapor vous permet de créer des API et des serveurs HTTP performants et évolutifs. Grâce au modèle de concurrence de Swift, vous écrivez un code clair et maintenable, efficace et facile à lire.

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

Déployez en toute confiance, même le vendredi

Grâce à la conception expressive et orientée protocole de Vapor, vous déployez votre code l’esprit tranquille. Avec notre fort accent sur la sûreté du typage, de nombreuses erreurs et problèmes sont détectés très tôt par le compilateur.

Commencer
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'
Intégrations

Une intégration complète avec l’ensemble de votre stack

L’écosystème mature de Vapor comprend plus d’une centaine de paquets Swift orientés serveur, officiels et maintenus par la communauté, pour rendre le développement de vos applications simple et efficace.

Commencer
Vapor Integrations

Utilisé par les équipes derrière ces applications incroyables

Voir la liste complète
SwiftFiddle Card

SwiftFiddle

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

Voir en action
SwiftPackageIndex Card

SwiftPackageIndex

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

Voir en action
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

Voir en action
Litmaps Card

Litmaps

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

Voir en action
Vapor Discord server

Rejoignez la plus grande communauté de développeurs backend Swift

La communauté Discord de Vapor, forte de plus de 13 000 membres, sera à vos côtés pour vous accompagner. Posez des questions, contribuez et faites partie d’un coin d’internet dynamique et bienveillant.

Rejoignez notre DiscordContribuer

Obtenez tous les outils dont vous avez besoin pour développer avec Swift

CommencerAccéder à la documentation de l’API

Obtenez tous les outils dont vous avez besoin pour développer avec Swift

  • Créez facilement de nouveaux projets avec la Vapor Toolbox
  • Une documentation complète et une référence d’API
  • Tout ce dont vous avez besoin pour créer des backends et des API
  • Une prise en charge complète du modèle de concurrence de Swift

Soutenu par nos incroyables sponsors et donateurs

Devenir soutien
Broken Hands

Broken Hands

Providing Vapor training and consulting for clients around the world.

En savoir plus
omrd

omrd

omrd provides consultation services for dental elated scans.

En savoir plus
Emerge Tools

Emerge Tools

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

En savoir plus