디자인시스템을 직접 만들어보면, 첫 번째 갈림길은 생각보다 빨리 찾아온다. Ant Design 같은 완성형 컴포넌트 라이브러리를 기반으로 갈 것인가, Radix UI 같은 헤드리스 라이브러리 위에 직접 쌓을 것인가.
커뮤니티에서는 "헤드리스가 트렌드", "완성형은 레거시" 같은 이분법이 자주 보인다. 하지만 직접 구현해보니 느낀 건, 이건 우열의 문제가 아니라 맥락의 문제라는 거다. 뭘 만드느냐에 따라 답이 완전히 달라진다.
완성형 컴포넌트, 그냥 된다는 것의 가치
Ant Design, MUI, Chakra UI. 이런 라이브러리의 가장 큰 매력은 명확하다. 컴포넌트를 꺼내 쓰면 그냥 동작한다. Table, DatePicker, Modal 같은 복잡한 컴포넌트도 import 한 줄이면 끝이다.
특히 어드민 대시보드나 사내 툴을 만들 때 이 속도는 압도적이다. 디자인 가이드가 따로 없어도 일관된 UI가 나오고, 접근성이나 키보드 인터랙션 같은 것들도 대부분 처리되어 있다. "일단 돌아가는 화면"이 필요할 때, 완성형 컴포넌트만큼 빠른 선택지는 없다.
그리고 솔직히, 이 정도면 충분한 프로젝트가 꽤 많다. 브랜드 컬러 정도만 바꾸면 되는 상황이라면, 굳이 바닥부터 쌓을 이유가 없다.
근데 커스텀이 필요해지는 순간이 온다
문제는 "브랜드 컬러 정도만 바꾸면 되는 상황"이 영원하지 않다는 거다. 프로덕트가 성장하고, 디자이너가 합류하고, "우리만의 느낌"이 필요해지는 시점이 반드시 온다.
그때 완성형 컴포넌트의 한계가 드러난다. Select의 드롭다운 애니메이션을 바꾸고 싶은데 내부 구조가 닫혀 있다. DatePicker의 레이아웃을 조금만 바꾸고 싶은데, 오버라이드할 수 있는 건 몇 가지 토큰뿐이다. CSS를 억지로 덮어쓰면 되긴 하지만, 버전 올릴 때마다 깨질 수 있는 시한폭탄이 된다.
결국 라이브러리의 설계 의도 안에서는 자유롭지만, 그 밖으로 나가려는 순간 싸움이 시작된다. 내가 컴포넌트를 제어하는 게 아니라, 컴포넌트 구조에 맞춰서 디자인을 타협하게 된다.
헤드리스, 동작만 줄 테니 나머지는 알아서
헤드리스 UI 라이브러리는 접근 방식이 근본적으로 다르다. Radix UI, Headless UI, Ark UI 같은 라이브러리는 스타일을 아예 제공하지 않는다. 대신 컴포넌트가 "어떻게 동작해야 하는가"만 책임진다. 포커스 관리, 키보드 내비게이션, WAI-ARIA 패턴. 눈에 보이지 않지만 직접 구현하면 끝없이 까다로운 것들이다.
겉모습은 온전히 내 몫이다. 그래서 디자이너가 어떤 시안을 들고 와도 "이건 라이브러리 구조상 안 돼요"라고 말할 일이 없다. Select가 카드 형태든, 모달이 시트처럼 올라오든, 동작은 헤드리스가 잡아주고 비주얼은 내가 자유롭게 입힌다.
브랜드 아이덴티티가 중요한 B2C 프로덕트, 디자인 시스템을 처음부터 자체 구축하려는 팀이라면 이 자유도는 단순한 편의가 아니라 필수 조건에 가깝다.
자유에는 비용이 따른다
헤드리스가 주는 자유는 공짜가 아니다. 스타일이 없다는 건, 모든 스타일을 직접 만들어야 한다는 뜻이다.
버튼 하나의 hover, focus, disabled 상태. Select의 열림/닫힘 애니메이션. 모달의 오버레이 딤 처리. 완성형 라이브러리에서는 신경 쓸 필요 없던 것들을 하나하나 챙겨야 한다. 디자인 토큰 체계도 직접 설계해야 하고, 컴포넌트 간 시각적 일관성도 스스로 유지해야 한다.
이건 결국 시간과 역량의 문제다. 디자인 시스템을 설계할 수 있는 사람이 팀에 있는가. 그 시간을 투자할 여유가 있는가. "자유롭게 만들 수 있다"와 "잘 만들 수 있다"는 전혀 다른 이야기다.
어드민 하나 빠르게 찍어내야 하는 상황에서 헤드리스부터 시작하는 건, 망치가 필요한데 대장간부터 짓는 격이다.
도구 탓이 아니라 맥락의 문제다
완성형 컴포넌트가 나쁜 게 아니고, 헤드리스가 무조건 우월한 것도 아니다. 둘 다 분명한 장점이 있고, 그 장점이 빛나는 자리가 다를 뿐이다.
브랜드 커스텀이 크게 필요 없는 대시보드나 어드민이라면, 완성형 컴포넌트의 속도를 이길 선택지는 거의 없다. 반대로, 프로덕트의 얼굴을 직접 만들어야 하는 상황이라면 헤드리스의 유연함이 결국 더 적은 비용으로 돌아온다. 완성형 위에서 디자인을 억지로 구겨 넣느라 쓰는 시간이, 처음부터 자유롭게 만드는 시간보다 길어지는 순간이 온다.
결국 중요한 건 "요즘 뭐가 트렌드인가"가 아니라 "지금 내가 뭘 만들고 있는가"다. 그 질문에 솔직하게 답하면, 선택은 생각보다 어렵지 않다.