TinyMCE
TinyMCE — это веб-редактор с открытым исходным кодом (WYSIWYG-редактор), предназначенный для встраивания в веб-приложения и позволяющий пользователям редактировать HTML-содержимое в интерфейсе, визуально близком к конечному результату. Разрабатывается и поддерживается компанией Tiny Technologies Inc. (США). Распространяется под лицензиями MIT (бесплатная версия) и коммерческой (для расширенных функций).
История
TinyMCE был создан в 2004 году шведским разработчиком Мокселем Линдквистом (Moxiecode Systems AB) как альтернатива существовавшим на тот момент редакторам, таким как FCKeditor (позднее CKEditor). Первоначально проект назывался TinyMCE (Tiny Moxiecode Editor). В 2008 году компания Moxiecode была приобретена компанией Ephox, которая в 2016 году объединилась с Tiny Technologies Inc. После этого редактор стал развиваться как коммерческий продукт с открытым ядром.
Ключевые вехи развития:
- 2004 — первый публичный релиз (версия 1.0).
- 2007 — версия 3.0, ставшая популярной благодаря поддержке плагинов и кросс-браузерности.
- 2014 — версия 4.0 с новым API и переработанным интерфейсом.
- 2019 — версия 5.0 с поддержкой современных веб-стандартов и улучшенной производительностью.
- 2022 — версия 6.0 с новым дизайном, улучшенной поддержкой таблиц и медиа.
Архитектура и принцип работы
TinyMCE представляет собой JavaScript-библиотеку, которая встраивается в HTML-страницу. При инициализации редактор преобразует стандартный элемент <textarea> или <div> в редактируемую область с панелью инструментов.
Основные компоненты
- Ядро (Core) — базовая функциональность: ввод текста, форматирование, вставка изображений, работа с таблицами.
- Плагины (Plugins) — расширяют функциональность: проверка орфографии, эмодзи, вставка кода, управление медиа, поддержка шаблонов.
- Темы (Themes) — определяют внешний вид редактора (панели инструментов, меню, кнопки).
- API — JavaScript-интерфейс для управления редактором (вставка контента, получение HTML, настройка поведения).
Режимы работы
- Классический (Classic) — редактор встраивается в
<textarea>, сохраняя её значение. - Встроенный (Inline) — редактор активируется при клике на элемент
<div>или<span>, не заменяя его. - Дистиллированный (Distraction-free) — полноэкранный режим с минимальным интерфейсом.
Функциональные возможности
Базовые функции
- Форматирование текста (жирный, курсив, подчёркнутый, зачёркнутый, списки, выравнивание).
- Вставка и редактирование изображений, таблиц, ссылок, видео.
- Поддержка HTML-кода (прямое редактирование исходного кода).
- Отмена/повтор действий (Undo/Redo).
- Проверка орфографии (встроенная или через внешние сервисы).
Расширенные функции (в коммерческой версии)
- Совместное редактирование (Real-time Collaboration).
- Управление медиафайлами (Media Manager).
- Поддержка шаблонов документов.
- Экспорт в PDF и Word.
- Интеграция с облачными хранилищами (Google Drive, Dropbox).
- Расширенная проверка доступности (Accessibility Checker).
- Поддержка кастомных плагинов и тем.
Применение
TinyMCE используется в широком спектре веб-приложений, где требуется редактирование HTML-контента:
- Системы управления контентом (CMS) — WordPress, Joomla, Drupal, Magento (встроенные или через плагины).
- Системы управления обучением (LMS) — Moodle, Canvas.
- Платформы для создания контента — блоги, форумы, вики-движки.
- Корпоративные приложения — CRM, ERP, системы документооборота.
- Почтовые клиенты — встроенные редакторы писем.
Сравнение с аналогами
TinyMCE является одним из трёх наиболее популярных WYSIWYG-редакторов наряду с CKEditor и Quill. Основные отличия:
| Характеристика | TinyMCE | CKEditor | Quill |
|---|---|---|---|
| Лицензия | MIT / коммерческая | GPL / коммерческая | BSD / коммерческая |
| Размер ядра | ~300 КБ (минифицированный) | ~400 КБ | ~200 КБ |
| Расширяемость | Плагины, API | Плагины, API | Модули, API |
| Совместное редактирование | Да (платно) | Да (платно) | Нет (в ядре) |
| Поддержка таблиц | Встроенная | Встроенная | Через плагины |
| Популярность в CMS | WordPress, Joomla | Drupal, Magento | Medium, Ghost |
Критика
- Размер и производительность — базовая версия может быть избыточно тяжёлой для простых задач, особенно на мобильных устройствах.
- Зависимость от коммерческой версии — многие современные функции (совместное редактирование, облачные сервисы) доступны только в платной подписке.
- Сложность настройки — для нестандартных конфигураций требуется глубокое знание API и JavaScript.
- Устаревший код — в некоторых версиях встречаются проблемы с поддержкой современных браузеров и стандартов.
Интересные факты
- TinyMCE используется в WordPress по умолчанию с версии 2.0 (2005 год) в качестве основного визуального редактора.
- Редактор поддерживает более 40 языков интерфейса, включая русский.
- В 2021 году TinyMCE был признан одним из самых популярных WYSIWYG-редакторов по версии Stack Overflow Developer Survey.
Источники
- Официальная документация TinyMCE (tiny.cloud/docs)
- Репозиторий проекта на GitHub (github.com/tinymce/tinymce)
- Статья «TinyMCE: A History of the WYSIWYG Editor» (блог Tiny Technologies)
- Материалы конференций по веб-разработке (W3C, Google I/O)
- Сравнительные обзоры WYSIWYG-редакторов на сайтах Stack Overflow и SitePoint
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →