철학 / 왜 명확한 철학을 가진 코어인가?
제약이 명확성을 만든다
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을 사용. 항상.
명확한 마이그레이션: 생태계 도구가 필요하면 문서화된 통합 경로가 있음
결정 피로 감소: 새 사용자가 대안을 평가하는 데 시간을 낭비하지 않음
학습 ROI
- 1주차: Transition/Outcome/Bus 학습 → 즉시 생산적
- 2주차: Schematic 시각화 학습 → 디버깅 슈퍼파워
- 3주차: 생태계 통합 학습 (필요시) → 두 세계의 장점
3. 일관성: 비슷하게 보이는 코드베이스
문제: 유연한 프레임워크에서는 모든 팀/프로젝트가 자체 패턴을 발명합니다. 새 개발자 온보딩이 느린 이유는 모든 코드베이스가 눈송이처럼 다르기 때문입니다.
Ranvier의 접근법: 모든 Ranvier 코드베이스는 동일한 구조를 따름 (transitions/, outcomes/, schematics/, main.rs)
빠른 온보딩: Ranvier 프로젝트 간 이동하는 개발자가 패턴을 즉시 인식
쉬운 코드 리뷰: 리뷰어가 "좋은 Ranvier 코드"가 어떤 것인지 알고 있음
도구 지원: 에디터, 린터, 생성기가 일관된 구조를 가정할 수 있음
비유: Rails의 "설정보다 관례"가 Ruby 팀을 매우 생산적으로 만들었습니다. Ranvier는
동일한 원칙을 Rust 이벤트 기반 시스템에 적용합니다.
상세한 논거와 코드 예제는 PHILOSOPHY.md의 전체 섹션을 참조하세요.