
프론트엔드
@use-funnel 개발기 #1: 왜 기존 라이브러리를 두고 새로 만들었나?
두줄요약
복잡한 퍼널의 상태 관리와 뒤로가기 문제를 해결하기 위해 `@use-funnel`을 새로 만들었습니다. 사내 요구사항을 모아 코어와 라우터별 구현으로 나누고 오픈소스로 공개했습니다.
핵심 내용
- 복잡한 퍼널에서 뒤로가기·앞으로가기, 상태 일관성, 타입 안전성을 함께 해결하기 위해
@use-funnel을 새로 설계 - 기존
use-funnel은 상태 관리가 분리되고,XState는 타입과 에러 메시지, 수정 범위가 부담이 되어 도입 한계 발생 - 사내 개발자 토론과 워킹그룹을 통해 요구사항을 정리하고,
core와 라우터별 구현을 분리한 오픈소스 라이브러리로 발전 - 문서화와 사내 테스트를 거쳐 버그를 보완한 뒤 외부 오픈소스로 공개
적용해볼 점
- 퍼널형 UI에서는 화면 전환뿐 아니라 상태 초기화와 복원 규칙까지 함께 설계할 필요
- 새 도구를 만들기 전 실제 사용자들의 고충을 모아 요구사항을 먼저 정리하는 접근이 유효
- 공통 코어와 환경별 어댑터를 분리하면 확장성과 재사용성을 높이기 쉬움