1. 간편한 설치와 설정
gem "action_version_preview"를 Gemfile에 추가하고 bundle install을 실행하는 것만으로 모든 준비가 끝납니다. 데이터베이스 마이그레이션이나 복잡한 이니셜라이저 설정이 전혀 필요 없는 제로 컨피규레이션(Zero Configuration) 지향 도구입니다.
2. Rails 네이티브 뷰 변형 활용
이 Gem은 Rails 4.1부터 도입된 뷰 변형(View Variants) 기능을 기반으로 합니다. show.html+v2.erb와 같이 파일명에 변형 이름을 추가하면, Rails가 이를 인식하여 특정 조건에서 해당 템플릿을 렌더링합니다. ActionVersionPreview는 URL의 vv 파라미터를 통해 이 변형을 활성화하며, 레이아웃, 파셜, 메일러 및 ViewComponent까지 렌더링 트리 전체에 적용됩니다.
3. 주요 기능 및 사용자 경험
-
Variant Switcher: 레이아웃에
<%= variant_switcher %>를 추가하면 현재 페이지에서 사용 가능한 모든 변형을 자동으로 감지하여 선택할 수 있는 부유형 위젯이 나타납니다. -
사이드-바이-사이드 비교: 브라우저 탭마다 서로 다른 vv 파라미터를 사용하여 여러 디자인을 동시에 띄워놓고 비교할 수 있습니다.
-
URL 기반 공유: 특정 변형이 적용된 URL을 스테이징 환경 등에서 팀원에게 공유하여 즉각적인 디자인 피드백을 받을 수 있습니다.
4. 기능 플래그(Feature Flags)와의 차별점
Flipper와 같은 도구는 사용자 타겟팅이나 점진적 배포에 적합하지만, 디자인 반복 단계에서는 뷰 템플릿 내에 복잡한 조건문을 생성하게 만듭니다. 반면 ActionVersionPreview는 각 버전을 독립된 파일로 관리하므로 코드가 깔끔하며, 디자인 결정이 완료된 후 불필요한 파일을 삭제하는 것만으로 정리가 끝납니다.