Philosophy / Why Opinionated Core?
Constraints Enable Clarity
Ranvier's core is deliberately opinionated for three strategic reasons. While "opinionated" might sound limiting, it's actually what makes Ranvier productive and distinct.
1. Identity: What Makes Ranvier, Ranvier?
Problem: Rust has many web frameworks (Actix, Axum, Rocket, Warp, Tide...). Why another one?
Answer: Ranvier is not "another web framework" — it's a schematic-first, event-driven framework. The Transition/Outcome/Bus/Schematic paradigm is our unique value proposition.
Framework Identity
- Actix = "actor model for web apps"
- Axum = "ergonomic routing with Tower middleware"
- Ranvier = "schematic-first, visualizable data flows"
Each has a clear identity. Ranvier's opinionated core IS that identity.
2. Learning Curve: One Right Way, Not Ten Ways
Problem: Flexible frameworks offer choice, but choice creates cognitive load. "Should I use middleware X or Y? Pattern A or B?"
Ranvier's approach:
Learning ROI
- Week 1: Learn Transition/Outcome/Bus → productive immediately
- Week 2: Learn Schematic visualization → debugging superpowers
- Week 3: Learn ecosystem integration (if needed) → best of both worlds
3. Consistency: Codebases That Look Alike
Problem: In flexible frameworks, every team/project invents their own patterns. Onboarding new developers is slow because every codebase is a snowflake.
Ranvier's approach: All Ranvier codebases follow the same structure (transitions/, outcomes/, schematics/, main.rs)