Frequently Asked Questions
Is Armature a good NestJS alternative for Rust?
Yes! Armature is specifically designed to bring NestJS's architectural patterns to Rust. It features dependency injection, decorators (via Rust macros), modules, guards, interceptors, and pipes - all concepts familiar to NestJS developers.
How does Armature compare to Express or Koa?
Armature provides Express's simplicity and Koa's async/await patterns, but adds type safety, dependency injection, and compile-time error catching. The middleware system will feel familiar, but you get Rust's performance and memory safety guarantees.
Why choose Armature over Actix-web, Rocket, or Axum?
Armature focuses on enterprise features and developer experience. While Actix-web, Rocket, and Axum are excellent low-level frameworks, Armature provides built-in authentication, validation, caching, job queues, and OpenAPI generation - reducing the need for external crates.
Does Armature support GraphQL?
Yes! Armature includes GraphQL support with schema-first or code-first approaches, similar to NestJS's GraphQL module.
What's the learning curve coming from Node.js?
If you know NestJS or Express, the concepts transfer directly. You'll need to learn Rust syntax and ownership, but the architectural patterns (@controller, @injectable, middleware) are identical.