Storybook8 주요 업데이트 분석
디자인 시스템은 프론트엔드 개발의 근간을 이루는 필수적인 구성 요소 인데요. 디자인과 개발의 간극을 메우는 동시에, 효율성과 일관성을 향상시킬수 있기 때문입니다. 디자인 시스템을 통해 디자이너와 개발자는 공통의 언어와 도구를 사용하여 협업할 수 있으며, 효율적인 UI를 도입하고, Props를 변경시켜보며 컴포넌트를 간단히 테스트할 수 있습니다. 디자인 시스템에서 가장 널리 쓰이는 Storybook 2024년 3월 8일에 8버전(맞춘듯?)으로 업데이트 되었는데요 업데이트 사항은 아래와 같습니다. 크로마틱과의 통합: 시각적 회귀 테스트 지원 크로마틱 라이브러리를 도입하여 시각적 회귀 테스트가 가능합니다. 크로마틱은 스토리북의 클라우드 호스팅 플랫폼으로, 개발자가 스토리의 이전 버전과 현재 버전을 자동으로 비교하여 시각적 변화를 감지할 수 있게 해줍니다. 이는 버튼 클릭 한 번으로 수행될 수 있으며, 미묘한 디자인 변경 사항이나 실수로 인한 회귀를 쉽게 발견할 수 있게 해줍니다. RSC 지원: Next.js와의 긴밀한 통합 React Server Components(RSC)를 지원함으로써 Next.js 프로젝트와의 통합을 강화합니다. RSC는 서버에서만 실행되며 클라이언트로 전송되지 않는 리액트 컴포넌트입니다. 이를 통해 초기 페이지 로드 시 성능이 향상되고, 불필요한 자바스크립트 사용량이 줄어듭니다. 스토리북에서 RSC를 지원함으로써, 개발자들은 서버 측 로직과 상호작용하는 컴포넌트를 더 효율적으로 테스트하고 시각화할 수 있게 되었습니다. Vite5 및 Vitest 지원: 빠른 개발 경험 Vite5와 그의 테스팅 프레임워크인 Vitest를 공식적으로 지원합니다. Vite는 최신 프론트엔드 개발 도구로, 매우 빠른 스타트와 핫 모듈 리로딩(HMR)을 제공하는데요. Vitest는 Vite 생태계에서 실행되는 테스트 러너로, Jest와 유사한 API를 제공합니다. 이러한 지원을 통해, 개발자들은 스토리북을 사용하여 컴포넌트를 더욱 빠르게 개발하고 테스트할 수 있게 되었습니다. 성능 최적화: 빌드 속도 개선 퍼포먼스 최적화를 통해 빌드 속도를 이전 버전에 비해 2~4배 향상시켰습니다. 이는 컴포넌트 개발과 스토리 작성 과정을 대폭 가속화하며, 특히 대규모 프로젝트에서 그 효과를 발휘합니다. 이러한 개선은 스토리북의 내부 아키텍처를 최적화하고, 빌드 프로세스를 더욱 효율적으로 만들어 달성되었습니다. Tsup을 통한 접근: 리액트 의존성 없는 스토리북 사용 Tsup을 사용한 새로운 빌드 방식을 도입하여, 리액트 의존성 없이 스토리북을 사용할 수 있게 합니다. Tsup은 매우 빠른 번들러로, 작은 번들 크기와 빠른 빌드 속도를 제공하는데요. 이를 통해 스토리북은 더 넓은 범위의 프로젝트와 프레임워크에 적용될 수 있게 되었습니다. 최근의 기술 트렌드에서는, 다양한 라이브러리와 프레임워크가 서로 영향을 주고받으며 발전하는 경향이 뚜렷하게 나타나고 있습니다. Next.js의 앱 라우터 출시와 함께 RSC를 지원하고 React 라이브러리를 기반으로 시작되어 Peer Dependency로 React에 대한 의존성을 가지고 있던 부분을 Tsup 빌드 시스템에서 영감을 받아 React에 대한 의존성을 제거하는 방향으로 발전하는것을 보면요. 각각의 혁신은 다른 프로젝트에 영감을 주고, 이는 또 다른 혁신으로 이어지며, 결과적으로 전체 생태계의 발전을 촉진하는것으로 보입니다. 결국 최종 개발자에게는 더욱 효율적인 경험이 가능하게 됩니다. 보다 더 상세한 내용이 알고 싶으신 분들은 공식홈페이지에 들어가서 확인하실것을 추천드립니다. https://storybook.js.org/blog/storybook-8/