Подбираем качественный бесплатный WYSIWYG редактор

4 июня 2010, 13:00 Антон Васильев JavaScript рейтинг +24-

Привет, меня зовут Антон.

Это моя первая статья на Временно.нет и сегодня речь пойдет о WYSIWYG редакторах. Сразу скажу, что выбирать редактор буду не для комментариев или формы обратной связи, а для полноценной работы, к примеру, для установки в CMS или для какого-нибудь сервиса типа Google Docs.

Основные критерии — это поддержка XHTML, модульность (чтобы не пришлось при необходимости переписывать весь скрипт), наличие API (позже узнаете зачем), поддержка основными браузерами, возможность установки файлового менеджера.

Руководствуясь статьей «Обзор бесплатных WYSIWYG редакторов» Паши Марковнина, отберем редакторы по вышеописанным критериям: XHTML, API, поддержка основными браузерами. Таким образом, мы получили три редактора — CKEditor (FCKeditor), TinyMCE, WYMeditor. У последнего небольшой функционал, но я все равно рассмотрю его, так как он не оставляет «грязи» в коде и вообще редактирует его очень структурно. Начнем с конца.

WYMeditor

Это даже не WYSIWYG, а WYSIWYM редактор. О нем мало что можно найти в Интернете, а в РУнете тем паче, в основном короткие описания «в три строчки». Проект пока сыроват и не торопится развиваться (хотя многие почему-то заявляют об активном развитии).

Есть базовый набор функций — оформление текста, вставка ссылок и изображений (по урлу — аплоадера нет, к сожалению). Что сильно радует, это небольшой вес и четкая визуальная структура редактируемого текста — что видим то и имеем ввиду, на то он и WYSIWYM. Укладывает весь код в одну строку, что важно, если необходимо иметь минимальный вес выходящего кода, к тому же, выдает очень «чистый» код.

Использую его «для себя» когда надо по быстрому семантично сверстать текст в html. Есть API, плагины, поддерживает XHTML и основные браузеры, а именно браузеры на ядре Gecko (Firefox 2.0+, SeaMonkey, Galeon, Epiphany), Microsoft Internet Explorer 6+, Opera 9.5+, Safari 3.1+, Google Chrome.

Из минусов то, что не поддерживает старую оперу, недружелюбен к неискушенному пользователю (показывает всю структуру кода, а «простых смертных» это удручает), функционал невелик, в частности, нет даже элементарной вставки таблиц и отсутствует загрузка файлов. Его, конечно, можно написать, но это отдельный геморрой.

Моя субъективная оценка 3 из 5.

ДемоСкачать

TinyMCE

Очень мощный редактор, выдает хороший, чистый код (хотя еще не так давно я отказался от него по обратной причине), но эти сваленные в кучу кнопки! Наверное, это один из немногих его недостатков.

Очень мощный и гибкий API, который я пару лет назад, еще начиная изучать джаваскрипт, не осилил. Много подробной документации, можно при желании скачать и установить файловый менеджер или дописать нужный плагин (хотя куда там, и так функций хоть отбавляй).

Очень легок в установке — на это и ставят упор разработчики, нужно всего лишь подкрепить два скрипта в начале кода. Также можно ниже дописать скрипт с настройками редактора, прописав в нем скин, язык, кнопки, и т. д. О достоинствах этого редактора можно писать и писать, перейдем к недостаткам.

Как я писал выше, это никчемный интерфейс — сваленые в кучу иконки. Их, конечно, можно «почистить», убрав ненужные, но это все равно не спасает.

Очень сложное для разбора API — чтобы чувствовать себя более или менее уверенно, нужен не один час чтения документации и практики, а также знание хотя бы технического английского.

Огромный вес — больше мегабайта — сразу хочется спросить: «А нет лайт версии?».

Раньше очень пачкал код (и сейчас пачкает, но только при вставке из ворда; это проблемы обоих — Ворда, что создает лишние теги, а TinyMCE, что не вырезает их при вставке), сейчас эта проблема преодолена, но в поисках «лайт версии» с ней еще можно столкнуться.

Отсутствуют горячие клавиши (что для меня очень важно), точнее они есть, но только основные 5: Ctrl+Z — Undo; Ctrl+Y — Redo; Ctrl+B — Bold; Ctrl+I — Italic; Ctrl+U — Underline. Возможно в документации есть информация о настройке горячих клавиш, но я не искал особо.

Моя субъективная оценка 4 из 5.

ДемоСкачать

CKEditor (FCKeditor)

По-моему, самый лучший редактор в этом списке, достаточно мощный — на все хватает. Гибкий API, не такой обширный, как у TinyMCE, но зато легче в освоении. Есть гибкая настройка горячих клавиш (эту тему я рассмотрю в одной из следующих статей). С чистотой кода все то же что и у TinyMCE — пачкает вордовый код.

Крепится чуть сложнее чем TinyMCE — кроме подкрепления самих файлов со скриптами нужно также вставить в начале кода страницы скриптик вида

var editor = CKEDITOR.replace('id_поля', { Настройки редактора });

чтобы подкрепить редактор к нужному полю формы по id.

Такие же проблемы с интерфейсом, но ввиду наличия простого API я эту проблему решил, создав topmenu по мотивам Google Docs (см. P.S.). Кстати, нельзя не заметить настраиваемый цвет скина — можно установить абсолютно любой. Есть контекстное меню (кроме Оперы — у нее с этим строго), что немаловажно для простых пользователей. Очень легко написать дополнительный модуль, в архиве со скриптом даже есть папка «_samples», с примерами написания модулей в том числе. Также при желании можно скачать и установить удобный файловый менеджер, жаль что условно-бесплатный.

Огорчает большой вес скрипта — 1,36 МБ, но 1,10 МБ весят плагины, а сам скрипт 26 КБ, поэтому, если удалить ненужные плагины, он будет весить куда меньше.

По мне так это лучший редактор в этом обзоре, и я планирую и дальше писать статьи о нем, поэтому, буду рад увидеть в комментариях пожелания относительно будущих статей.

ДемоСкачать

Послесловие

В заключение хочу сказать, что обзор получился достаточно субъективным, и я с радостью приму обоснованную критику.

P.S.

А вот зачем нужен API:

Рекламное место, которое может стать вашим

Понравилась статья?

Тогда подпишись на обновления через RSS или воспользуйся
другими способами подписки.

Читать в Яндекс.Ленте Добавить в Google Добавить в Netvibes
  •  

Комментарии — 38

RSS
  • Аватарка
    4 июня в 13:38 hakastein
    чем http://elrte.ru/ не угодил ?
  • Аватарка
    4 июня в 13:57 Baxa
    За статью спасибо, с дебютом так сказать
    Предыдущему автору комментария - спасибо за ссылку :)
    Всех люблю, всех целую )))))
  • Аватарка
    4 июня в 16:47 Антон
    Hakastein, в начале статьи написано "Руководствуясь статьей «Обзор бесплатных WYSIWYG редакторов» Паши Марковнина...", а в этом обзоре Elrte нет, но даже если бы он был в обзоре, у него нет API, поэтому он бы все равно не подошел.
  • Аватарка
    4 июня в 21:04 Max
    А для чего WYSIWYG-у нужен API?
  • Аватарка
    4 июня в 22:53 ]]>Bethrezen]]>
    @Max, чтобы писать плагины к ним!
  • Аватарка
    4 июня в 23:29 zandroid
    Не маловажной стороной является и серверная. Я в своё время отказался от FCKeditor в пользу TinyMCE по этой причине (программировал на ASP.NET и разобраться было легче с JavaScript, чем с сырой версией FCKe. А сейчас у CKe версии для ASP.NET даже не существует)
  • Аватарка
    5 июня в 0:35 Антон
    zandroid, я ниче не понял... и разобраться было легче с JavaScript, чем с сырой версией FCKe - а FCKe не на JavaScript написан? А сейчас у CKe версии для ASP.NET даже не существует - какой такой версии? А для чего есть? Это же JavaScript - клиентский язык причем тут сервер? У TinyMCE тоже нет никакой "версии для ASP.NET"... На странице "download" есть компрессоры для разных платформ - они сжимают отдаваемый пользователю редактор чтоб он быстрее грузился. Короче фигню смолол ты и все.
  • Аватарка
    5 июня в 7:51 Toxa
    Еще не встречал редактора с возможностью вставки сразу нескольких картинок в тело документа. Это очень удобно, например, при создании фотопостов в блогах. Подскажите, может кто знает про такой? И чтобы там была возможность загрузки на сервер нескольких файлов одновременно (это есть в платном файловом менеджере TinyMCE).
  • Аватарка
    6 июня в 0:21 kfz
    Еще есть jQuery-based редактор http://redactor.imperavi.ru/
  • Аватарка
    6 июня в 20:20 Антон
    Да, kfz, это все замечательно, но и у этого редактора нет api. Это все сырые проекты, либо неориентированные на задачу, поставленную в статье.
    Max, я в начале статьи пообещал рассказать для чего нужно api, но получилось это у меня достаточно невнятно. Поясню: Такие же проблемы с интерфейсом, но ввиду наличия простого API я эту проблему решил, создав topmenu по мотивам Google Docs. Создание этого меню я рассмотрю в следующей статье, которая выйдет уже в ближайшее время.
  • Аватарка
    7 июня в 21:12 ]]>Alvein]]>
    Даже не читал, лишь пробежался глазами.

    Но зато полностью прочитал комменты.
    По моему, визивигу даром не нужны большинство плагинов, что изобретает народ. Корректное сопровождение сайта подразумевает в себе и качественный копирайтинг. А именно, при создании текстов визивиг используется по минимум.

    Если руководствоваться этой концепцией, то я соглашусь с первым комментарием про elrte. Остальное - излишнее, и было опробовано. Что-то безбожно тормозит, при наличии более чем 2-х визивигов на странице, что-то вообще к этому не приспособлено, что-то уныло.

    Но в общем за обзор спасибо.. хоть я и не читал его:)
  • Аватарка
    9 июня в 9:25 ]]>darya]]>
    Спасибо, только благодаря вам я теперь знаю, что выберу. вы мне помогли, впрочем, как всегда!)
  • Аватарка
    9 июня в 13:59 Андрей
    Антон, а вы не мог ли бы поделиться своей версией CKEditor?
  • Аватарка
    9 июня в 17:11 Антон
    Пожалуйста, darya. Андрей, я бы мог, и сделаю это в следующей статье которая выйдет, надеюсь, в течение недели. Alvein, вы видимо мало проектов администрировали. Я использую все "навороты", точнее, я бы их не наворачивал не будь они мне нужны.
  • Аватарка
    9 июня в 18:03 Syblex
    Уже несколько лет пользую fckeditor, причем старую его версию. Всем рекомендую.
    Из минусов:
    1. Несколько лет назад наблюдались траблы на ие6 - он тупо вылетал. Позднее такая ерунда пропала.
    2. Еще был косяк со вставкой js самим редактором, когда он создавал всплывающее окно.

    Из плюсов:
    1. Непосредственно WYSIWYG.
    2. Файл-менеджер по папкам сервера.
    3. Система шаблонов - это нереально удобная штука.
    4. css погоняются под стили сайта.
    В общем, конечный админ-пользователь сайтом вооружен до зубов:)
  • Аватарка
    13 июня в 8:57 ]]>Alvein]]>
    2Антон
    Я обычно доверяю рукам, а не кнопкам;)
  • Аватарка
    13 июня в 9:45 darya
    Благодаря вам - уже выбрала!!!
  • Аватарка
    14 июня в 10:33 Lomiren
    Почему в таких обзорах очень редко встречается редактор spaw (http://solmetra.com/en/disp.php/en_products/en_spaw/en_spaw_intro)?

    Он тоже бесплатный а его самое большое преимущество - он по умолчанию очень хорошо убивает вордовское оформление. Когда пользователь не особо знаком с хтмлом - это очень помогает )
  • Аватарка
    14 июня в 22:29 Антон
    Lomiren, spaw - прекрасный редактор, но у него нет API... Этот редактор был первым который я использовал. Отказался от него в свое время из-за того что он не работал в ie. Но это давно было...
  • Аватарка
    15 июня в 7:27 Lomiren
    Хм, он в ИЕ всегда работал, сейчас во второй версии он работает везде, поддерживает плугинчики, а если сильно захотеть то и разобратся можно в нем. Жалко только что разработчики больше его не поддерживают (
  • Аватарка
    16 июня в 8:18 ]]>Webprofi]]>
    Отличный редактор.
  • Аватарка
    17 июня в 0:13 Антон
    Lomiren, сори за ие. Вот только сегодня наткнулся на свою древнюю cms-ку со spaw-ом, не работал он в firefox.
  • Аватарка
    17 июня в 15:32 ]]>zagovor]]>
    Ого, очень много нужной инфы! Есть из чего выбрать - остановил выбор на определенной программе благодаря вашей статье! Спасибо за информацию!
  • Аватарка
    21 июня в 16:22 ]]>Igоr]]>
    Хороший редактор, вот только в ShopScript не хочит влазить :(
    может посоветуйте чтото?
  • Аватарка
    24 июня в 13:29 ]]>Ajpro]]>
    Не совсем понял, о чем тут можно спорить, когда уже года 3 TinyMCE является стандартным редактором в большинстве популярных CMS. По мне так все другие редакторы - это попытки изобрести велосипед.
  • Аватарка
    24 июня в 19:39 ]]>podarok]]>
    С дебютом вас
  • Аватарка
    26 июня в 19:04 ]]>seoshneg]]>
    За статью спасибо.Но мне и TinyMCE подходит
  • Аватарка
    30 июня в 23:48 ]]>Юрий]]>
    Пригодится, программа действительно полезна
  • Аватарка
    4 июля в 13:50 darya
    Спасибо! Выбор теперь просто однозначен!!!
  • Аватарка
    9 июля в 6:16 ]]>seokomail]]>
    Юзаю TinyMCE, и всем рекомендую, Но автор - с дебютом и вообще хороший получился обзор. Посмотрю на CKEditor (FCKeditor)
  • Аватарка
    9 июля в 15:00 ]]>Vipx]]>
    Хорщая статейка мне понравилась
  • Аватарка
    11 июля в 17:34 johnyy
    а как же Spaw?
  • Аватарка
    16 июля в 15:58 ]]>efimov]]>
    Меня больше всего радует количеством различных плагинов TinyMCE. Тем более, что этот редактор в моей любимой CMS MODx настраивается очень просто и гибко.
  • Аватарка
    27 июля в 13:05 amdest
    Q.TEXTAREA (http://qutensil.com/pages/qtextarea)
    Для Prototype, правда. Бета, правда... :)
    Но, на мой взгляд, очень неплох.
    Да и сама библиотека q.js — очень даже.
  • Аватарка
    28 июля в 0:24 ]]>Alex]]>
    Скажите, а можно одним из данных редакторов заменить стандартный редактор Wordpress?
  • Аватарка
    4 августа в 15:25 ]]>Алексей]]>
    За обзор спасибо. Выбор сделал. :)
  • Аватарка
    19 августа в 13:26 SunChase
    Думаю стоит также упомянуть о редакторе MarkItup
  • Аватарка
    20 августа в 4:17 Антон
    SunChase, это вообще не визивиг.
  • Эл. почта (используется для Граватарки)
  • Домашняя страница
  • Имя в Твиттере
  • Разрешенные теги Текст сообщения (надо бы заполнить это поле)
  • как выглядит какой тег
    жирный текст <b>жирный текст</b>
    курсивный тект <i>курсивный тект</i>
    зачеркнутый текст <s>зачеркнутый текст</s>
    подчеркнутый текст <u>подчеркнутый текст</u>
    ссылка <a href="адрес">ссылка</a>
    function foo() { ... }
    <pre><code>function foo() { ... } </code></pre>