Wordgard: новый текстовый редактор в браузере от создателя ProseMirror
Wordgard, это открытая JavaScript-библиотека для разработчиков, которые хотят создавать специализированные редакторы текста в браузере. Её создал Марин Хавербеке, автор популярной библиотеки ProseMirror. В отличие от ProseMirror, которая останется на поддержке, Wordgard представляет новый архитектурный подход, основанный на уроках многолетней работы с редакторами.
Основная идея Wordgard заключается в том, что вместо универсального HTML-редактора разработчик получает набор инструментов для построения семантически структурированного редактора, где можно точно определить, какой контент допустим. Это реализуется через схему документа (schema-based design), которая позволяет создавать кастомные элементы и контролировать их поведение.
Ключевое технологическое улучшение по сравнению с ProseMirror: Wordgard предоставляет доступ к транзакциям во время обновления состояния, а не только к результату. Это даёт более эффективные обновления DOM и лучше отражает произошедшие изменения.
Библиотека реализует расширенный функционал: таблицы, вложенные списки, подписанные иллюстрации, совместное редактирование нескольких пользователей с автоматическим разрешением конфликтов, поддержка доступности (скринридеры, навигация клавиатурой, мобильные устройства), двунаправленный текст (RTL). Архитектура модульная, большинство функций реализовано как заменяемые расширения.
Wordgard распространяется под лицензией MIT. Автор не требует платёж за использование, но поощряет коммерческие пользователи помогать с финансированием поддержки.
Обсуждение на Hacker News показало интерес разработчиков к архитектурным улучшениям. Некоторые отметили преимущество перед Lexical (Facebook), отсутствие зависимостей от Meta и более понятная архитектура. При этом есть вызовы с мобильной экосистемой (iOS autocorrect, Android selection), Хавербеке признал это как «длинный хвост хаков», который будет улучшаться.
Ключевые факты
- Wordgard, новая JavaScript-библиотека для создания кастомизированных редакторов текста в браузере с полным контролем структуры документа
- Автор: Марин Хавербеке, создатель ProseMirror. ProseMirror останется на поддержке, Wordgard, это новый архитектурный подход
- Ключевое улучшение: доступ к транзакциям во время обновления, что обеспечивает более эффективные обновления DOM и лучше отражает изменения
- Поддерживает таблицы, вложенные списки, совместное редактирование, доступность и двунаправленный текст (RTL)
- MIT-лицензия, без внешних зависимостей (только утилиты от автора). Официальный релиз: 295 поинтов на HN с активным обсуждением преимуществ перед Lexical
Почему это важно
Универсальные WYSIWYG-редакторы часто не подходят для специализированных приложений. Wordgard решает проблему путём предоставления архитектуры, где разработчик контролирует каждый аспект: какие элементы допустимы, как они взаимодействуют, как обновляется DOM. Архитектурное улучшение (транзакции во время обновления, не после) устраняет класс ошибок, которые были в ProseMirror. Для масштабных редакторных проектов (документооборот, контент-системы, аналитические интерфейсы) это снижает техдолг.
Кому это важно
Разработчикам, строящим редакторные системы: текстовые платформы, документооборот, низкокодовые конструкторы контента, системы управления учебным контентом, интеллектуальные записные книжки. Также интересна для компаний, ищущих альтернативу Lexical (Facebook) и избегающих зависимостей от крупных tech-платформ. Менее актуально для малых проектов, которым подходит готовый редактор.
Как это применить
Разработчик подключает Wordgard, определяет schema (какой контент допустим), реализует UI на React или другом фреймворке. Библиотека готова к совместному редактированию (коллаборация), так что её имеет смысл использовать, если нужна синхронизация между несколькими пользователями. MIT-лицензия позволяет использование в коммерческих проектах. Требует JavaScript-среды (браузер, Node.js). Главная планируемая доработка, улучшение документации по миграции с других редакторов и примеры React-интеграции.
Можно ли доверять
Автор, Марин Хавербеке, проверенный разработчик с репутацией (CodeMirror, ProseMirror). Wordgard открыт (MIT), код доступен для аудита. Хавербеке публично заявил, что ProseMirror останется на поддержке, что снижает опасение быть брошенным при переходе. Проект новый (только выпущен), поэтому обкатка и стабилизация впереди, но архитектурный фундамент выглядит обдуманно. Обсуждение на HN позитивно, без красных флагов безопасности или скрытых зависимостей.
Риски и подводные камни
Wordgard, молодой проект, документация будет дорабатываться. Сейчас есть вызовы с мобильной экосистемой (iOS autocorrect, Android selection), автор признаёт это и обещает исправления. Нет готовых плагин-экосистемы как у более старых редакторов, всё нужно готовить вручную. Для проектов, требующих немедленной стабильности и полной функциональности, лучше подождать следующих версий. Переход с ProseMirror требует переписания schema и логики, это не прямая миграция.
«Если вы довольны ProseMirror, продолжайте его использовать. Я вас поддерживаю. Я создал Wordgard на основе новых архитектурных идей, а не потому что отказываюсь от старого проекта.»
— Марин Хавербеке, создатель Wordgard и ProseMirror