Serverless-Funktionen in Swift: AWS Lambda für iOS/macOS-Entwickler

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Einführung in Serverless-Funktionen mit Swift und AWS Lambda

Die Welt der mobilen und Server-Entwicklung verändert sich rasant. Wenn Sie ein iOS/macOS-Entwickler sind, der es gewohnt ist, mit Swift zu arbeiten, haben Sie vielleicht darüber nachgedacht, wie Sie Ihre Fähigkeiten auf die Serverseite übertragen können. Serverless-Architektur und AWS Lambda eröffnen Ihnen diese Möglichkeit. Sie müssen keine Server mehr verwalten – Sie schreiben einfach Code, der als Reaktion auf Ereignisse ausgeführt wird.

In diesem Artikel werden wir uns ansehen, wie man Serverless-Funktionen mit Swift für AWS Lambda erstellt. Sie erfahren, wie Sie die Umgebung einrichten, eine einfache Funktion schreiben und sie in der Cloud bereitstellen. Diese Anleitung ist ideal für Entwickler, die ihre Kompetenzen erweitern und Swift nicht nur für die Erstellung von Oberflächen, sondern auch für das Backend nutzen möchten.



Warum Swift für Serverless?

Swift ist längst nicht mehr nur eine Sprache für iOS. Dank Projekten wie Swift AWS Lambda Runtime können Sie die vertraute Syntax und Ökosystem für das Schreiben von Servercode nutzen. Hier sind die wichtigsten Vorteile:

  • Leistung: Swift wird in nativen Code kompiliert, was eine hohe Ausführungsgeschwindigkeit und einen geringen Speicherverbrauch bietet.
  • Typsicherheit: Die strenge Typisierung von Swift hilft, viele Fehler bereits während der Kompilierung zu vermeiden, was für Servercode entscheidend ist.
  • Einheitlicher Stack: Durch die Verwendung von Swift auf Client und Server reduzieren Sie den Kontextwechsel und können gemeinsame Datenmodelle wiederverwenden.
  • Aktive Community: Server-Swift entwickelt sich aktiv weiter, es entstehen neue Bibliotheken und Werkzeuge.


Einrichtung der Umgebung und Erstellung des Projekts

Bevor wir Code schreiben, müssen die notwendigen Werkzeuge installiert werden. Sie benötigen macOS mit Xcode (oder die Kommandozeile) und Docker für die Kompilierung unter Linux (da AWS Lambda auf Amazon Linux läuft).



Schritt 1: Installation von Swift und Docker

Stellen Sie sicher, dass Swift 5.5 oder neuer installiert ist. Überprüfen Sie die Version mit dem Befehl:

swift --version

Installieren Sie außerdem Docker Desktop für macOS. Es wird für die Kompilierung für die Zielarchitektur von Lambda benötigt.



Schritt 2: Erstellen eines neuen Projekts

Wir verwenden den Swift Package Manager (SPM). Erstellen Sie ein neues ausführbares Paket:

mkdir MyLambdaFunctioncd MyLambdaFunctionswift package init --type executable


Schritt 3: Hinzufügen der AWS Lambda Runtime-Abhängigkeit

Öffnen Sie die Datei Package.swift und fügen Sie die Abhängigkeit hinzu:

// swift-tools-version:5.5import PackageDescription

let package = Package( name: "MyLambdaFunction", platforms: [.macOS(.v12)], dependencies: [ .package(url: "https://github.com/swift-server/swift-aws-lambda-runtime.git", from: "1.0.0") ], targets: [ .executableTarget( name: "MyLambdaFunction", dependencies: [ .product(name: "AWSLambdaRuntime", package: "swift-aws-lambda-runtime") ] ) ])


Schreiben der ersten Serverless-Funktion mit Swift

Kommen wir nun zum interessantesten Teil – dem Schreiben des Codes. Öffnen Sie die Datei main.swift im Ordner Sources/MyLambdaFunction/.



Grundlegende Struktur einer Lambda-Funktion

Hier ist ein minimales Beispiel einer Funktion, die einen Namen entgegennimmt und eine Begrüßung zurückgibt:

import AWSLambdaRuntimeimport AWSLambdaEvents

// Definiert die Struktur der eingehenden Anfragestruct GreetingRequest: Codable { let name: String}

// Definiert die Struktur der Antwortstruct GreetingResponse: Codable { let message: String}

// Haupt-Einstiegspunkt@mainstruct MyLambdaHandler: SimpleLambdaHandler { typealias Event = GreetingRe

Blogs

Buchempfehlungen