دو تا از محبوبترین ادیتورهای موجود تحت وب هستند که به صورت متن باز ارائه میشوند و از لحاظ قدرت و کارآیی در رده بالایی قرار دارند. همچنین مستندات و apiهای خوبی هم در مورد آنها موجود است؛ ولی در هنگام استفاده خیلیها شاید این سؤال را داشته باشند که کدام ادیتور را انتخاب کنند؟ حتی اگر هر دو ادیتور امکاناتی بیش از نیاز ما را فراهم کنند، باز هم انسان در پی بهترین هاست.
در این مطلب به مزایا و معایب اشاره نشده و قصد تخریب ادیتور خاصی را نداریم؛ بلکه خصوصیات آنها بررسی شده و در نهایت توسعه دهنده میتواند بر اساس اینها، ابزار درستی را برای کارش، انتخاب کند.
رابط کاربری یا user interface
ckeditor داری رابط کاربری است که برای همه ادیتورها به صورت پیش فرض وجود دارد و این حالت برای خیلی از کاربرها شناخته شده هست.
در tinymce رابط کاربری به غیر از نوار ابزار میتواند شامل منو هم باشد؛ با اینکه استفاده از منو آنچنان در ادیتور مورد استقبال قرار نمیگیرد ولی ممکن است بعضیها این ویژگی را دوست داشته باشند:
برای حذف منو در این ادیتور یا مشخص کردن چه عناصری نمایش داده شود، این کد در سایت سازنده نوشته شده:
// Disable all menus
tinymce.init({
menubar : false
});
// Configure different order
tinymce.init({
menubar: "tools table format view insert edit"
});
پلاگینها Plugins
وقتی بحث پلاگین پیش کشیده میشود، انتخابی بین ساده بودن و اختصاصی بودن پیش خواهد آمد. به نظر میرسد پلاگینهای ck در حالت عادی بیشتر از tiny هستند و امکانات بیشتری را نسبت به tiny ارائه میکنند؛ برای مثال به دیالوگ درج تصویر در دو شکل زیر نگاه کنید: در ck شما امکانات بیشتری برای درج یک تصویر دارید تا tiny
CKEditor
Tinymce
در نسخههای پیشین tiny این دیالوگها به صورت پنجرههای popup باز میشدند، ولی در تمامی نسخههای ck بسیاری از این پنجرهها بدین صورت باز نشده و سفارشی هستند. درست است که در ظاهر مثل هم باز میشوند ولی مکانیزم و روش باز شدن آنها با یکدیگر متفاوت است و در واقع ck با روشی هوشمندانه و با استفاده از کدهای جاوا اسکریپت و ترکیب لایههای html این روش را پیاده سازی میکند.
شاید بگویید خوب چه فرقی میکند که از چه روشی برای پیاده سازی استفاده شود؟ این مورد از دو جنبه مورد بررسی قرار میگیرد:
1 - اگر به مرورگرهایی چون IE دقت کرده باشید، میبینید که موقعیکه یک popup باز میشود، به عنوان یک پنجرهی جدید باز میشود و باعث شلوغ شدن صفحه میگردد و بیشتر موجب آزار کاربر میگردد.
2- ساخت واقعی یک صفحه popup منجر شدن به ایجاد یک پنجره ای جدید و طی شدن فرآیندهای مربوط به بارگذاری و رندر شدن یک صفحهی جدید میباشد؛ ولی در مورد پنجرههای سفارشی این فرآیندها صورت نمیگیرد. این مورد بر روی بسیاری از هاستها خود را به وضوح نمایش میدهد و ck در صرفه جویی از زمان، به مراتب بهتر عمل میکند.
از نسخه tinymce 4 به بعد مکانیزم سفارشی بودن دیالوگها بر روی این ادیتور نیز صورت گرفته است.
کپی و پیست Copy - Paste
بسیاری از کاربران گاهی اوقات مطالب خود را از جایی یا از یک صفحهی وب دیگر به ادیتور کپی میکنند. برای مثال در اینجا صفحهی گوگل را به داخل ادیتورها کپی میکنیم و به نظر میرسد ckeditor در این مواقع رفتار بهتری نسبت به tiny از خود نشان میدهد.
در تاینی لوگوی گوگل دقیقا در وسط قرار گرفته و بعضی موارد خاص مانند فرمها به خوبی نمایش داده میشوند؛ ولی در ck شما متن تمیزتری دارید و طوری نشان داده میشود که یک css کاربرپسند به آن اضافه شده است.
Ckeditor
انعطاف پذیری Flexibility
هر دو ادیتور در این زمینه به خوبی طراحی شدهاند و با استفاده از جاوا اسکریپت میتوان آنها را به سادگی توسعه داد و امکانات دلخواهتان را به آن اضافه کنید ولی در کل ckeditor در زمینه apiهای برنامه نویسی، پیشروتر از رقیبش tinymce است.
حجم یا سایز ادیتورها Size
با توجه به رشد اینترنت در گوشیهای همراه و دیگر وسایل همراه، حجم منابع اینترنتی بیش از قبل مورد توجه قرار میگیرد. در این زمینه tinymce برگ برندهای داشته و بهتر است بدانید که حجم این ویرایشگر تقریبا نصف رقیبش یعنی ckeditor میباشد.
حالا شما با توجه به موارد بالا میتوانید ادیتور خود را انتخاب کنید.
در اینجا هم میتوانید فایلهای مربوط به زبان را نیز دانلود کنید که هر دو از زیان فارسی پشتیبانی میکنند.
فایلهای زبان TinyMCE
فایلهای زبان CKeditor
منابع:
http://www.krizalys.com/article/ckeditor-vs-tinymce
http://www.tinymce.com/wiki.php/Configuration:menubar