Warum Swift nicht nur für die mobile Entwicklung steht?
Wenn man „Swift“ hört, ist die erste Assoziation iOS-Apps. Aber in den letzten Jahren macht Swift selbstbewusst Schritte auf die Serverseite. Und das ist kein Hype: Apple entwickelt das Ökosystem aktiv weiter, und die Community erschafft leistungsstarke Frameworks. Wenn Sie bereits Swift für iOS schreiben und Ihren Horizont erweitern möchten – Mikroservices mit Swift werden Ihr logischer nächster Schritt sein.
Warum gerade Mikroservices? Weil sie der moderne Standard für den Backend-Aufbau sind: kleine, unabhängige Dienste, die sich leicht skalieren und aktualisieren lassen. Und Swift mit seiner Leistung, Typsicherheit und prägnanten Syntax eignet sich hervorragend dafür. In diesem Artikel schauen wir uns an, wo man mit der Erstellung von Mikroservices in Swift beginnt, schreiben echten Code und starten unseren ersten Dienst.
Was sollten Sie vor dem Start wissen?
Für ein angenehmes Lesen benötigen Sie:
- Grundkenntnisse in Swift (Variablen, Funktionen, Strukturen)
- Verständnis von HTTP und REST (zumindest auf dem Niveau „es gibt eine Anfrage – es gibt eine Antwort“)
- Installiertes
brew(für macOS) oder Docker (für Linux)
Wenn etwas fehlt – kein Problem, wir klären es im Laufe der Zeit.
Das Werkzeug auswählen: Vapor – der König des serverseitigen Swift
Auf dem Markt der Server-Frameworks für Swift gibt es zwei Hauptakteure: Vapor und Kitura (von IBM). Aber Kitura ist leider fast eingefroren. Vapor hingegen wird aktiv weiterentwickelt, hat eine riesige Community und eine gute Dokumentation. Daher ist unsere Wahl Vapor.
Vapor bietet alles aus einer Hand: Routing, Middleware, Datenbankanbindung, WebSocket, Asynchronität via async/await. Ideal für den Aufbau einer Mikroservice-Architektur mit Swift.
Installation der Vapor Toolbox
Öffnen Sie das Terminal und führen Sie aus:
brew install vaporÜberprüfen Sie nach der Installation:
vapor --helpWenn Sie eine Liste der Befehle sehen – alles in Ordnung, Sie können Ihr erstes Projekt erstellen.
Erstellen des ersten Mikroservices: Hello, World!
Unser erster Mikroservice wird einfach sein: Er nimmt eine GET-Anfrage entgegen und gibt JSON zurück. Aber wir machen es richtig – mit einer Architektur, die für Erweiterungen bereit ist.
Schritt 1. Projekt erstellen
vapor new HelloMicroservice --template=authcd HelloMicroserviceDas Flag --template=auth fügt eine grundlegende Struktur mit Authentifizierung hinzu. Für einen Mikroservice ist das eine gute Praxis – Sicherheit von Anfang an einzuplanen.
Schritt 2. Projektstruktur
Nach der Erstellung sehen Sie diese Struktur:
HelloMicroservice/├── Sources/│ ├── App/│ │ ├── Controllers/│ │ ├── Models/│ │ └── configure.swift│ └── Run/│ └── main.swift├── Tests/├── Dockerfile└── Package.swiftBeachten Sie die Dockerfile – das ist bereits eine fertige Vorlage für die Containerisierung. Mikroservices ohne Docker sind wie Pizza ohne Käse.
Schritt 3. Ersten Endpunkt schreiben
Öffnen wir Sources/App/Controllers/UserController.swift (falls nicht vorhanden, erstellen wir ihn). Fügen wir eine einfache Methode hinzu:
import Vapor
struct HealthController: RouteCollection { func boot(routes: RoutesBuilder) throws { let health = routes.grouped("api", "health") health.get(use: checkHealth) } @Sendable func checkHealth(req: Request) async throws -> HTTPStatus { return .ok }}Dies ist ein klassischer Health-Check – die Grundlage jedes Mikroservices. Jetzt registrieren wir ihn in configure.swift:
// am Ende der Funktion configuretry app.register(collection: HealthController())Schritt 4. Starten und testen
vapor runÖffnen Sie den Browser oder das Terminal:
curl http://localhost:8080/api/health# Antwort: 200 OKHerzlichen Glückwunsch! Sie h