Simple Services – Great Experience

Knowledge Camp – Swift für Front- und Backend

Simple Services – Great Experience

Knowledge Camp – Swift für Front- und Backend

Am 5. Juli 2024 haben wir (Beetz, Jonas; Radow, Christian und Bosecker, Johannes) einen spannenden Vortrag zum Thema „Swift für Front- und Backend” halten dürfen. In diesem Beitrag fassen wir die wichtigsten Punkte zusammen.

Das Tagesziel haben wir eingangs festgelegt – eine Todo-App, welche wie folgt aussehen und funktionieren soll:

Grundsätzliches über Swift

Zunächst haben wir einige wesentliche Punkte über die Programmiersprache Swift erörtert.

Entstehung und Geschichte von Swift

  • Swift wurde 2014 von Apple entwickelt, um Objective-C zu ersetzen.
  • Die Hauptentwickler waren Chris Lattner und Doug Gregor.
  • Ziel war es, eine einsteigerfreundliche und leistungsstarke Programmiersprache zu schaffen.

Philosophie von Swift

  • Klarheit und Effektivität stehen im Vordergrund.
  • Swift warnt vor unsicherem Code und legt großen Wert auf Sicherheit.

Einsatzbereiche von Swift

  • Ursprünglich für iOS entwickelt, eignet sich Swift auch für macOS, watchOS und tvOS.
  • Swift ist Open Source und ermöglicht serverseitige Entwicklung mit Frameworks wie Vapor oder Kitura.

Vorteile von Swift

  • Natürlicher und intuitiver Code: Swift verwendet eine klare und prägnante Syntax.
  • Moderne Konzepte wie Typensicherheit und Optionals.
  • Automatische Speicherverwaltung (ARC).
  • Schnelle und leistungsfähige Performance.

Grundzüge mit Live-Coding

Danach haben wir die wesentlichen Aspekte von Swift anhand von einer Live-Coding-Session demonstriert.

Hier lag der Fokus vor allem auf der Vermittlung von Themen wie Syntax, Bedingungen, Schleifen, Rechenoperationen, Fehlerbehandlung, Datentypen und Funktionen.

Dabei kam es zu angeregten und spannenden Diskussionen über das Gezeigte, wodurch dieser Teil des Vortrags (vollkommen zurecht) die meiste Zeit eingenommen hat.

Infrastrukturaufbau

Infrastrukturaufbau

Anschließend wurde der konkrete Infrastrukturaufbau unseres Beispielprojekts erörtert. Das Deployment erfolgte über Terraform und GitLab.

Um das zu veranschaulichen haben wir die Terraformskripte und die GitLab CI Konfiguration in einem Code-Review gezeigt.

Implementierung von Frontend und Backend

Hier ging es mit weiteren Live-Coding-Sessions weiter.

Wir haben das Framework “Swift4All” erstellt, das sowohl vom Backend als auch von der App genutzt wird. Dieses beinhaltet das Domain Model und die Payloads, welche zwischen Back- und Frontend kommuniziert werden.

Anschließend haben wir das Backend “Swift4Backend” (mit AWS Lambda Runtime und AWS SDK Swift) implementiert.

Zu guter Letzt wurde das Frontend "Swift4Frontend" (mit SchwiftyResources) gebaut.

Ein „One More Thing” gab es zum Abschluss: Die mit SwiftUI umgesetzte App konnte ohne Anpassungen am Code auch auf macOS, visionOS und iPadOS ausgeführt werden konnte. Das UI passte sich automatisch an die jeweilige Plattform an.

Ansicht To-Do Liste in einer App
Ordnerstruktur
Simulation einer To-Do Liste
Ansicht To-Do Liste in einer App

Resümee

Auch wenn wir den vorher abgesteckten Zeitrahmen von 3 Stunden nicht ganz einhalten konnten, blicken wir auf einen spannenden, lustigen und vor allem Informativen Freitag mit tollen Teilnehmern zurück.

Für uns war die Vorbereitung aber ebenso interessant, da wir bisher nur rudimentäre Kenntnisse von Swift on Server hatten.

Veröffentlicht am 04. September 2024 – Autor: Johannes Bosecker, Jonas Beetz, Christian Radow

Johannes
Jonas
Christian