Server-Technologie wählen (Phase 2) #10

Closed
opened 2026-05-13 12:26:20 +00:00 by jreinemann-euris · 1 comment
jreinemann-euris commented 2026-05-13 12:26:20 +00:00 (Migrated from github.com)

Ziel

REST-Server-Technologie für Phase 2 (Gerätesynchronisierung) auswählen.

Optionen

  • Ktor (Kotlin-native)
  • Spring Boot
  • Node.js / Express
  • Python / FastAPI

Hinweis

⚠️ Phase 2 – wird erst bearbeitet, wenn v1.0 (Blocks 1–6) abgeschlossen ist.

Akzeptanzkriterium

Technologie ist ausgewählt und begründet dokumentiert.

## Ziel REST-Server-Technologie für Phase 2 (Gerätesynchronisierung) auswählen. ## Optionen - Ktor (Kotlin-native) - Spring Boot - Node.js / Express - Python / FastAPI ## Hinweis ⚠️ **Phase 2** – wird erst bearbeitet, wenn v1.0 (Blocks 1–6) abgeschlossen ist. ## Akzeptanzkriterium Technologie ist ausgewählt und begründet dokumentiert.
jreinemann-euris commented 2026-05-14 17:22:06 +00:00 (Migrated from github.com)

Entschieden (2026-05-14)

Gewählt: Ktor (Kotlin-nativer Server von JetBrains)

Begründung:

  • Gleiche Sprache wie der Android-Client (Kotlin) – Datenmodelle direkt teilbar
  • kotlinx.serialization als First-Class-Citizen – bestehendes Client-Datenmodell wiederverwendbar
  • Koroutinen-basiert – konsistent mit dem Android-Client
  • Leichtgewichtig – geringer RAM, schneller Start, kein Application-Server nötig
  • JetBrains-maintained – langfristige Pflege gesichert

Alternativen geprüft:

  • Spring Boot (Score 6/10) – zu schwergewichtig, Java-First, kein kotlinx.serialization
  • Node.js + Express (Score 5/10) – Sprachwechsel, kein Code-Sharing
  • Python + FastAPI (Score 5/10) – Sprachwechsel, andere Toolchain

ADR dokumentiert unter Anforderungen/design/server-tech/adr-server-technology.md

## Entschieden (2026-05-14) **Gewählt:** Ktor (Kotlin-nativer Server von JetBrains) **Begründung:** - Gleiche Sprache wie der Android-Client (Kotlin) – Datenmodelle direkt teilbar - kotlinx.serialization als First-Class-Citizen – bestehendes Client-Datenmodell wiederverwendbar - Koroutinen-basiert – konsistent mit dem Android-Client - Leichtgewichtig – geringer RAM, schneller Start, kein Application-Server nötig - JetBrains-maintained – langfristige Pflege gesichert **Alternativen geprüft:** - Spring Boot (Score 6/10) – zu schwergewichtig, Java-First, kein kotlinx.serialization - Node.js + Express (Score 5/10) – Sprachwechsel, kein Code-Sharing - Python + FastAPI (Score 5/10) – Sprachwechsel, andere Toolchain ADR dokumentiert unter `Anforderungen/design/server-tech/adr-server-technology.md`
Sign in to join this conversation.
No description provided.