در چند سال اخیر ، CMS های Headless یا بی کله ! توجه زیادی رو به خودشون جلب کردن . در این مطلب قصد داریم تفاوت های بین مدلهای مختلف CMS و معایب و مزایاشون رو بررسی کنیم .توجه داشته باشین ، بنا بر این نیست که مثلا بگیم Orchard بهتره یا Wordpress و ... !!! بلکه اقسام مختلف CMS میخوایم صحبت کنیم .
در سیستم های مدیریت محتوای سنتی مثل Wordpress ، Drupal ، Joomla و... کاربران با استفاده از ابزارهایی مثل ادیتورهای WYSIWYG یا ادیتورهای HTML محتوای خودشون رو ایجاد / ویرایش میکردن و در دیتابیس ذخیره میکنن. بعد از اون CMS مربوطه خروجی رو برمبنای لایه ی Frontend که در داخل CMS تعبیه شده بود ایش میده .
برای مثال در وردپرس ، لایه ی فرانت همون template ها میشن که برمبنای ساختار تعریف شده برای قالب مربوطه ، محتوا رو به کاربر نمایش میدن . به سیستم های مدیریت محتوای سنتی (Traditional CMS) ، Coupled CMS یا مدیریت محتوای پیوسته هم گفته میشه .
اگر ما سیستم مدیریت محتوای سنتی رو به بدن انسان تشبیه کنیم ، لایه ی فرانت اون رو کله (head) در نظر میگیریم. اگر شما اون بخش از CMS رو حذف کنین شما با یک سیستم مدیریت محتوای بی کله روبرو هستین!در یک پلتفورم headless ، هیچ لایه فرانت اند (Frontend) پیش فرضی وجود نداره که برمبنای اون بخواد محتوا به کاربر نمایش داده بشه . بدین معنی که محتوای شما ، یک محتوای خام هست و میتونه در هر دستگاه و چارچوبی مورد استفاده قرار بگیره .طبق این تعریف ، در واقع CMS ما تبدیل میشه به یک منبع نگهداری محتوا که صرفا تولید میشه و منتظر میشه تا ازش استفاده بشه .در واقع در این ساختار ، ما میتونیم هر تعداد head (یا همون frontend) برمبنای کانالهای توزیع محتوامون داشته باشیم (مثل: وب سایت ، اپلیکیشن موبایل ، کیوسک ، بیلبورد ، ساعتهای هوشمند و ...)در واقع این نوع CMS با ارائه ی API ، امکان دسترسی به محتواهای سیستم به هر کانال توزیعی رو میده .
در واقع ما میتونیم Headless CMS رو زیر مجموعه ای از Decoupled CMS بدونیم . این سیستم مدیریت محتوا مشابه ساختار Headless میمونه ، بدین معنا که علاوه بر ارائه API ، ابزارهایی برای ارائه محتوا در لایه frontend ، مثل Template ها رو در اختیارمون میزاره . شاید بگین این که شد همون Traditional CMS !؟ تفاوت اصلی در این مورد هست که لایه ی backend کاملا جدا هست و frontend دسترسی مستقیم به دیتابیس نداره ، بلکه از طریق API به محتواهای سیستم دسترسی پیدا میکنه .
همونطور که در تصویر بالا میبینین ، در مدل headless ( سمت چپ) ، سیستم از طریق API محتوا رو در اختایر کانالهای مختلف قرار میده .اما در سمت راست که مربوط به مدل decoupled هست ، سیستم علاوه بر این روش ، یک سیستم ارائه محتوای frontend رو بصورت پیش فرض در اختیار قرار میده ، اما ارتباطش با سیستم اصلی از طریق API هست .
قبلش ببینیم معنی agnostic چی هست ؟ در دنیای کامپیوتر به سیستم نرم افزاری گفته میشه که پلتفورم ها و سیستم عاملهای مختلف سازگاری داشته باشه . با توجه به تعریف بالا ، چون ما محتوامون رو از طریق API ارائه میدیم ، پس میتونه بروی هر دستگاه یا محیطی قابل دسترس باشه .
API ها امکان برقراری ارتباط بین تکنولوژی های مختلف رو فراهم میکنن . در این ساختار ، مهم نیست که شما CMS رو با چه تکنولوژی پیاده سازی کردین ، چون سایر کانالهای ارتباطی از طریق API به محتوای سیستم دسترسی پیدا میکنن.
همونطور که میدونین ، هر روز که از خواب پا میشیم ، با یک تکنولوژی و یا دستگاه جدیدی روبرو میشیم. این ساختار این امکان رو فراهم میکنه که بدون دغدغه از آینده بتونیم به تولید محتوامون ادامه بدیم . چون هر تکنولوژی یا دستگاه جدیدی هم که ارائه بشه امکان برقراری ارتباط و دسترسی به محتواها از طریق API فراهم هست .
تاحالا هرچی گفتیم ، خوبی گفتیم . یکم هم از بدیهاش بگیم !
بدلیل عادت بازاریاب ها با سیستم سنتی و مشاهده ی لحظه ای خروجی سیستم ، چون در این سیستم لایه ی frontendیی وجود نداره ، باعث کاهش جذابیت برای بازاریاب ها میشه مگر تا وقتی که کانالهای خروجی آماده نمایش محتواهای سیستم بشن
بدلیل نبود لایه ی frontend یا همون head در این ساختار ، نیاز هست که از طریق تکنولوژی های دیگه ، این خلا پر بشه . پر کردن این خلا هم به مبنای استفاده از سایر تکنولوژی ها هست که باعث استفاده از سیستم ها و تکنولوژی های مختلف میشه که میتونه باعث افزایش هزینه هم بشه
همونطور که در مورد اول اشاره کردیم ، در این ساختار بدلیل نبود لایه ی frontend یا همون head ، امکان مشاهده ی لحظه ای خروجی محتوا نیست که این مسئله میتونه کمی کاربران رو با مشکل مواجه کنه .
تمام مزایی که برای سیستم های Headless برشمردیم ، شامل حال این دوست عزیزمون هم میشه
این سیستم علاوه بر ارائه تمام ویژگی های headless ، با ارائه ی قالب های پیش فرض ، امکان مشاهده ی محتوای سیستم رو به کاربران و توسعه دهندگان سیستم میده .
در این نوع سیستم ، نه تنها بازاریاب های عزیز به قالبهای سیستم دسترسی دارن ، بلکه میتونن از طریق ادیتورهای WYSIWYG ، پیش نمایش محتوا و سایر ابزارهای تولید و توزیع محتوا ، به کارهاشون رسیدگی کنن .
بنیانگذار توسینسو و توسعه دهنده
علی شکرالهی، بنیانگذار TOSINSO ، توسعه دهنده وب و برنامه نویس موبایل، مهندسی نرم افزار از دانشگاه آزاد اسلامی واحد کرج ، بیش از 15 سال سابقه ی فعالیت های حرفه ای و آموزشی
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود