Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
With that said, 95% of my rationale for not being pumped is that the ecosystem is not mature. For the custom logic, data transformations, serialization and deserialization I liked Rust more than Ruby, Java, or Node. For everything that is not that, it's a pain in the ass. I used Rocket and it's pretty easy to get up and running, but it's so much further from "batteries included" than every other ecosystem. Deployment (what's the status quo for building a statically linked binary again?), scheduled tasks, queues for background tasks, safe dynamic SQL, ergonomic wrappers for integrating with the million different 3rd party services, even support for CSRF tokens or some of the other minutia ("nice" support for specific headers) is just harder than it needs to be.
I did made an example following hexagonal architecture https://github.com/Mcfloy/hexagonapp, the DI resolves in two ways: - main core uses trait objects - executable defines which implementation will be used manually, a bit of a hassle at first but it's okay.