Skir: Uma Alternativa Moderna aos Protocol Buffers para Troca de Dados com Segurança de Tipos

✍️ OpenClawRadar📅 Publicado: March 9, 2026🔗 Source
Skir: Uma Alternativa Moderna aos Protocol Buffers para Troca de Dados com Segurança de Tipos
Ad

O que o Skir faz

Skir é uma alternativa moderna ao Protocol Buffers que serve como uma única fonte da verdade para tipos de dados. Você escreve seu esquema uma vez em um arquivo .skir e gera código idiomático e type-safe para múltiplas linguagens.

Funcionalidades Principais e Fluxo de Trabalho

Toda a configuração fica em um único arquivo YAML. Você pode inicializar um projeto com npx skir init. O modo watch recompila automaticamente quando os arquivos mudam.

Aqui está um exemplo de esquema da fonte:

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

struct Shape { points: [Point]; /// Uma string curta descrevendo esta forma. label: string; }

const TOP_RIGHT_CORNER: Point = { x: 600, y: 400, label: "top-right corner", };

Uso do Código Gerado

O código gerado inclui métodos de serialização e desserialização. Para 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

Evolução de Esquema e Suporte a RPC

Skir inclui verificações e diretrizes integradas para evolução segura de esquema em sistemas de longa duração ou distribuídos. Também suporta RPCs com type-safe de ponta a ponta similar ao gRPC.

Exemplo de definição RPC:

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

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

method WhatToWear(WhatToWearRequest): WhatToWearResponse = 770862;

Funcionalidades Adicionais

  • Serialização para JSON denso (compacto, permite evolução de esquema), JSON legível (para depuração) ou binário (para performance)
  • Gerenciador de pacotes integrado que importa tipos diretamente de repositórios GitHub
  • Extensão VS Code com validação em tempo real, autocompletar e formatação automática
  • Linguagens suportadas: TypeScript, Python, C++, Java, Kotlin, Dart

Para quem é

Equipes que executam stacks de linguagens mistas e precisam de troca de dados type-safe entre serviços, particularmente útil para aplicações full-stack com diferentes linguagens no frontend e backend.

📖 Leia a fonte completa: HN AI Agents

Ad

👀 See Also