Skir: Eine moderne Alternative zu Protocol Buffers für typsicheren Datenaustausch

✍️ OpenClawRadar📅 Veröffentlicht: 9. März 2026🔗 Source
Skir: Eine moderne Alternative zu Protocol Buffers für typsicheren Datenaustausch
Ad

Was Skir leistet

Skir ist eine moderne Alternative zu Protocol Buffers, die als einzige Quelle der Wahrheit für Datentypen dient. Sie schreiben Ihr Schema einmal in einer .skir-Datei und generieren idiomatischen, typsicheren Code für mehrere Sprachen.

Wichtige Funktionen und Arbeitsablauf

Die gesamte Konfiguration befindet sich in einer YAML-Datei. Sie können ein Projekt mit npx skir init initialisieren. Der Watch-Modus kompiliert automatisch neu, wenn sich Dateien ändern.

Hier ist ein Beispielschema aus der Quelle:

struct Point {
  x: int32;
  y: int32;
  label: string;
}

struct Shape { points: [Point]; /// Eine kurze Beschreibung dieser Form. label: string; }

const TOP_RIGHT_CORNER: Point = { x: 600, y: 400, label: "oben-rechts Ecke", };

Verwendung des generierten Codes

Der generierte Code enthält Serialisierungs- und Deserialisierungsmethoden. Für TypeScript:

import { Point } from "../skirout/shapes";

const point = Point.create({ x: 3, y: 4, label: "P" });

const pointJson = Point.serializer.toJson(point); console.log(pointJson); // [3, 4, "P"]

const restored = Point.serializer.fromJson(pointJson); console.log(restored.label); // "P"

Ad

Schemaevolution und RPC-Unterstützung

Skir umfasst integrierte Prüfungen und Richtlinien für sichere Schemaevolution in langlebigen oder verteilten Systemen. Es unterstützt auch RPCs mit durchgängiger Typsicherheit ähnlich wie gRPC.

Beispiel-RPC-Definition:

struct WhatToWearRequest {
  temperature_celsius: float32;
  raining: bool;
}

struct WhatToWearResponse { bottom_outfit: string; sunglasses: bool; }

method WhatToWear(WhatToWearRequest): WhatToWearResponse = 770862;

Zusätzliche Funktionen

  • Serialisierung in kompaktes JSON (ermöglicht Schemaevolution), lesbares JSON (für Debugging) oder Binärformat (für Leistung)
  • Integrierter Paketmanager, der Typen direkt aus GitHub-Repositories importiert
  • VS Code-Erweiterung mit Echtzeitvalidierung, Codevervollständigung und automatischer Formatierung
  • Unterstützte Sprachen: TypeScript, Python, C++, Java, Kotlin, Dart

Für wen es gedacht ist

Teams mit gemischten Sprachstacks, die typsicheren Datenaustausch zwischen Diensten benötigen, besonders nützlich für Full-Stack-Anwendungen mit verschiedenen Frontend- und Backend-Sprachen.

📖 Read the full source: HN AI Agents

Ad

👀 Siehe auch