커뮤니티 기여와 생태계 확장

17

발행일: 2025년 05월 24일

Zustand와 Jotai의 공존 가능성이 커뮤니티에서 자연스럽게 받아들여지면서, Jotai를 둘러싼 분위기는 한층 더 성숙하고 건설적으로 변모했다. 이제 개발자들은 단순히 Jotai를 사용하고 질문하는 것을 넘어, 그 잠재력을 직접 끌어내고 확장하려는 움직임을 보이기 시작했다. 마치 잘 닦인 도구를 받은 장인이, 그 도구를 더욱 예리하게 만들거나 새로운 부속품을 개발하려는 듯한 모습이었다.

다이시 카토는 GitHub 저장소의 Pull Request 목록을 보며 놀라움을 금치 못했다. 이전에는 주로 문서 수정이나 간단한 버그 픽스가 주를 이루었다면, 이제는 훨씬 더 창의적이고 실질적인 코드 기여들이 밀려들기 시작한 것이다.

“새로운 아톰 유틸리티 제안: atomWithImmer”

한 개발자가 Immer 라이브러리와의 통합을 제안하며 직접 구현한 코드를 PR로 보내왔다. Immer는 불변성을 유지하면서도 마치 가변 객체처럼 상태를 쉽게 업데이트할 수 있게 해주는 강력한 도구. 이것이 Jotai 아톰과 결합된다면, 복잡한 객체나 배열 상태를 다루는 것이 훨씬 더 간편해질 터였다. 카토는 제안된 코드의 깔끔함과 아이디어의 실용성에 감탄하며 기꺼이 머지(Merge) 버튼을 눌렀다.

“Jotai를 위한 DevTools 확장 프로그램을 만들어보면 어떨까요?”

또 다른 개발자는 Redux DevTools와 유사하지만, Jotai의 아토믹 모델에 더 최적화된 별도의 개발 도구를 만들자는 야심 찬 아이디어를 제시했다. 각 아톰의 현재 값, 의존성 그래프, 상태 변경 이력 등을 시각적으로 추적할 수 있다면 디버깅 경험이 혁신적으로 개선될 것이 분명했다. 이 제안은 즉시 커뮤니티의 뜨거운 지지를 받았고, 몇몇 열정적인 개발자들이 모여 jotai-devtools라는 이름의 별도 프로젝트를 시작하는 계기가 되었다.

“React Query처럼 데이터 페칭과 캐싱을 위한 아톰은 없을까요?”

비동기 데이터 처리에 대한 고민은 계속되었다. 카토가 atomWithAsync의 기반을 닦았지만, 실제 애플리케이션에서는 캐싱, 재시도, 배경 업데이트 등 더 복잡한 요구사항이 존재했다. 한 기여자는 React Query나 SWR 같은 데이터 페칭 라이브러리의 장점을 Jotai 아톰 모델과 결합한 jotai-query (혹은 유사한 개념의) 유틸리티를 구상하고 프로토타입 개발에 착수했다.

마치 마법처럼, 커뮤니티의 집단 지성이 움직이기 시작했다. 카토 혼자서는 미처 생각하지 못했거나, 시간과 자원의 한계로 구현하지 못했던 기능들이 커뮤니티의 자발적인 참여를 통해 하나둘씩 현실화되고 있었다.

  • jotai-immer: Immer를 활용한 간편한 상태 업데이트.
  • jotai-devtools: Jotai 전용 디버깅 도구.
  • jotai-query / jotai-tanstack-query: 강력한 데이터 페칭 및 캐싱 기능.
  • jotai-location: 브라우저 URL 상태를 아톰으로 관리.
  • jotai-valtio: 또 다른 상태 관리 라이브러리 Valtio와의 브릿지.
  • 다양한 아톰 유틸리티: 로컬 스토리지 연동, 웹 워커 통신, 상태 머신 구현 등 특정 문제를 해결하기 위한 작고 유용한 도구들.

Jotai의 코어 라이브러리는 여전히 작고 미니멀했지만, 그 주변을 둘러싼 생태계는 커뮤니티의 손으로 풍성하게 확장되고 있었다. 마치 단단한 나무 기둥(Jotai 코어)에 수많은 가지와 잎사귀(확장 라이브러리)가 돋아나 울창한 숲을 이루어가는 모습이었다.

카토는 밀려드는 PR들을 검토하고, 새로운 아이디어에 대해 토론하며, 기여자들에게 감사와 격려를 아끼지 않았다. 그는 더 이상 Jotai의 유일한 설계자가 아니었다. 그는 이제 거대한 오케스트라의 지휘자처럼, 커뮤니티의 다양한 재능과 열정이 조화롭게 어우러져 아름다운 하모니를 만들어내도록 방향을 제시하고 이끄는 역할을 수행하고 있었다.

“이것이… 진짜 오픈소스의 힘이구나.”

그는 다시 한번 오픈소스 정신의 위대함을 실감했다. 혼자서는 결코 도달할 수 없었을 경지. 커뮤니티의 참여는 Jotai의 활용 범위를 넓히고, 그 가치를 더욱 풍부하게 만들었다. 이제 Jotai는 단순한 상태 관리 라이브러리를 넘어, 강력한 확장 생태계를 갖춘 하나의 ‘플랫폼’으로 진화하고 있었다.

이 풍성해진 생태계는 자연스럽게 카토에게 또 다른 질문을 던졌다. 그렇다면 이 모든 것을 이끌어가는 자신, 다이시 카토는 이제 어떤 역할을 해야 하는가? Zustand와 Jotai라는, 각기 다른 매력을 지닌 두 개의 정원을 동시에 가꾸는 정원사로서의 새로운 과제가 그의 앞에 놓여 있었다.