이벤트 기반 웹뷰 프레임워크 설계와 플러그인 생태계 만들기
당근마켓에서는 karrotframe(당근마켓에서 사용하는 웹뷰 프레임워크)을 출시하여 React 상태와 History API를 동기화하는 방법을 사용했으나, History API의 의존성으로 인한 테스트의 어려움, 상태 동기화 버그, React에 종속되는 문제, 확장성 문제가 있었습니다. 문제를 해결하기 위해 대대적인 리팩토링을 실시했고, Stackflow가 탄생했습니다. Stackflow는 화면 전환의 본질을 Stack으로 보고, react-router-dom이나 History API의 의존성을 제거하였으며, 이벤트 기반 설계를 도입하여 유저 행동 데이터를 로직으로 전환하고 상태를 계산하는 방식으로 개선했습니다. Stackflow는 당근마켓뿐만 아니라, 다른 곳에서도 필요한 기능을 직접 확장할 수 있는 플러그인을 제공하는 생태계를 지원합니다. 다만, 현재 Stackflow의 로드맵은 아직 명확하지 않으며, 현재는 기능 요청과 버그 제보를 해결하는 데 집중하고 있습니다. 이 글은 FECONF 2023의 "이벤트 기반 웹뷰 프레임워크 설계와 플러그인 생태계 만들기" 발표를 제가 직접 블로그에 정리한 글입니다. 영상을 볼 시간이 부족하시다면 제가 정리한 글을 읽어보시는 것도 좋을 것 같습니다. https://harimkim.netlify.app/articles/3.%20Resource/%EC%BB%A8%ED%8D%BC%EB%9F%B0%EC%8A%A4/FECONF%202023/%EC%9D%B4%EB%B2%A4%ED%8A%B8%20%EA%B8%B0%EB%B0%98%20%EC%9B%B9%EB%B7%B0%20%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC%20%EC%84%A4%EA%B3%84%EC%99%80%20%ED%94%8C%EB%9F%AC%EA%B7%B8%EC%9D%B8%20%EC%83%9D%ED%83%9C%EA%B3%84%20%EB%A7%8C%EB%93%A4%EA%B8%B0