Skip to main content

Show HN: Fern, a language for defining REST APIs that compiles into OpenAPI https://ift.tt/PEKLe8d

Show HN: Fern, a language for defining REST APIs that compiles into OpenAPI Hi HN, this is Danny, Deep, and Zach. We built Fern after our previous ed tech startup failed. We were frustrated with how much time we spent writing “API code” instead of working on the actual product. We tried to use OpenAPI but we were underwhelmed - the generated code wasn’t idiomatic and it still required manual work (custom templates, scripts, manually publishing SDKs to registries). The Fern compiler takes your API as input and invokes generators that output things like: SDKs, server code, a Postman collection, and an OpenAPI spec. Some technical highlights about the compiler + generators: - The compiler (available as a CLI) handles syntactic + semantic validation. It also includes a linter that encodes best practices. If your API Definition compiles, you can have high confidence that the SDKs will generate correctly. - After all the parsing and validation, the compiler outputs an intermediate representation that gets handed off to the generators. This prevents each generator from re-implementing the same parsing and validation logic. - Each generator is implemented in the language it is targeting - e.g. the Python generators are written in Python, the TypeScript generators are written in TS. It makes the SDKs more idiomatic because every programming language generally has the best tooling/libraries for generating code in itself. We also think it’ll make community involvement + contribution easier. - The generators can output the code to disk, but also push the code to a Github repo and publish the SDK directly to registries (e.g. npm, Maven). We are looking for devs to use Fern for API development. If you have any feedback about the process, compiler, or the generated code, we’d love to hear it. "Plant Store" example: https://ift.tt/ERm86Qn Generated repos: - https://ift.tt/8BD6j1S - https://ift.tt/Fk2SYJq - https://ift.tt/UqpQKTw - https://ift.tt/uKnbS43 https://ift.tt/L3npbBk January 12, 2023 at 04:09AM

Comments

Popular posts from this blog

Show HN: TPMouse - A Virtual Trackball for Windows, controlled from the homerow https://ift.tt/BtjAqD4

Show HN: TPMouse - A Virtual Trackball for Windows, controlled from the homerow Hello all, I apologize for the repost as the previous submission was made from an unfortunate timezone. I've been refining my app to the point that it's pretty much become an indispensable daily driver in my own workflow. Hoping to hear some critiques/feedbacks on its usability! https://ift.tt/p6HvZCc October 24, 2022 at 02:24AM