Frequently Asked Questions
Common questions about Armature, the batteries-included Rust web framework.
Is Armature a good NestJS alternative for Rust?
Yes. Armature is 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, and you additionally 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. Actix-web, Rocket, and Axum are excellent lower-level frameworks; Armature adds built-in authentication, validation, caching, job queues, and OpenAPI generation, reducing the number of external crates a production service has to assemble itself.
Does Armature support GraphQL?
Yes. Armature includes GraphQL support with schema-first or code-first approaches, similar to NestJS's GraphQL module, including subscriptions over WebSocket.
What's the learning curve coming from Node.js?
If you know NestJS or Express, the concepts transfer directly. You will need to learn Rust syntax and ownership, but the architectural patterns — controllers, injectable services, modules, middleware — are the same ones you already use.
Is Armature production ready?
Armature is pre-1.0 and its public API can still change between minor versions. The framework is developed against a full workspace test suite and a strict Clippy gate, and its HTTP/1.1 layer carries allocation-regression and differential fuzzing tests. Pin an exact version and read each crate's CHANGELOG before upgrading.
What Rust version does Armature require?
Armature targets the Rust 2024 edition with a minimum supported Rust version of 1.94.1. Async support is built on Tokio and Hyper.
How is Armature licensed?
Armature is released under the Apache License 2.0, so it is free for commercial and private use.