Emi
betaCompiler
Emi Backend-For-Frontend code generation tool, converting project specification to Backend and Client boilerplate.
About Emi
Emi is a general purpose tool, to create client sdks, and boiler code signature for backend API. You'll write a single yaml file, and it will turn into code for backend, and client side, for different targets, such as JavaScript, TypeScript, Swift, Kotlin, Golang and so on. It's a great alternative to mixing multiple tools to generated sdks from OpenAPI specs.
Key Features
- Simple yaml definition, strong data types supported
- Both backend and client code generator, so api signatures will always match, generated by single tool.
- Separate JavaScript and TypeScript compiler, ready to work without transpiling
- Class generation in JavaScript for DTOs, prevents data type mismatches using typescript only interfaces
- Golang full backend and client code generated
- Extends the HTTP api, and can be ejected anytime.
- Full mobility on responses, to customize if necessary
- Adds typescript layer for fetch on browser, to make it type-safe, and returning class instances automatically.
- Available via wasm, and also common operating systems CLI
- Full reactive programming support, specially on WebSockets in Golang and JavaScript
- Type-safe headers, query params, nested query params, unique features to Emi
- Nullability, collections, objects, array support as first citizen
- Envelope system for API responses, separating the content from general wrapper, such as google json style guide
- Swift dto generation, both for apple and other operating systems
- Kotlin dto generation, with full nullability support on DTOs
Related Training
Learn more about this product through our training courses: