#철학 - Opinionated Core, Flexible Edges

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


Ranvier는 내부 아키텍처에서는 Transition/Outcome/Bus/Schematic 패러다임을 일관되게 사용하지만, 경계에서는 Tower, actix, Axum 같은 Rust 생태계 도구와 자유롭게 통합할 수 있습니다.

정적 자산도 같은 원칙을 따릅니다. serve_dir()spa_fallback()으로 API와 빌드된 프론트엔드를 같은 프로세스에서 함께 제공할 수 있지만, 순수 정적 호스팅이나 CDN 중심 자산 배포는 표준 서버나 CDN에 맡기는 편이 더 적합합니다.

#핵심 문서

#핵심 패러다임

네 가지 기본 개념을 이해하세요: 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, 생태계 라이브러리, 표준 서버/CDN)
확신이 없을 때 Ranvier 방식으로 시작하세요. 한계에 부딪히면 생태계 도구를 통합하세요.

#실전 적용 가이드

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

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