#철학 — Opinionated Core, Flexible Edges

버전: 0.33.0 최종 업데이트: 2026-03-15 적용 대상: ranvier (all crates) 카테고리: Philosophy & Architecture


Ranvier는 내부 아키텍처에 특정 패러다임(Transition/Outcome/Bus/Schematic)을 강제하지만, 경계에서는 다른 Rust 에코시스템 도구(Tower, actix, Axum 등)와 통합할 완전한 자유를 제공합니다.

#핵심 섹션

#핵심 패러다임

네 가지 기본 개념을 이해하세요: Transition, Outcome, Bus, Schematic — Ranvier를 Ranvier답게 만드는 구성 요소입니다.

#왜 Opinionated Core인가?

Ranvier가 정체성, 학습 곡선, 일관성을 위해 Transition/Outcome/Bus/Schematic을 강제하는 이유를 알아보세요.

#왜 Flexible Edges인가?

에코시스템 통합, 점진적 마이그레이션, 사용자 자율성을 위해 Ranvier가 경계에서 Rust 에코시스템을 수용하는 방법을 알아보세요.

#경계 맵

코어가 끝나고 엣지가 시작되는 지점을 확인하세요. Ranvier 패러다임을 사용해야 하는 부분과 에코시스템 도구를 사용할 수 있는 부분을 이해하세요.

#의사결정 프레임워크

특정 사용 사례에 대해 Ranvier 방식, 에코시스템 방식, 또는 하이브리드 접근 방식 중 선택하기 위한 의사결정 트리를 따르세요.

#코드 예제

실제 패턴을 살펴보세요: 순수 Ranvier 인증, Tower 통합, 하이브리드 접근 방식, 이커머스 워크플로우.


#요약

접근 방식 적용 시점
Opinionated Core 비즈니스 로직 → Ranvier 방식 (Transition 기반, 시각화 가능)
Flexible Edges 인프라(CORS, 인증, DB) → 자유 선택 (Tower, 에코시스템 라이브러리)
확신이 없을 때 Ranvier 방식으로 시작하세요. 한계에 부딪히면 에코시스템 도구를 통합하세요.

#실전 철학

시나리오 권장 사항
복잡한 워크플로우 Ranvier가 빛나는 영역 (다단계, 상태 머신)
단순 CRUD 에코시스템 도구 사용 가능
기존 Tower 앱 하이브리드 (Tower 유지, 새 기능에 Ranvier 추가)
신규 프로젝트 순수 Ranvier (전체 시각화, 단일 학습 경로)

이 철학은 프로덕션 경험을 통해 발전했습니다. 상세한 아키텍처 결정 사항은 DESIGN_PRINCIPLES.md를 참조하세요.