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