مقایسه دروپال و جوملا و وردپرس
بسیاری از وبلاگ های فارسی و غیر فارسی که روی CMS ها کار میکنند در مقایسه سیستم های مختلف مدیریت محتوای تحت وب به سبک خود مقاله ای نوشته و امتیاز بندی های مختلفی داشته اند و بعضی ها هم مقاله های مشابه را ترجمه کرده اند.
خب مسلما هرکدام از این وبلاگ ها بر اساس حوزه تخصص خود و تسلطی که به هر کدام از این سیستم ها دارند ممکن است که به آن سیستم امتیاز بیشتری داده باشند.
حال میخاهیم به جای ترجمه و تالیف، یک تجربه واقعی را مکتوب و بررسی کنیم.
اما واقعیت چیست؟ کدام سیستم مدیریت محتوا قویتر و بهتر هست؟ دروپال یا جوملا یا وردپرس؟
جواب این سوال مطلق نیست. در واقع این موضوع و اندازه پروژه هست که تعیین میکند کدام سیستم قویتری برای آن پروژه است. قویترین سیستم مدیریت محتوا سیستمی است که در جای خود به درستی انتخاب شده باشد.
تجربه میدانی:
نگارنده حدود ۹ سال است که با سیستم های مختلف مدیریت محتوا کار کرده و از هرکدام تجربیاتی دارد.
آن اوایل که خیلی قدیم بود از PHPNuke و انواع نسخه های آن مثل پلاتینیوم بهره میبردیم و یکی دوتا ماژول نیز برای آن نوشتیم. بسیاری از سایتهای دولتی نیز روی همان سیستم بود. برخی دوستان مشهدی نیز پشتیبانی خوبی از آن داشتند و هنوز هم سایت های زیادی روی همان سیستم فعالیت میکنند.
رفته رفته روند پروژه ها به سمتی پیش رفت که نیاز به سفارشی سازی و انعطاف بیشتر روی نرم افزار براساس نیازهای مشتری احساس میشد و همینطور کنکاش ما برای کشف و استفاده از سیستم ها و کدهای اپن سورس جدیدتر و حرفه ایتر بیشتر میشد.
متناسب با رشد ابعاد پروژه ها به سمت جوملا و ورد پرس آمدیم و پروژه های خوب و متعددی بر بستر آنها پیاده شدند.
آن موقع جوملا نسخه ۱.۵ بود و وردپرس به نسخه ۲ رسیده بود. خب وردپرس و جوملا امکانات خوبی برای طراحی منعطف قالب فراهم میکردند. اما وقتی به ماژول ها میرسیدیم امکان سفارشی سازی و انعطاف به خصوص در بخش معماری و آنالیز داده ها در حد امکانات فراهم شده در همان ماژول بود. ضمن اینکه در جوملا خیلی از ماژول ها تجاری و پولی بودند و البته تعدد ماژول های این دو سیستم مثل امروز نبود.
یادم هست که پروژه ای مطرح شد که باید در آن معماری سفارشی برای نحوه ذخیره داده ها و ارتباطات بین موجودیت های مختلف سیستم تعریف میشد. و همین پروژه و کنکاش های مربوط به آن و محدودیت های سیستم های قبلی منجر به آشنایی با دروپال گردید. یعنی این «نیاز» بود که ما را به سمت دروپال برد. نه تعصب های غیر حرفه ای. و این «نیاز» هست که هنوز ما را به سیستم های مختلف متمایل میکند. دروپال اواخر نسخه ۶ بود و بعد از چند پروژه که با نسخه ۶ پیاده کردیم نسخه ۷ دروپال منتشر گردید.
این یک تجربه نقد و واقعی از روند حرکت بین این سیستم ها هست. و هنوز هم واقعیت این است که این سیستم ها اگر در پروژه ها درست انتخاب شوند هرکدام در پروژه خود بهترین است.
حالا معرفی مختصری از هرکدام از این سه سیستم خواهیم داشت.
(این تعریف ها مطلق نیست. خوشحال میشویم از تجربه و نقد سایر اساتید در بخش نظرات بهره ببریم) :
دروپال :
وقتی دروپال (مثلا دروپال ۷) را خام نصب میکنید، تقریبا امکانات خاصی ندارد و در نگاه اول دل شما را میزند. در مقایسه با وردپرس و جوملا که از همان بدو نصب میتوانید به راحتی محتوا را ایجاد منتشر و مدیریت کنید و ظاهر زیبایی را در بخشهای مختلف مشاهده کنید.
اما این هسته خام دروپال که نصب کرده اید هسته ای قدرتمند است که میشود بستر سفارشی سازی نامحدود دروپال و انطباق کامل آن با نیازهای مشتری در آن پروژه. این سفارشی سازی های نامحدود با کمک ۳۲۲۸۰ ماژول (درتاریخ ۸ آذر۹۴، ۳۰ اکتبر۲۰۱۵) آزاد و رایگان انجام میشود.
از این تعداد ماژول چند ماژول (حدود ۵۰) ماژول های پایه ای هستند که برمبنای آنها هزاران امکان و ویژگی را میتوانید به صورت داینامیک و بدون کد نویسی و ماژول نویسی بسازید. بسیاری از ماژول های دیگر هم که نوشته شده اند و میشوند بر پایه امکانات همین ماژول های پایه ای هستند. یعنی این ماژول ها را به عنوان پیش نیاز استفاده میکنند.
قویترین ماژول های پایه ماژول Views است که یک موتور قدرتمند ساخت کوئری و پرسش و پاسخ های مختلف از دیتابیس و تعریف تم و استایل برای آنهاست.
یا ماژول های Token، Pathauto، Entity، Date، Webform، IMCI، Wysiwyg، Rules ، Flag، Media، Panels، Local، VBO، Reference، Group، Devel، Calendar، Commerce و ... .
مصرف منابع سخت افزاری در دروپال بالا است. این بخاطر معماری فوق داینامیک در طراحی ساختار محتوایی پروژه است. اگر نحوه پیاده سازی و ترکیب ماژول ها حرفه ای نباشد از نظر مصرف منابع مشکل خواهید داشت.
مصرف منابع در دروپال را میتوان به کمک ماژول های مختلف کشینگ و ترکیب آنها کنترل کرد. مثل ماژول Filecache، Memcache یا ماژول کنترلی Authcache. از سرویس های کش سروری مثل Varnish که پیشنهاد و انتخاب سایت اصلی دروپال هست نیز میتوان استفاده کرد.
در دروپال تقریبا برای هر کاری ماژولی موجود است. و برای اتصال آن به هر سیستم دیگری یک ماژول رابط نوشته شده است. مثلا برای اتصال به سیستم های مختلف مدیریت انجمن مثل Vbulletin و PHPBB یا برای اتصال به سیستم های مدیریت مشتریان مثل Sugar. با این ماژول های رابط میتوان این سیستم هارا به عنوان یک زیر سیستم در بستر نرم افزار اصلی پروژه که دروپال است استفاده کرد.
اگر هم برای موضوعی ماژول خاصی وجود نداشته باشد حدود ۱۰ تا ۵۰ ماژول پایه به کمک میآیند تا به صورت کاملا داینامیک و از طریق رابط کاربری امکان مورد نیاز خود را طراحی و ایجاد کنید.
خیلی از این ماژول های پایه در دروپال ۷ و خیلی ها هم در دروپال ۸ به هسته منتقل شده اند.
طراحی گردش کارهای مختلف سازمانی و خبری و تعریف قوانین مختلف برای آنها از تخصص های دروپال است.
دروپال برای توسعه دهندگان و برنامه نویسان یک انتخاب خوب است. و اگر حرفه ای پیاده شود برای کاربر نهایی نیز شیرین و آسان خواهد بود.
دروپال به سبب قابلیت های پایه ای برای پروژه ها و سازمانهای بزرگ انتخاب شماره ۱ است ولی برای پروژه های کوچک مثلا وب سایت شخصی و وبلاگ انتخاب شماره ۱ نیست و برای آنها دردسرهایی خواهد داشت.
پشتیبانی دروپال ۷ توسط سایت اصلی Drupal.org انجام میشود و از حمایت چند شرکت بزرگ تجاری مثل Acquia و lullabot بهره میبرد. این شرکتها بستر اصلی توسعه محصولات نرم افزاری خود را دروپال قرارداده اند. از این جهت پایداری دروپال و روند روبه رشد آن بسیار بالاست.
جامعه توسعه دهندگان و برنامه نویسان دروپال ده ها هزار نفر در سطح جهان است. اما در ایران توسعه دهندگان کمتری نسبت به وردپرس و جوملا دارد. در چند سال اخیر شرکتها و برنامه نویسان دروپالی زیادی ایجاد وتربیت شده اند و آینده روشنی دارد.
سایتهای بزرگ و معتبری در سطح جهان و ایران بر بستر دروپال توسعه پیدا کرده اند.
دروپال ۸ نیز در تاریخ نگارش این مقاله به نسخه RC رسیده است و در شرف انتشار نهایی میباشد.
در واقع به نظر نگارنده دروپال یک سیستم مدیریت محتوا نیست. بلکه یک بستر طراحی و ساخت سیستم های مدیریت محتوا دقیقا منطبق برای نیازهای مشتری و پروژه است.
جوملا :
جوملا یک سیستم مدیریت محتوای همه پسند است. وقتی آن را نصب میکنید برای آماده بکار شدن نیاز به نصب ماژولهای چندانی ندارید. همان ابتدا ظاهر زیبا و مقبولی دارد. و میتوانید از صدها سایت پشتیبانی کننده آن انواع تم ها و بسته های مختلف آن را خریداری و به راحتی استفاده نمایید.
اما خب قدرت انعطاف شما بدون نصب ماژول های کمکی محدود است.
از نظر کد جوملا از ساختار کاملا استاندارد و مبتنی بر MVC و OOP (شی گرایی) بهره میبرد و به همین خاطر کدنویسی و ماژول نویسی برای آن لذت بخش است. هرچند API آن مختصر و ساده است.
چند مشکل اساسی آن مثل تعریف سطوح دسترسی و سیستم مجوز دهی در نسخه ۳ برطرف شدند.
جامعه توسعه دهندگان آن بسیار زیاد است و شرکت های خوبی در ایران از آن پشتبیانی میکنند.
اما سیستم آن بدون کد نویسی قابلیت انعطاف زیادی ندارد. شما در دایره امکاناتی که کامپوننت ها، پلاگین ها و ماژول ها دراختیارتان قرارمیدهند تحرک دارید.
بسیاری از ماژول های آن پولی و تجاری هستند. و از همین جهت کمی دلخوری ایجاد میکند.
پایداری آن به سبب حمایت رسمی Joomla.org از آن خوب است.
سایتهای بزرگی در سطح جهان بر بستر آن توسعه پیدا کرده اند. اما کاربرد آن به نظر نگارنده برای سایتهایی که پایداری بالایی از نظر امکانات و توسعه دارند و تغییرات زیادی نمیخواهند مناسب است.
از اساتیدی که از مشخصات فنی جدید در جوملا آشنایی بیشتری دارند میخوام که برای تکمیل مقاله نظر بدهند. شاید اطلاعات نگارنده جدید نباشند.
وردپرس :
وردپرس به سبب سبکی و سادگی و البته زیبایی و راحتی کار در ابتدای نصب آن، پر استفاده ترین سیستم مدیریت محتوای جهان است.
بیشتر از نصف سایتهای جهان وردپرس هستند. خب بیشترین کمیت وب سایت های جهان نیز سایت های شخصی، وبلاگ ها و سایتهای عمومی هستند.
وردپرس را از همان ابتدای نصب بدون هیچ دغدغه ای میتوانید استفاده نمایید. محیط مدیریت بسیار راحت و ساده ای دارد. به راحتی میتوانید برای آن از میان صدها تم رایگان تم انتخاب کنید. و از میان صدها شرکت و برنامه نویس وردپرس پشتیبانی دریافت کنید.
وردپرس لیست بلندی از پلاگین های مختلف دارد که در میان آنها هم رایگان هست و هم پولی. بسیاری از قابلیت های مربوط به رابط کاربری را میتوانید به سادگی با نصب پلاگین فراهم نمایید. و در کل برای مدیریت وب سایت شخصی یا سایتهای اطلاع رسانی متوسط انتخاب خوبی است.
اما به جهت اینکه قابلیت انعطاف و سفارشی سازی آن محدود به امکانات موجود پلاگین ها است برای پروژه های بزرگ و سازمانی توصیه نمیشود.
سایتهای بسیاری با آن پیاده شده اند و البته سایتهای بزرگی نیز بر بستر آن راه اندازی گردیده اند. از نظر کد نویسی مثل جوملا استاندارد نیست و در هسته از MVC و OOP حمایت نمیکند. مگر اینکه در ماژول خود از این استانداردها استفاده نمایید.
امکانات مدیریتی آن محدود است. و از پلاگین های پایه ای قدرتمندی بهره نمیبرد.
به سبب آمار بالای استفاده و در معرض بودن آن، از نظر امنیت در رتبه های پایینتری است.
در صورتی که دنبال یک راه حل سرراست و ساده هستید از وردپرس استفاده نمایید.
از اساتیدی که از مشخصات فنی جدید در وردپرس آشنایی بیشتری دارند میخوام که برای تکمیل مقاله نظر بدهند. شاید اطلاعات نگارنده جدید نباشند.
نتیجه گیری :
انتخاب این سیستم ها هرکدام بستگی به نیاز شما، اندازه پروژه، مهارت شما در برنامه نویسی و طراحی و البته بودجه و زمان شما دارد و هیچ کدام مطلقا رد یا تایید نمیشوند.
همچنین نکته مهم اینکه فراوانی استفاده از هرکدام، علامت قوت یا ضعف آن نیست. بلکه فراوانی استفاده از هر سامانهای نشانگر فراوانی و پراکندگی نیازها و کیفیت و پیچیدگی مورد نیاز در سطح وب میباشد.
نمودار استفاده از نرم افزازهای مدیریت محتوا - منبع: نرم افزار شنود آنلاین Wappalyzer