علی شکرالهی
بنیانگذار توسینسو و توسعه دهنده

تفاوت Headless و Decoupled در CMS چیست؟

در چند سال اخیر ، CMS های Headless یا بی کله ! توجه زیادی رو به خودشون جلب کردن . در این مطلب قصد داریم تفاوت های بین مدلهای مختلف CMS و معایب و مزایاشون رو بررسی کنیم  .توجه داشته باشین ، بنا بر این نیست که مثلا بگیم Orchard بهتره یا Wordpress و ... !!! بلکه اقسام مختلف CMS میخوایم صحبت کنیم  .

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

منظور از Traditional CMS یا CMS های سنتی چیست ؟

در سیستم های مدیریت محتوای سنتی مثل Wordpress ، Drupal ، Joomla و... کاربران با استفاده از ابزارهایی مثل ادیتورهای WYSIWYG یا ادیتورهای HTML محتوای خودشون رو ایجاد / ویرایش میکردن و در دیتابیس ذخیره میکنن. بعد از اون CMS مربوطه خروجی رو برمبنای لایه ی Frontend که در داخل CMS تعبیه شده بود ایش میده .

تفاوت Headless و Decoupled در CMS چیست؟

برای مثال در وردپرس ، لایه ی فرانت همون template ها میشن که برمبنای ساختار تعریف شده برای قالب مربوطه ، محتوا رو به کاربر نمایش میدن . به سیستم های مدیریت محتوای سنتی (Traditional CMS) ، Coupled CMS یا مدیریت محتوای پیوسته هم گفته میشه .

منظور از مدیریت محتوای بی کله (Headless CMS) چیست ؟

اگر ما سیستم مدیریت محتوای سنتی رو به بدن انسان تشبیه کنیم ، لایه ی فرانت اون رو کله (head) در نظر میگیریم. اگر شما اون بخش از CMS رو حذف کنین شما با یک سیستم مدیریت محتوای بی کله روبرو هستین!در یک پلتفورم headless ، هیچ لایه فرانت اند (Frontend) پیش فرضی وجود نداره که برمبنای اون بخواد محتوا به کاربر نمایش داده بشه . بدین معنی که محتوای شما ، یک محتوای خام هست و میتونه در هر دستگاه و چارچوبی مورد استفاده قرار بگیره .طبق این تعریف ، در واقع CMS ما تبدیل میشه به یک منبع نگهداری محتوا که صرفا تولید میشه و منتظر میشه تا ازش استفاده بشه .در واقع در این ساختار ، ما میتونیم هر تعداد head (یا همون frontend) برمبنای کانالهای توزیع محتوامون داشته باشیم (مثل: وب سایت ، اپلیکیشن موبایل ، کیوسک ، بیلبورد ، ساعتهای هوشمند و ...)در واقع این نوع CMS با ارائه ی API ، امکان دسترسی به محتواهای سیستم به هر کانال توزیعی رو میده .

منظور از مدیریت محتوای ناپیوسته (Decoupled CMS) چیست ؟

در واقع ما میتونیم Headless CMS رو زیر مجموعه ای از Decoupled CMS بدونیم . این سیستم مدیریت محتوا مشابه ساختار Headless میمونه ، بدین معنا که علاوه بر ارائه API  ،  ابزارهایی برای ارائه محتوا در لایه frontend ، مثل Template ها رو در اختیارمون میزاره . شاید بگین این که شد همون Traditional CMS !؟ تفاوت اصلی در این مورد هست که لایه ی backend کاملا جدا هست و frontend دسترسی مستقیم به دیتابیس نداره ، بلکه از طریق API به محتواهای سیستم دسترسی پیدا میکنه .

تفاوت Headless و Decoupled در CMS چیست؟

همونطور که در تصویر بالا میبینین ، در مدل headless ( سمت چپ) ، سیستم از طریق API محتوا رو در اختایر کانالهای مختلف قرار میده .اما در سمت راست که مربوط به مدل decoupled هست ، سیستم علاوه بر این روش ، یک سیستم ارائه محتوای frontend رو بصورت پیش فرض در اختیار قرار میده ، اما ارتباطش با سیستم اصلی از طریق API هست .

مزایا Headless CMS

  1. Frontend agnostic

قبلش ببینیم معنی agnostic چی هست ؟ در دنیای کامپیوتر به سیستم نرم افزاری گفته میشه که پلتفورم ها و سیستم عاملهای مختلف سازگاری داشته باشه . با توجه به تعریف بالا ، چون ما محتوامون رو از طریق API ارائه میدیم ، پس میتونه بروی هر دستگاه یا محیطی قابل دسترس باشه .

  1. دسترسی از طریق API

API ها امکان برقراری ارتباط بین تکنولوژی های مختلف رو فراهم میکنن . در این ساختار ، مهم نیست که شما CMS رو با چه تکنولوژی پیاده سازی کردین ، چون سایر کانالهای ارتباطی از طریق API به محتوای سیستم دسترسی پیدا میکنن.

  1. تضمین آینده

همونطور که میدونین ، هر روز که از خواب پا میشیم ، با یک تکنولوژی و یا دستگاه جدیدی روبرو میشیم. این ساختار این امکان رو فراهم میکنه که بدون دغدغه از آینده بتونیم به تولید محتوامون ادامه بدیم . چون هر تکنولوژی یا دستگاه جدیدی هم که ارائه بشه امکان برقراری ارتباط و دسترسی به محتواها از طریق API فراهم هست .

معایب Headless CMS

تاحالا هرچی گفتیم ، خوبی گفتیم . یکم هم از بدیهاش بگیم !

  1. عدم جذابیت برای بازاریابها

بدلیل عادت بازاریاب ها با سیستم سنتی و مشاهده ی لحظه ای خروجی سیستم ، چون در این سیستم لایه ی frontendیی وجود نداره ، باعث کاهش جذابیت برای بازاریاب ها میشه مگر تا وقتی که کانالهای خروجی آماده نمایش محتواهای سیستم بشن

  1. پراکندگی تکنولوژی ها

بدلیل نبود لایه ی frontend یا همون head در این ساختار ، نیاز هست که از طریق تکنولوژی های دیگه  ، این خلا پر بشه . پر کردن این خلا هم به مبنای استفاده از سایر تکنولوژی ها هست که باعث استفاده از سیستم ها و تکنولوژی های مختلف میشه که میتونه باعث افزایش هزینه هم بشه

  1. عدم پیش نمایش محتوای سیستم

همونطور که در مورد اول اشاره کردیم ، در این ساختار بدلیل نبود لایه ی frontend یا همون head ، امکان مشاهده ی لحظه ای خروجی محتوا نیست که این مسئله میتونه کمی کاربران رو با مشکل مواجه کنه .

مزایای سیستم های ناپیوسته (Decoupled CMS)

  1. تمام مزایای سیستم های Headless

تمام مزایی که برای سیستم های Headless برشمردیم ، شامل حال این دوست عزیزمون هم میشه

  1. قالب های اختیاری برای لایه frontend

این سیستم علاوه بر ارائه تمام ویژگی های headless ، با ارائه ی قالب های پیش فرض ، امکان مشاهده ی محتوای سیستم رو به کاربران و توسعه دهندگان سیستم میده .

  1. دسترسی به ابزارهای مورد علاقه بازاریابان

در این نوع سیستم ، نه تنها بازاریاب های عزیز به قالبهای سیستم دسترسی دارن ، بلکه میتونن از طریق ادیتورهای WYSIWYG ، پیش نمایش محتوا و سایر ابزارهای تولید و توزیع محتوا ، به کارهاشون رسیدگی کنن .

 


علی شکرالهی
علی شکرالهی

بنیانگذار توسینسو و توسعه دهنده

علی شکرالهی، بنیانگذار TOSINSO ، توسعه دهنده وب و برنامه نویس موبایل، مهندسی نرم افزار از دانشگاه آزاد اسلامی واحد کرج ، بیش از 15 سال سابقه ی فعالیت های حرفه ای و آموزشی

نظرات