Pular para o conteúdo

Swift, mas no servidor

O Vapor oferece uma base segura, eficiente e fácil de usar para criar servidores HTTP, backends e APIs em Swift

import Vapor

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

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

try await app.execute()







Impulsionando empresas como:

Crie o lado do servidor com as ferramentas que você já conhece

Não é preciso aprender uma linguagem do zero (nem montar uma equipe separada) só para o seu backend. O Vapor é construído sobre o SwiftNIO da Apple, então você poderá usar a linguagem que você já conhece e ama.

Vapor

Crie APIs eficientes em uma linguagem que você ama. Defina rotas, envie e receba JSON e construa servidores HTTP.

Saiba mais

Fluent

Crie modelos e interaja com seu banco de dados em código Swift nativo e seguro, sem precisar escrever nenhum SQL.

Saiba mais

JWT

Crie, assine e verifique JSON Web Tokens em Swift. Construído sobre o Swift Crypto.

Saiba mais

Leaf

Um motor de templates escrito em Swift. Gere HTML para aplicações web e e-mails com uma sintaxe simples que qualquer pessoa pode usar.

Saiba mais

APIs e servidores de alto desempenho

Construído com uma arquitetura não bloqueante e orientada a eventos, o Vapor permite criar APIs e servidores HTTP escaláveis e de alto desempenho. Com o modelo de concorrência do Swift, você pode escrever um código claro e fácil de manter, eficiente e legível.

Começar
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
}

Faça deploy com confiança, mesmo às sextas-feiras

Com o design expressivo e orientado a protocolos do Vapor, você terá tranquilidade ao publicar seu código. Com nosso forte foco em segurança de tipos, muitos erros e problemas são detectados cedo pelo compilador.

Começar
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'
Integrações

Integração completa com toda a sua stack

O ecossistema maduro do Vapor inclui mais de cem pacotes Swift voltados para o servidor, oficiais e mantidos pela comunidade, para tornar o desenvolvimento das suas aplicações fácil e eficiente.

Começar
Vapor Integrations

Usado pelas equipes por trás destes aplicativos incríveis

Ver lista completa
SwiftFiddle Card

SwiftFiddle

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

Veja em ação
SwiftPackageIndex Card

SwiftPackageIndex

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

Veja em ação
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

Veja em ação
Litmaps Card

Litmaps

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

Veja em ação
Vapor Discord server

Junte-se à maior comunidade de desenvolvedores backend de Swift

A comunidade do Discord do Vapor, com mais de 13 mil membros, estará ao seu lado para ajudar você ao longo do caminho. Faça perguntas, contribua e faça parte de um cantinho próspero e acolhedor da internet.

Entre no nosso DiscordContribuir

Obtenha todas as ferramentas necessárias para desenvolver com Swift

ComeçarIr para a documentação da API

Obtenha todas as ferramentas necessárias para desenvolver com Swift

  • Crie novos projetos facilmente com o Vapor Toolbox
  • Documentação abrangente e referência da API
  • Tudo o que você precisa para criar backends e APIs
  • Suporte completo ao modelo de concorrência do Swift

Apoiado por nossos incríveis patrocinadores e colaboradores

Torne-se um apoiador
Broken Hands

Broken Hands

Providing Vapor training and consulting for clients around the world.

Saiba mais
omrd

omrd

omrd provides consultation services for dental elated scans.

Saiba mais
Emerge Tools

Emerge Tools

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

Saiba mais