ts-rs
differential
ts-rs | differential | |
---|---|---|
5 | 3 | |
919 | 103 | |
3.0% | 14.6% | |
9.6 | 9.7 | |
9 days ago | 4 days ago | |
Rust | TypeScript | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ts-rs
-
Differential: Type safe RPC that feels like local functions
I agree, and disagree.
I agree that it limits the usage of the tool in a polygot environment. I disagree it's a downside.
The absence of an intermediary language does give some benefits to the first class citizen (in this case, Typescript).
However, there are some other developments [1] which attempt to make the Typescript type system an IDL to allow for better interop.
[1] https://github.com/Aleph-Alpha/ts-rs
- Generate TypeScript interface/type declarations from rust types
-
What’s the best high-level companion to Rust?
Not the person you asked, but I’ve seen people use https://github.com/Aleph-Alpha/ts-rs to generate TS interfaces at compile time for use on the frontend. Saves a bunch of time when scaffolding up a new data model without having to use a custom gRPC plugin or something wonky like that. That makes Rust and TS a pretty powerful pairing IMO.
-
ts-rs - generate typescript type declarations from rust types
[Link]
-
Hey Rustaceans! Got an easy question? Ask here (42/2021)!
Does anyone know how mature ts-rust is? I'm trying to use this with complex types (nested enums etc) and am running into some pain-points, especially when I have types defined across multiple files. Not sure if this is a legitimate limitation, or whether there's just more for me to do in terms of configuration etc.
differential
-
Differential: Type safe RPC that feels like local functions
Fair question.
> But for the service to start it needs to get a request (via lambda invocation).
A service can also start by manually `.invoke`-ing the lambda.
The control-plane will start the lambda function when there's work. Lambda "asks" for work to do. Once work has finished, lambda function exits.
When deploying, we start the lambda function once so it can come out for air and advertise itself to the control-plane.
This is an affordance we do only do for lambda, and currently in development with our deployment offering here [1]
[1] https://github.com/differentialhq/differential/blob/236ffc53...
-
Show HN: Differential – TypeScript services with the DX of local functions
Hello HN!
Over the last few months I've been working on Differential.dev.
It's a tool that I built to solve the problem of connecting n domain services, with the simplest possible abstraction - function calls. (Typescript only for now)
Internally it uses a service bus that ferries functions calls, but all of this is abstracted away from a developer. You can use it (as I have) in brown-field projects to split a monolithic service to domain-driven services, without splitting the codebase.
It's fully open-source under a GPL 3.0 License: https://github.com/differentialHQ/differential
Keen for feedback, if you have any. You can also contact me at nadeesha at differential.dev.
What are some alternatives?
typescript-json-schema - Generate json-schema from your Typescript sources
zsyntax - Automated theorem prover for a linear logic-based calculus for molecular biology.
rust-analyzer - A Rust compiler front-end for IDEs
typebinder - Exports TS definitions from Rust module
card_game
tsync - Thread Synchronization and message passing in python.
combine - A parser combinator library for Rust
schemafy - Crate for generating rust types from a json schema
rust-analyzer - A Rust compiler front-end for IDEs [Moved to: https://github.com/rust-lang/rust-analyzer]
rust - Empowering everyone to build reliable and efficient software.
virtual-environments - GitHub Actions runner images [Moved to: https://github.com/actions/runner-images]
conrod - An easy-to-use, 2D GUI library written entirely in Rust.