KRDS React 컴포넌트 구현 시간 비교 - 직접 코딩 vs HANUI

HANUI·
KRDSReactBefore/After개발시간단축

"KRDS 가이드라인 문서 어디 있어요?"

공공기관 SI 프로젝트 시작하면 항상 듣는 말이에요. 그리고 PDF 열어서 색상 코드 찾고, 간격 값 복사하고... React 컴포넌트 하나 만드는 데 반나절이 가요.

오늘은 실제 코드로 Before/After를 보여드릴게요. HANUI 쓰면 얼마나 줄어드는지.

Case 1: 버튼 만들기

Before: KRDS PDF 보고 직접 구현

After: HANUI 사용

소요 시간: 10초

variant 8종, size 6종, 로딩 상태, 아이콘 지원까지 전부 들어있어요. 접근성? aria-busy, aria-disabled, 포커스 링 전부 적용되어 있고요.

Case 2: 폼 필드 만들기

Before: 직접 구현

After: HANUI 사용

Context로 id, aria 속성 자동 연결. 에러 아이콘, 성공 아이콘 자동 표시. role="alert", aria-live="polite" 적용.

Case 3: 헤더 + 메가메뉴

이건 진짜 직접 만들면 며칠 걸려요.

Before: 직접 구현하면 고려할 것들

  • 반응형 (모바일 햄버거 메뉴)
  • 메가메뉴 드롭다운
  • 키보드 네비게이션 (Tab, Arrow, Escape)
  • 포커스 트랩
  • 스크롤 시 헤더 고정/숨김
  • WAI-ARIA 패턴

솔직히 제대로 만들려면 일주일은 잡아야 해요.

After: HANUI 사용

메가메뉴, 모바일 대응, 키보드 네비게이션, 스크롤 동작까지 전부 포함.

진짜 비교

작업직접 구현HANUI
버튼 (variant 포함)2-3시간10초
폼 필드 (접근성 포함)3-4시간10초
헤더 + 메가메뉴3-5일10초
Select (검색, 다중선택)1-2일10초
모달 (포커스 트랩)반나절10초

그리고 직접 구현하면 빠뜨리기 쉬운 것들:

  • aria-describedby 연결
  • aria-expanded, aria-haspopup
  • 포커스 관리
  • Escape 키로 닫기
  • 스크린 리더 공지

HANUI는 이런 거 전부 들어가 있어요.

숨겨진 비용

직접 구현의 진짜 문제는 시간만이 아니에요.

1. 일관성 깨짐

2. 접근성 누락

바쁘면 aria 속성 빼먹게 돼요. "나중에 추가하지 뭐" 하다가 검수 때 걸려요.

3. 유지보수 지옥

KRDS 가이드 업데이트되면? 전체 코드 다 수정해야 해요.

HANUI 쓰면

5분이면 프로젝트 세팅 끝. 나머지 시간은 비즈니스 로직에 집중할 수 있어요.

커스터마이징?

"우리 프로젝트는 색상이 좀 달라요"

그래서 복사 방식이에요. 파일 열어서 수정하면 돼요.

마무리

KRDS 컴포넌트 만드는 데 시간 쓰지 마세요.

이 세 줄이면 시작할 수 있어요.

HANUI

KRDS 기반 React 컴포넌트 라이브러리. 공공 웹 개발을 더 쉽게.