5 Repos
Engines that produce type-safe data models and converters for a variety of target programming languages.
Distinct from Multi-Language Client Generation: Distinct from Multi-Language Client Generation: generates the data models and serializers themselves, not just the API client wrapper.
Explore 5 awesome GitHub repositories matching web development · Multi-Language Model Generators. Refine with filters or upvote what's useful.
Quicktype is a multi-language serialization tool and type generator. It converts JSON samples, JSON Schema definitions, and GraphQL schemas into strongly typed data structures and serialization logic across multiple programming languages. The system automates the data serialization workflow by generating boilerplate code to parse and serialize data. It transforms structured input definitions into executable code, providing the necessary encoders and decoders to move data between raw formats and typed objects.
Acts as an engine that produces type-safe data models and serializers for a variety of target programming languages.
Quicktype is a multi-language model generation engine that converts JSON and GraphQL schemas into type-safe models and serialization code. It functions as a JSON to type generator and a GraphQL type generator, producing strongly typed classes and interfaces across a wide array of target programming languages. The system derives formal schemas from sample data and transforms these definitions into native language objects. This enables the synchronization of shared data models across diverse tech stacks and the development of type-safe interfaces for consuming external APIs. The engine utilize
Produces type-safe models and converters for a wide array of target programming languages.
JSONExport ist ein mehrsprachiger Codegenerator und JSON-Schema-Konverter, der JSON-Datenstrukturen in stark typisierte Quellcode-Klassen transformiert. Er dient als API-Response-Mapper, der JSON-Objekte in Data-Transfer-Objects konvertiert, um die Erstellung von Modellklassen zu automatisieren. Das Tool ist auf die Synthese mehrsprachiger Modelle spezialisiert, was es Benutzern ermöglicht, Datenmodelle über verschiedene Programmiersprachen hinweg unter Verwendung einer einzigen JSON-Eingabe zu definieren. Es generiert Klassen-Boilerplate, einschließlich Konstruktoren und Accessoren, und bietet eine Vorschau-Pipeline, um den resultierenden Quellcode vor dem Speichern zu überprüfen. Das Projekt deckt die Implementierung von Datenmodellen und die Generierung von Quellcode-Boilerplate durch einen template-basierten Ansatz ab, der JSON-Datentypen auf spezifische Sprachsyntax mappt.
Produces type-safe data models across a variety of target programming languages from a single JSON input.
Fury ist ein sprachübergreifendes Framework für binäre Serialisierung, das für die Kodierung von Domänenobjekten und komplexen Graphen entwickelt wurde, um den Datenaustausch zwischen verschiedenen Sprachen zu erleichtern. Es enthält einen Compiler für eine Interface Definition Language (IDL), der Schemadefinitionen in idiomatische native Typen und Serialisierungs-Boilerplate über mehrere Sprachen hinweg übersetzt. Das Projekt zeichnet sich durch einen Zero-Copy-Binär-Reader aus, der den Zugriff auf spezifische Felder ermöglicht, ohne das gesamte Objekt zu deserialisieren, sowie durch einen Objekt-Graph-Serializer, der zirkuläre Referenzen und referenzielle Integrität bewahrt. Es enthält zudem einen Datenkonverter, der zeilenbasierte Binärdaten für analytische Workloads in spaltenbasierte Apache-Arrow-Formate transformiert. Das Framework deckt breite Funktionsbereiche ab, einschließlich metadatengesteuerter Schema-Evolution für Vorwärts- und Rückwärtskompatibilität, einen AOT-Kompilierungsprozess zur Eliminierung von Laufzeit-Reflektion und sichere Deserialisierung durch Whitelist-basierte Typvalidierung. Es bietet zudem Integration für hochperformante Remote Procedure Calls via gRPC.
Produces type-safe data models and serializers for a variety of target programming languages from shared schemas.
Fory is a cross-language serialization framework and binary data serializer designed to convert complex object graphs into a compact binary format for high-performance data exchange. It includes an IDL-based schema compiler to transform interface definition language files into type-safe native data models and a schema evolution manager to maintain forward and backward compatibility. The project features a zero-copy data access layer that allows reading specific fields from binary rows without deserializing the entire object. It supports dual-mode serialization, enabling a toggle between a por
Generates native data structures and type-safe models across multiple languages from a single shared contract.