drefir
drefir
خواندن ۳ دقیقه·۵ سال پیش

HeadLess و تفاوت‌های آن با Decoupled،Coupled

سیستم‌ مدیریت محتوای Headless طی دو سال اخیر بسیار رشد کرده‌‌ و اکثر شرکت ها پیرو چنین ساختاری در راستای چابکی و انعطاف پذیری بیشتر هستند.
در سوی دیگر سیستم‌های سنتی همواره به دنبال ارائه راه کار استاندارد‌تر بوده و از نظر افراد متخصص پیچیدگی کمتری دارند.
اگر حس می‌کنید که زمان طراحی مجدد محصول شماست با نظر مخالفان و موافقان این سیستم ها بیشتر آشنا شوید تا بهترین راه حل برای توسعه نرم افزار خود را انتخاب کنید.

معماری سیستم مدیریت محتوای سنتی (Traditional)

بر خلاف Headless و Decoupled سیستم سنتی (Coupled) بخش بک‌اند را به قسمت فرانت‌اند پیوند می‌زند و این دو در هم تنیده شده اند.
در واقع بک‌اند تمام محتوایات نرم افزار را ایجاد،مدیریت و ذخیره می‌کند و بازدیدکنندگان توسط یک فرانت‌اند می توانند اطلاعات را مشاهده نمایند.
نمونه سیستم هایی که میتوان به آنها اشاره کرد عبارتند از Wordpress ، Drupal و غیره .

یک سیستم سنتی شامل بخش های زیر می باشد:‌

  • یک پایگاه داده جهت ذخیره سازی اطلاعات
  • یک بخش بک‌اند جهت ایجاد ، ذخیره و خواندن اطلاعات
  • یک فرانت‌اند جهت نمایش اطلاعات به کاربران و بازدیدکنندگان
?

سیستم مدیریت محتوای Decoupled

بک‌اند و فرانت‌اند از یکدیگر مجزا هستند.
یکی برای ذخیره و ایجاد اطلاعات و دیگری وظیفه نمایش اطلاعات به کانال های مختلف (Channels) را به عهده دارد.
در واقع بک‌اند می تواند روی یک سرور مستقل، اطلاعات را توسط یک API در اختیار فرانت‌اند قرار دهد.
(کانال ها همان وب سایت،اپلیکشین موبایل و یا هر ابزار دیگری می‌باشند)

در نظر داشته باشید که بک‌اند و فرانت‌اند می‌تواند در خود یک ساختار مستقل(Independently) برای پیاده سازی داشته باشند.

برای مثال React یک فریمورک جاوا اسکریپت با ساختار ماژولار و حداقل وابستگی بین کامپوننت های مختلف UI می باشد.

یک سیستم Decoupled شامل بخش های زیر می باشد:‌

  • یک پایگاه داده جهت ذخیره سازی اطلاعات
  • یک بخش بک‌اند جهت ایجاد ، ذخیره و خواندن اطلاعات
  • یک API جهت اتصال بک‌اند و فرانت‌اند
  • یک فرانت‌اند جهت نمایش اطلاعات به کانال های مختلف


سیستم مدیریت محتوای Headless

این سیستم زیر مجموعه ای از یک Decoupled می باشد به طوریکه هر دو دارای یک بک‌اند برای ذخیره و ایجاد اطلاعات هستند و اطلاعات را در اختیار API قرار می‌دهد.
تنها وجه تمایز این دو لایه نمایش آنها (Presentation Layer) می باشد،

Headless ها بر خلاف Decoupled ها فاقد فرانت‌اند جهت نمایش اطلاعات است.
API only, UI anything

می توان گفت که Headless تنها یک مخزن داده است که توسط یک API میتواند اطلاعات را طور مستقیم در اختیار کانال های مختلف (Channels) قرار دهد.

یک سیستم Headless شامل بخش های زیر می باشد:‌

  • یک پایگاه داده جهت ذخیره سازی اطلاعات
  • یک بخش بک‌اند جهت ایجاد ، ذخیره و خواندن اطلاعات
  • یک API جهت اتصال بک‌اند به کانال های مختلف
  • امکان اتصال به فرانت‌اندهای مختلف
  • امکان شخصی سازی قالب
?

مزایا و معایب سیستم های HeadLess , Decoupled ، Traditional

سیستم مدیریت محتوای سنتی (Traditional)

سیستم های سنتی پیشنهاد مناسبی برای یک سایت شخصی،بلاگ و یا یک وب سایت کوچک سازمان هستند.
معایب
هر اندازه که پیچیدگی پروژه بیشتر شود، پیوستگی بک‌ و فرانت‌ نیز افزایش پیدا میکند.
در نتیجه توسعه دهندگان با محدودیت مواجه شده و سازمان عدم چابک بودن خود را بیشتر احساس می‌کند به طوری که هزینه زیادی را برای نگهداری و توسعه به سازمان تحمیل می‌کند.

سیستم های Decoupled

  • نمایش سریعتر اطلاعات
  • انعطاف پذیری بالاتر در مقابل تغییرات
  • امنیت بالا
  • استقرار آسان
  • ادغام آسان تعییرات در طول توسعه با بخش های دیگر در سیستم
    معایب
    اما یک Decoupled پیچیده تر از یک سیستم سنتی است ، در نتیجه نیاز به زمان توسعه بیشتری دارد.

سیستم های Headless

زیر مجموعه‌ای از Decoupled ها می‌باشد در نتیجه شامل تمام مزایا این سرویس نیز هست. اما مهمترین تمایز آن نداشتن فرانت‌اند در ساختار خود می‌باشد که باعث انعطاف پذیری بالای برای ارتباط با کانال ها و فرانت‌اند های مختلف می‌شود.
معایب
فاقد Interface جهت نمایش اطلاعات و همچنین پیچیدگی بیشتر نسبت به دو نوع دیگر

نتیجه گیری و سخن آخر

هر سیستم مدیریت محتوا شامل معایب و مزایایست که متناسب با زیرساخت آن می‌تواند مفید باشد.
در این بخش ما صرفا به تجزیه و تحلیل جوانب مثبت و منفی سه معماری پرداختیم اما در انتها کسب و کار شما می‌تواند متناسب با محیط و شرایط معماری مناسب را انتخاب کند.

http://dref.ir

cmsheadlesscoupleddecoupledبرنامه نویسی
سعی می‌کند به نحوه‌ی پیاده‌سازی و همچنین بررسی تخصصی‌ترین مطالب حوزه فناوری اطلاعات بپردازد .
شاید از این پست‌ها خوشتان بیاید