서론

최근 AI 교과서 제작 프로젝트 중간 즈음에 퍼블 + 일부 프론트 개발 담당으로 참여하게 되었습니다. 이미 상당 부분 진행되었지만, 소스코드의 스타일 버그 픽스와 UDL(Unified Design Language) 적용, 디자인 및 컨셉 변경 등 추가적인 수정이 필요한 상황이었습니다.

문제점

프로젝트를 진행하면서 다음과 같은 주요 문제점을 파악했습니다.

  1. 개발 표준 및 프로세스 부재: 여러 업체가 각각의 프로젝트를 진행하면서 개발 표준과 프로세스에 대한 합의가 충분히 이루어지지 않았습니다.
  2. 통합되지 않은 UI 개발: 공통된 기획 컨셉과 디자인이 있었지만, 실제 UI 개발에서는 이들이 통합되지 않았습니다.
  3. UDL 지원 미흡: 일부 프로젝트에 적용된 UI 프레임워크에서는 UDL 지원이 미흡하여 일관된 사용자 경험을 제공하는 데 어려움이 있었습니다.
  4. 반복적인 버그 수정: 동일한 이슈에 대해 각 프로젝트별로 개별적으로 버그 수정을 해야 했습니다.

이러한 문제를 해결하고 UDL을 효과적으로 적용하기 위해, 공통된 UI 컴포넌트를 제공할 필요성을 느꼈습니다.

해결방안

이번 AI 교과서 제작 프로젝트에서 발생한 문제들을 해결하기 위해 다음과 같은 방안을 생각해보았습니다.

1. 공통 UI 컴포넌트를 패키지로 구성하여 각 프로젝트에 의존 주입

프로젝트마다 UI 컴포넌트를 개별적으로 개발하는 대신, 공통 UI 컴포넌트를 패키지로 구성합니다. 이 패키지를 각 프로젝트에 의존성 주입하여 사용함으로써, 중복 작업 최소화와 일관된 UI를 유지하고 개발 효율성을 높입니다.

2. 각 시스템 상황에 맞게 유연한 스타일링 지원

모든 프로젝트가 동일한 스타일을 강제하는 대신, 각 시스템의 특성과 요구에 맞게 유연한 스타일링을 지원합니다. 이를 위해 테마 설정 및 스타일 오버라이드를 통해 각 프로젝트가 필요에 따라 스타일을 커스터마이징할 수 있도록 합니다.

3. UI와 개발 로직의 관심 분리