핵심 요약
여기어때가 Figma 플러그인 '여기쏙 2.0'의 아키텍처를 바닥부터 재설계하고, 메인 스레드와 UI 스레드 간 비동기 통신을 emitPromise로 개선해 100개의 API를 동시 호출해도 1:1 매칭과 10초 타임아웃으로 안정성을 확보했다.
구현 방법
- emitPromise를 통한 Request ID 패턴으로 동시성 관리
- Single Pass Mapping과 상수화된 RegExp로 노드 탐색 비용 최소화
- Text First / Image Queue로 렌더링 우선순위 최적화 및 Promise 캐싱
- UI-스토리지 파이프라인: figma.clientStorage 활용
주요 결과
- 동시성 문제 해결 및 안정성 향상
- 대규모 렌더링에서 탐색/로딩 비용 감소 및 체감 속도 개선
- 저장 파이프라인 도입으로 탭 간 데이터 공유 강화
