Philosophy / Why Flexible Edges?
Integrate, Don't Isolate
While the core is opinionated, Ranvier embraces the Rust ecosystem at its boundaries. "Flexible Edges" means you can use any Rust library, framework, or pattern at the integration points.
1. Ecosystem Integration: Standing on Giants' Shoulders
If Ranvier enforced its paradigm everywhere, you'd need "Ranvier-specific" versions of every tool. This is unsustainable and isolates Ranvier from the broader Rust community.
Benefits
- Reuse existing knowledge: If your team knows Tower, use Tower layers
- Leverage battle-tested code: Tower's CORS/Trace/Timeout are production-hardened
- Stay current: When tower-http releases a new version, upgrade immediately
2. Gradual Migration: From X to Ranvier, Step by Step
"All or nothing" frameworks are risky. Rewriting a production app from scratch is expensive and dangerous. Ranvier allows incremental adoption.
3. User Autonomy: You Know Your Constraints Best
Framework authors can't predict every use case. Rigid frameworks force workarounds when your needs diverge from the "happy path."
Ranvier's philosophy: We're opinionated about what (use Transitions for business logic), not how (you choose HTTP server, DB, deployment).