웹 에디터

다양한 이름으로 불리지만 웹에서 사용자가 콘텐츠를 직접 수정할 수 있게 해주는 애플리케이션을 말한다. 아이프레임과 내용 수정 모드(designMode)를 사용하거나 HTML 요소의 contenteditable 속성을 사용해서 편집 기능을 넣은 것이다. 편집을 했을 때 생성되는 HTML 코드가 브라우저별로 상이하고 같은 API라도 동작이 다른 경우가 많아서 개발이 쉽지 않다.

종류가 무척이나 많고 새로 만들어 지는 것도 많고 더이상 유지운영이 안되는 것도 많다. 일반적으로 어떤 에디터가 최적이라고 말하기는 힘들고 용도에 따라서 다양한 선택을 할 수 있다.

Quill

문서 모델을 DOM에 의존하지 않고 내부적으로 관리한다. DOM 변경사항이 발생하기 전에 input 이벤트로 내부 모델을 업데이트 하는 방식이다. Slab 회사에 의해서 유지운영된다. 2024년 4월에 2.0 버전이 출시되었다.

Trix

37 signal에서 만든 웹 에디터이다. MIT license.

CKeditor

GPL, LGPL, MPL 등의 오픈소스 라이센스를 따르고 있다. 높은 접근성을 갖추고 있다. Basic, Standard, Full 세가지 버전으로 나눠져 있는데 Basic 만 해도 383KB(114KB gzip)인 것이 가벼운 에디터는 아니다.

TinyMCE

LGPL 라이센스를 사용하고 있다. 텍스트 영역을 에디터로 변경하는 방식을 사용하고 있다. XHTML 표준 코드를 출력하고 주요 브라우저들을 모두 지원하고 있다. 키보드로 모든 기능이 이용 가능하게 제작되어 있는 등 접근성이 상당히 높다. 590KB(195KB gzip)으로 초기 구동이 느리다. 유료 옵션을 제공하고 있다.

Summernote

Super simple WYSIWYG editor. 80 KB, 이미지를 선택하고 링크 걸면 이미지 옆에 URL이 텍스트로 삽입된다.