Vai al contenuto

Swift, ma sul server

Vapor offre una base sicura, performante e facile da usare per creare server HTTP, backend e API in Swift

import Vapor

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

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

try await app.execute()







Al servizio di aziende come:

Sviluppa lato server con gli strumenti che già conosci

Non c’è bisogno di imparare un linguaggio da zero (o di mettere insieme un altro team) solo per il tuo backend. Vapor è costruito su SwiftNIO di Apple, così potrai usare il linguaggio che già conosci e ami.

Vapor

Crea API efficienti in un linguaggio che ami. Definisci rotte, invia e ricevi JSON e costruisci server HTTP.

Scopri di più

Fluent

Crea modelli e interagisci con il tuo database in codice Swift nativo e sicuro, senza dover scrivere alcun SQL.

Scopri di più

JWT

Crea, firma e verifica i JSON Web Token in Swift. Costruito su Swift Crypto.

Scopri di più

Leaf

Un motore di template scritto in Swift. Genera HTML per app web ed email con una sintassi semplice che chiunque può usare.

Scopri di più

API e server ad alte prestazioni

Costruito con un’architettura non bloccante e orientata agli eventi, Vapor ti permette di creare API e server HTTP scalabili e ad alte prestazioni. Grazie al modello di concorrenza di Swift, puoi scrivere codice chiaro e manutenibile, efficiente e facile da leggere.

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

Rilascia con sicurezza, anche di venerdì

Grazie al design espressivo e orientato ai protocolli di Vapor, potrai rilasciare il tuo codice con serenità. Con la nostra forte attenzione alla type-safety, molti errori e problemi vengono individuati subito dal compilatore.

Inizia
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'
Integrazioni

Integrazione completa con il tuo intero stack

Il maturo ecosistema di Vapor include oltre cento pacchetti Swift orientati al server, ufficiali e mantenuti dalla community, per rendere lo sviluppo delle tue applicazioni semplice ed efficiente.

Inizia
Vapor Integrations

Usato dai team dietro queste fantastiche app

Vedi l’elenco completo
SwiftFiddle Card

SwiftFiddle

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

Guardalo in azione
SwiftPackageIndex Card

SwiftPackageIndex

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

Guardalo in azione
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

Guardalo in azione
Litmaps Card

Litmaps

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

Guardalo in azione
Vapor Discord server

Unisciti alla più grande community di sviluppatori backend Swift

La community Discord di Vapor, con oltre 13.000 membri, sarà al tuo fianco per supportarti lungo il percorso. Fai domande, contribuisci e diventa parte di un angolo di internet vivace e accogliente.

Unisciti al nostro DiscordContribuisci

Ottieni tutti gli strumenti di cui hai bisogno per sviluppare con Swift

IniziaVai alla documentazione API

Ottieni tutti gli strumenti di cui hai bisogno per sviluppare con Swift

  • Crea facilmente nuovi progetti con la Vapor Toolbox
  • Documentazione completa e riferimento delle API
  • Tutto ciò di cui hai bisogno per creare backend e API
  • Supporto completo per il modello di concorrenza di Swift

Sostenuto dai nostri incredibili sponsor e sostenitori

Diventa sostenitore
Broken Hands

Broken Hands

Providing Vapor training and consulting for clients around the world.

Scopri di più
omrd

omrd

omrd provides consultation services for dental elated scans.

Scopri di più
Emerge Tools

Emerge Tools

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

Scopri di più