Una biblioteca de serialización multiplataforma que permite leer datos binarios directamente, sin analizarlos ni desempaquetarlos antes.
gepheum/skir
Lenguaje declarativo de esquemas que genera modelos de datos seguros en tipos y código RPC para TypeScript, Python, Java, Go, C++ y otros lenguajes a partir de un único archivo .skir.
Alternativa open source a:Protocol Buffers
- Estrellas
- 316
- Forks
- 10
- Issues abiertos
- 1
- Último commit
- hace 17 días
¿Qué es?
Skir es un lenguaje de esquemas para definir tipos de datos y APIs en un único archivo .skir. Un generador de línea de comandos convierte estas definiciones en código nativo para TypeScript, Python, Java, Go, C++, Rust, Kotlin, Swift y varios lenguajes más, de modo que el cliente y el servidor compartan un mismo contrato.
Los tipos generados son profundamente inmutables y todos los campos deben definirse al construirlos. El proyecto admite tipos suma con variantes constantes o tipadas, arrays indexados por clave con APIs de búsqueda y tres modos de serialización: JSON compacto, JSON legible y binario. También incluye comprobaciones de evolución de esquemas para que los datos antiguos sigan deserializándose a medida que cambian las definiciones.
Para los servicios, Skir ofrece SkirRPC, una capa RPC ligera sobre HTTP con una aplicación Studio integrada para explorar y probar métodos. También se pueden importar tipos directamente desde repositorios de GitHub, y una extensión de VS Code con un servidor de lenguaje añade validación, autocompletado y formato.
Funciones clave
- 01Genera código seguro en tipos para más de 10 lenguajes a partir de un único archivo de esquema.
- 02Genera tipos profundamente inmutables con todos los campos obligatorios al construirlos.
- 03Admite tipos suma con variantes constantes o tipadas.
- 04Ofrece serialización en JSON compacto, JSON legible y formato binario.
- 05Incluye SkirRPC, una capa RPC sobre HTTP con Studio integrado para probar métodos.
- 06Permite importar tipos desde repositorios de GitHub.
Casos de uso
- Compartir tipos de solicitud y respuesta entre un frontend en TypeScript y un backend en Python o Go.
- Sustituir definiciones de Protocol Buffers por un lenguaje de esquemas con tipos suma y arrays indexados por clave.
- Definir APIs tipadas que necesiten una capa RPC sobre HTTP y una interfaz de pruebas navegable.
- Compartir estructuras de datos entre varios proyectos mediante importaciones desde GitHub.
Inicio rápido
- 1
Abre la guía de inicio para consultar la configuración y el flujo de trabajo
- 2
Escribe un archivo de esquema .skir y genera código para el lenguaje de destino
Antes de usarlo
- El generador de Elixir lo mantiene la comunidad, no el equipo oficial.
Temas
Preguntas frecuentes
- ¿Qué es skir?
- Lenguaje declarativo de esquemas que genera modelos de datos seguros en tipos y código RPC para TypeScript, Python, Java, Go, C++ y otros lenguajes a partir de un único archivo .skir. Skir es un lenguaje de esquemas para definir tipos de datos y APIs en un único archivo .skir. Un generador de línea de comandos convierte estas definiciones en código nativo para TypeScript, Python, Java, Go, C++, Rust, Kotlin, Swift y varios lenguajes más, de modo que el cliente y el servidor compartan un mismo contrato.
- ¿skir es gratuito? ¿Qué licencia tiene?
- skir es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿skir sigue mantenido?
- Mantenimiento activo. El último commit de skir fue el 6 oct 2026.
- ¿Para qué puedo usar skir?
- Compartir tipos de solicitud y respuesta entre un frontend en TypeScript y un backend en Python o Go. Sustituir definiciones de Protocol Buffers por un lenguaje de esquemas con tipos suma y arrays indexados por clave. Definir APIs tipadas que necesiten una capa RPC sobre HTTP y una interfaz de pruebas navegable. Compartir estructuras de datos entre varios proyectos mediante importaciones desde GitHub.
- ¿Cómo se instala skir?
- Abre la guía de inicio para consultar la configuración y el flujo de trabajo Escribe un archivo de esquema .skir y genera código para el lenguaje de destino
- ¿Dónde consigo skir?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/gepheum/skir
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Framework RPC independiente del lenguaje, con un generador de código que crea clientes y servidores interoperables en muchos lenguajes de programación.
APIs end-to-end con seguridad de tipos para TypeScript, sin esquemas ni generación de código y con tipos compartidos entre servidor y cliente.
Herramienta de línea de comandos para llamar a servidores gRPC, como curl pero con entradas JSON sobre gRPC y detección de esquemas mediante reflexión del servidor o archivos proto.
Un linter extensible con autocorrección que aplica las reglas de estilo de Protocol Buffer sin necesitar el compilador protoc.
Framework multiplataforma para crear aplicaciones de escritorio pequeñas y rápidas con TypeScript en el proceso principal y webviews; también admite Zig, Rust, Go y Odin.