웹 편집기 오픈소스 통합 실전 결
웹 에디터 기능을 구현할 때 Quill.js를 기반으로 커스텀 블록 타입을 추가한 경험이 있습니다. 기본 제공 기능만으로는 요구사항을 충족하기 어려워 플러그인 구조를 파악한 뒤, 직접 Blot을 정의해 이미지 캡션 블록을 추가했습니다. Delta 포맷을 직접 다루면서 에디터 내 데이터가 어떻게 직렬화되는지 이해할 수 있었습니다. 처음에는 기존 Quill 내부 코드를 읽는 데 시간이 많이 걸렸지만, 소스 구조를 파악한 뒤에는 원하는 지점에 훅을 추가하는 속도가 빨라졌습니다.
Slate.js도 간단히 비교 검토했는데, 데이터 모델이 더 유연하지만 초기 학습 비용이 더 높다고 판단해 기존 선택을 유지했습니다. 커스텀 블록은 기존 UI와 자연스럽게 통합되어야 해서, 스타일 격리 방식도 직접 구현했습니다. 오픈소스 선택은 기능 범위보다 확장 지점이 명확한지가 기준이 된다는 결을 이 작업에서 얻었습니다.