#왜 독단적인 코어인가? — 제약이 명확성을 만든다

버전: 0.33.0 최종 업데이트: 2026-03-15 적용 대상: ranvier (모든 크레이트) 카테고리: 철학 & 아키텍처


Ranvier의 코어는 세 가지 전략적 이유로 의도적으로 독단적입니다. "독단적"이라는 표현이 제한적으로 들릴 수 있지만, 실제로는 Ranvier를 생산적이고 차별화된 프레임워크로 만드는 핵심 요소입니다.

#1. 정체성: Ranvier를 Ranvier답게 만드는 것은?

문제: Rust에는 많은 웹 프레임워크가 있습니다 (Actix, Axum, Rocket, Warp, Tide...). 왜 또 하나가 필요할까요?

답변: Ranvier는 "또 하나의 웹 프레임워크"가 아닙니다 — 스키매틱 우선, 이벤트 기반 프레임워크입니다. Transition/Outcome/Bus/Schematic 패러다임이 우리의 고유한 가치 제안입니다.

  • 고유한 틈새: Ranvier는 복잡한 상태 기반 워크플로우(다단계 인증, Saga 패턴, 이벤트 소싱)에 뛰어납니다
  • 시각적 디버깅: VSCode 통합 회로 뷰를 제공하는 Rust 프레임워크는 없습니다
  • 타입 기반 조합: 컴파일러가 올바른 아키텍처로 안내합니다

#프레임워크 정체성

프레임워크 정체성
Actix 웹 앱을 위한 액터 모델
Axum Tower 미들웨어와 인체공학적 라우팅
Ranvier 스키매틱 우선, 시각화 가능한 데이터 흐름

각각 명확한 정체성을 가지고 있습니다. Ranvier의 독단적인 코어가 바로 그 정체성입니다.


#2. 학습 곡선: 열 가지가 아닌 하나의 올바른 방법

문제: 유연한 프레임워크는 선택지를 제공하지만, 선택은 인지 부하를 만듭니다. "미들웨어 X와 Y 중 어떤 것을 사용해야 할까? 패턴 A와 B 중 어떤 것이 좋을까?"

Ranvier의 접근 방식:

  • 하나의 공인된 경로: 비즈니스 로직에는 Transition을 사용합니다. 항상.
  • 명확한 마이그레이션: 에코시스템 도구가 필요하면 문서화된 통합 경로가 있습니다
  • 결정 피로 감소: 새로운 사용자가 대안을 평가하느라 시간을 낭비하지 않습니다

#학습 투자 수익률

주차 배우는 내용 결과
1주차 Transition/Outcome/Bus 즉시 생산적
2주차 Schematic 시각화 디버깅 초능력
3주차 에코시스템 통합 (필요시) 양쪽의 장점

#3. 일관성: 동일하게 보이는 코드베이스

문제: 유연한 프레임워크에서는 모든 팀/프로젝트가 자체 패턴을 만듭니다. 모든 코드베이스가 제각각이기 때문에 새 개발자 온보딩이 느립니다.

Ranvier의 접근 방식: 모든 Ranvier 코드베이스는 동일한 구조를 따릅니다 (transitions/, outcomes/, schematics/, main.rs).

  • 빠른 온보딩: Ranvier 프로젝트 간에 이동하는 개발자가 패턴을 즉시 인식합니다
  • 쉬운 코드 리뷰: 리뷰어가 "좋은 Ranvier 코드"가 어떤 것인지 알고 있습니다
  • 도구 지원: 에디터, 린터, 제너레이터가 일관된 구조를 전제할 수 있습니다

비유: Rails의 "설정보다 관례" 원칙이 Ruby 팀을 매우 생산적으로 만들었습니다. Ranvier는 동일한 원칙을 Rust 이벤트 기반 시스템에 적용합니다.


#관련 문서

  • 왜 유연한 에지인가? — 동전의 다른 면
  • 의사결정 프레임워크 — 접근 방식 선택 방법
  • PHILOSOPHY.md — 전체 논거와 코드 예제