فقدان الرأس: وقائع الاستخدام وما هو جيد لها
نشرت: 2022-03-10تم دعم هذه المقالة من قِبل أصدقائنا الأعزاء في Storyblok ، وهو نظام إدارة محتوى سهل الاستخدام بدون رأس مزود بمحرر مرئي ومكونات متداخلة وكتل محتوى قابلة للتخصيص لمواقع الويب والتطبيقات. شكرا لك!
بالنظر إلى سنوات التطوير للويب ، استخدمت العشرات من أدوات CMS المختلفة سواء الجاهزة أو المصنوعة منزليًا. لقد كنت أنشر وأنشئ الكثير من مواقع WordPress والمكونات الإضافية ، بالإضافة إلى امتدادات لمواقع CMS كاملة الخدمات في .NET. لكن بالنسبة لي ، تغير كل شيء عندما سمعت لأول مرة عن مقطوعة الرأس ، والآن ، بعد سنوات ، لم أستطع أن أشعر براحة أكبر في النظام البيئي مقطوع الرأس .
هذا الحماس لا يأتي من العدم. على الرغم من أنه قد يبدو أمرًا شاقًا لفهم جميع الخيارات المقطوعة الرأس ، فقد كنت أقوم بتنقيح استراتيجيتي الخاصة لخيارات مقطوعة الرأس مختلفة في بيئات مختلفة ، وجعلت نفسي على دراية كبيرة بالمشتبه بهم المعتادين في المساحة الخالية من الرأس. ساعدني الانتقال إلى وضع مقطوعة الرأس على تجنب الوقوع في حواجز الطرق الناجمة عن قيود أنظمة الكل في واحد الأكبر.
تجلب لي وظائف التجزئة حتى تتمكن من تحقيق الأهداف المعقدة اليوم وإعداد تطبيقك للتطور بسهولة في المستقبل ، راحة البال. لقد كان من دواعي سروري المساهمة في عمليات النشر والتكرار الناجحة لخدمات الويب المبنية على حلول بدون رأس للشركات الخاصة وحكومة ولاية كاليفورنيا.
في هذه المقالة ، أود أن أشارك بعض المؤشرات والإرشادات المفيدة التي تعلمتها طوال هذه السنوات ، على أمل أن تساعدك في فهم العالم بلا رأس ، والعثور على المرشحين المناسبين لمشاريعك. ولكن قبل أن نتعمق في الأمر ، نحتاج إلى العودة بالزمن قليلاً لفهم ما يجلبه مقطوعة الرأس إلى الطاولة.
قبل مقطوعة الرأس
منذ بضع سنوات فقط ، بدا أن مهام سير العمل لدينا تركز على مجموعة من الأدوات والمكدسات والتقنيات. بالنسبة إلى CMS ، كنا نستخدم في الغالب أدوات الكل في واحد. تضمنت وظائف تأليف المحتوى وعرض المحتوى.
علق مستخدمو هذه الأدوات مع الواجهة الأمامية التي تأتي مع الواجهة الخلفية. كانت قدرتك على تخصيص الأشياء محدودة. يمكنك تثبيت المكونات الإضافية ولكن يجب تصميمها جميعًا لأداتك. يمكنك كتابة رمز مخصص - ولكن فقط باللغة التي بنيت عليها أداتك وضمن قيودها.
لقد تغير كل شيء على مدار السنوات القليلة الماضية مع اكتساب CMS مقطوعة الرأس قوة دفع في جميع أنحاء الصناعة.
نهضة من الأدوات المتخصصة
اليوم ، لدينا مجموعة مزهرة من الأدوات المتخصصة في طرق عرض عرض المحتوى أو التأليف. يركز نظام إدارة المحتوى بدون رأس على جزء تأليف المحتوى ويوفر طريقة لتوصيل أداة عرض محتوى منفصلة. إن عدم وجود واجهة أمامية مواجهة للمستخدم هو ما يجعلها بلا رأس ويمنحها المرونة للعمل مع أي أداة عبر واجهة برمجة التطبيقات الخاصة بها.
إن القدرة على تصميم الواجهة الأمامية الخاصة بك من البداية تُحرر الكثير من فرق التطوير. قد يكون لديك فريق متصدع من المهندسين يجيدون تقديم تطبيقات بسيطة من صفحة واحدة في Vue.js أو عرض سريع ، ومواقع ثابتة مقاومة للرصاص مع 11 عامًا. تم تصميم أحدث أطر تطوير الويب للعمل بسهولة مع البيانات المنظمة التي يمكن توفيرها من أي نظام إدارة محتوى بدون رأس.
CMS مقطوعة الرأس هي أداة مركزة. إنه يتحمل مسؤولية أقل من حل الكل في واحد. توفر نقاط نهاية واجهة برمجة التطبيقات (API) التي يوفرها نظام CMS بدون رأس فصلًا نظيفًا بين الأنظمة حتى تتمكن من تبديل البنيات الأمامية أو الخلفية بشكل مستقل مع تطور الأشياء. ينمو منتجك ، ويتوسع النظام البيئي للأدوات ، وتتوافر أساليب جديدة. ستتغير متطلبات الواجهة الخلفية والواجهة الأمامية. إذا كان لديك إعداد مقطوع الرأس ، فستتمكن من التكيف بسهولة أكبر لأن الواجهة الأمامية والخلفية مفصولة بالفعل بشكل نظيف بواسطة واجهة برمجة التطبيقات ويمكنك ترقيتها بشكل مستقل.
هل مقطوعة الرأس مناسبة لي؟
والجدير بالذكر أن مقطوعة الرأس تمنحك المرونة التي قد تحتاجها لتلبية المتطلبات الصعبة. قد يكون من الصعب تحقيق أهدافك إذا كان عليك تعديل منتج الكل في واحد بشكل كبير. قد يكون الجمع بين أداة مقطوعة الرأس وواجهة أمامية أصغر أو مختلفة أو معدة محليًا أسهل طريقة لتقديم التصميمات المرغوبة وتدفقات المستخدم.
- إذا كنت ترغب في ضبط كل خطوة من خطوات تدفق المنتج ، فيمكنك استخدام خيار التجارة بدون رأس لتحقيق ذلك ،
- إذا كنت ترغب في إجراء تحسين كبير لـ Time to First Byte ، فقد ترغب في استخدام مولد موقع ثابت يعيد بناء المحتوى بناءً على التغيير بناءً على واجهة برمجة تطبيقات CMS مقطوعة الرأس ،
- إذا كنت تستضيف أدواتك الخاصة وتتوخى الحذر بشأن الأمان ، فقد ترغب في تأمين بيئة التأليف الخاصة بك خلف جدار الحماية واستهلاكها بدون رأس من واجهة أمامية مبنية على Jamstack ،
- إذا كنت تقدم نفس المحتوى إلى مجموعة متنوعة من العملاء ، مثل الويب أو التطبيقات الأصلية أو أدوات الطرف الثالث ، فيمكنك إنشاؤها بطريقة تجعلهم جميعًا يتواصلون عبر نفس نظام إدارة المحتوى بلا رأس.
إذا كان بإمكانك تلبية متطلبات مشروعك بشكل لا تشوبه شائبة باستخدام أداة الكل في واحد ، فمن المحتمل أن تكون الخيارات بلا رأس مبالغة قليلاً بالنسبة لك. بالطريقة نفسها ، إذا كان فريقك سعيدًا تمامًا وعلى دراية جيدة بحل الكل في واحد الحالي ، فلا داعي للقلق حقًا بشأن تقسيم الأدوات الأمامية والخلفية. ومع ذلك ، إذا كنت تواجه قيودًا على أدواتك بدلاً من ذلك ، فإن عدم استخدام الرأس سيسمح لك بمعالجة نقاط الألم الخاصة بك مباشرةً.
مثال: التجارة الإلكترونية بدون رأس
لنلقِ نظرة على خيار محدد بدون رأس: يمكنك دمج منصة تجارة إلكترونية موجودة ، مثل Shopify ، كتدفق كامل يتولى عملية الخروج بأكملها ، أو يمكنك استخدام خيار بدون رأس يوفره Shopify أيضًا.
- في الحالة الأولى ، سيعتمد تصميمك بشكل كبير على قوالب Shopify ووظائف خارج الصندوق ، لذا سيكون تعديل تدفق الخروج ممكنًا ، لكنه محدود للغاية.
- في الحالة الأخيرة ، يمكنك تصميم تدفق الخروج الخاص بك بأي طريقة تريدها ، وستعتمد على Shopify لمجرد إجراء المعاملة المالية.
الاختلاف الكبير هو أن خيار مقطوعة الرأس سيتطلب منك بناء كل عرض يراه المستخدم. مرة أخرى ، إذا كان هذا يبدو وكأنه متاعب بدون أي اتجاه صعودي ، فربما لا تحتاج إلى حل مقطوع الرأس.
سيرحب الفريق الذي يحتاج إلى نسخة مقطوعة الرأس بالحرية التي يوفرها هذا. لن يكون لتصميمك أي قيود ، وستكون قادرًا على التحكم في كل بكسل في كل مشاهدة. ستتمتع بالتحكم الكامل في جميع التعليمات البرمجية التي يتم تنفيذها على أجهزة المستخدم الخاصة بك ، حتى تتمكن من تتبع كل تفاعل فردي وتحسينه وتسريعه حرفيًا.
في الوقت نفسه ، ما زلت تترك معالجة المعاملات إلى حل التجارة الإلكترونية بدون رأس ، لذلك تحصل على مزايا نظامهم الخلفي.
خلاصة القول هي: إذا كنت تكافح مع الاختناقات في حل التجارة الإلكترونية الحالي الخاص بك - سواء كانت واجهة أمامية ثقيلة أو واجهة مستخدم معقدة أو مجرد تصميم لا يمكن الوصول إليه - فإن الخيار بلا رأس سيسهل على فريقك حل هذه المشكلات. وبالمثل ، إذا بدا الأمر وكأنه سيسهل على فريقك زيادة مسار التحويل الخاص بك عن طريق جعل نشر الميزات الجديدة أسرع وأكثر سلاسة ، فمن الجيد التفكير في خيار مقطوعة الرأس أيضًا.
قفل في Avoding مع منصة واحدة
بالنظر إلى حالة الواجهة الأمامية اليوم ، فإن فصل مركبات التأليف وتوصيل المحتوى هو الطريقة الأكثر أمانًا لتصميم الأشياء في عالم تتوسع فيه خيارات أدوات الواجهة الأمامية والخلفية باستمرار. ليس من غير المألوف أن يكون لبيئات التأليف والقراءة مجموعات مختلفة من المتطلبات ، لذا فإن القدرة على اختيار الأدوات التي تتناول هذه المتطلبات بشكل منفصل يمنحك خيارات أفضل لكلا الجانبين.
يتم تمكين الإعدادات المستندة إلى Jamstack بواسطة واجهات برمجة التطبيقات بحيث يتم ربطها غالبًا بنظام CMS مقطوع الرأس. لا يتطلب اتخاذ خيار مقطوعة الرأس واجهة Jamstack الأمامية . بالطبع ، لا يزال بإمكانك تشغيل بعض التعليمات البرمجية من جانب الخادم إذا أردت.
على سبيل المثال ، لقد ساعدت في إنشاء عدد قليل من المواقع التي تشغل Node.js و Express وتستهلك واجهات برمجة التطبيقات الخلفية مثل Wordnik.com ويعمل هذا النمط الشائع بسلاسة. إن الوصول إلى بياناتك عبر واجهات برمجة التطبيقات يجعل من الممكن التخلص من التعليمات البرمجية من جانب الخادم في الإنتاج ، بحيث يمكنك بسهولة تبني نهج جانب العميل مثل Jamstack إذا كان ذلك منطقيًا في مشروعك.
تكمن المشكلة في حلول "الكل في واحد" في أن كل واحد منهم لديه الكثير من الالتزامات المنصوص عليها فيه. على سبيل المثال ، يجب أن تلتزم بدعم قاعدة بيانات وبيئة برمجة أو الاختيار من بين بائعي SaaS الذين يفعلون ذلك ؛ أيضًا ، يجب أن تحدث تغييرات التصميم الخاصة بك داخل السمات والإضافات المتاحة.
مع بلا رأس ، نخرج من الحبس في منصة واحدة. لذلك إذا كنت بحاجة إلى استخدام إطار عمل جديد للواجهة الأمامية لموقعك على الويب ، أو كنت ترغب في إزالة البنية التحتية للإنتاج باهظة الثمن واستخدام مولدات المواقع الثابتة ، أو ربما ترغب في تبديل نظام إدارة المحتوى الخاص بك دون إعادة بناء الواجهة الأمامية بالكامل من البداية - مقارنة بالبدائل ، يمكنك تحقيق كل ذلك مع احتكاك أقل بكثير عند استخدام خيار مقطوعة الرأس.
دعنا نلقي نظرة على مثال بسيط. تخيل أن مؤسستك تأتي بمبادرة جديدة وتصميم جديد ، ويتم إنشاء التدفقات من الصفر لتلبية احتياجات المستخدمين الجدد. فجأة يجب تجميع كومة تقنية جديدة لتلبية هذه المتطلبات.
سيؤدي اختيار خيار مقطوعة الرأس إلى منح منتجاتك لقطة أفضل مع طول العمر ، ويسهل كثيرًا السماح للمحتوى الخاص بك بالانتقال إلى قنوات توصيل متعددة بسلاسة.
"
في مثل هذه الحالات ، ستحتاج إلى البحث عن حل مثالي جاهز يناسب احتياجاتك تمامًا ، أو يعرض للخطر بعض متطلبات التصميم وتدفق المستخدم بحيث يعمل بشكل جيد بما فيه الكفاية. ولكن إذا كانت متطلبات التصميم أو الأداء الخاصة بك صارمة ، فقد يكون من الأسهل تحقيق هذه الأهداف من خلال قطع الرأس.
خلاصة القول هي أن هناك الكثير من حالات الاستخدام عند اختيار خيار بدون رأس يمنح منتجاتك لقطة أفضل مع طول العمر ، بالإضافة إلى تسهيل انتقال المحتوى الخاص بك إلى قنوات توصيل متعددة بسلاسة. أن تكون قادرًا على استهلاك المحتوى الخاص بك حيث أن البيانات المنظمة تسمح له بالازدهار على موقع الويب الخاص بك ، في تطبيقاتك الأصلية ، ويتم مشاركته في مصادر خارجية.
ليس كل شيء يجب أن يكون مقطوع الرأس
قد يبدو أن مقطوعة الرأس هي دائمًا خيار أفضل ، لكنها ليست كذلك. إذا لم تكن مهتمًا جدًا بالتصميم والخيارات التقنية الموضحة أعلاه في مشروعك الحالي ، أو كنت بحاجة فقط إلى موقع ويب تشغيلي يقوم بالمهمة اليوم ، فربما لن تحتاج إلى الكثير.
بالطبع ، السرعة من المفهوم إلى التسليم أمر مهم ، لذلك نظرًا لأنك على بعد نقرات قليلة من موقع ويب يبدو لائقًا بدون دعم هندسي مناسب من جانبك ، فقد ترغب في تأجيل خيارات مقطوعة الرأس لوقت لاحق. يمكنك التركيز على تحسين الموقع وطول العمر بمجرد أن تشعر أن فكرتك قد تكون ناجحة.
كيف تساعدك خيارات مقطوعة الرأس على التعافي من العثرات
ترقية الواجهة الخلفية
مخاطر التسعير لكل مستخدم
منذ فترة ، ساعدت في إنشاء نظام التدوين الذي سيستخدمه عشرات المؤلفين. لقد تأثرنا كثيرًا بمجموعة الميزات الخاصة بأحد بائعي CMS مقطوعة الرأس ، واخترناها لنظام CMS مقطوع الرأس واستمتعنا ببناء واجهة أمامية فوقه تم دمجها بسلاسة في مجموعة منتجاتنا. في النهاية ، قررت الشركة زيادة عدد المؤلفين إلى بضعة آلاف.
لا تنشر معظم حلول CMS المستضافة هيكل التسعير لأرقام المستخدمين بهذا الحجم. عندما استفسرنا عن تكلفة الاستمرار في تشغيل هذا على نفس النظام الأساسي ، لم تعجبنا الإجابة تمامًا. من أجل أن يستمر هذا النظام في جعله منطقيًا من الناحية التجارية ، كان علينا تبديل نظام إدارة المحتوى الخاص بنا. تمكنا من إجراء المبادلة دون إلغاء الواجهة الأمامية أيضًا بسبب الهندسة المعمارية مقطوعة الرأس.
خنق API
الكثير من الشركات الناشئة التي تركز فقط على بيئة التأليف قادرة على بناء منتجات جميلة باستخدام واجهات برمجة تطبيقات صديقة للمطورين. Airtable هو مثال على ابتكار جداول البيانات من خلال واجهة مستخدم سهلة الاستخدام جنبًا إلى جنب مع تجربة مطور نظيفة عبر واجهة برمجة تطبيقات جيدة التوثيق.
لقد قمت ببناء بعض النماذج الأولية المفيدة حيث قمت بإدخال البيانات المسردة في Airtable حيث تم تحريرها من قبل خبراء بشريين ، ثم استخدمت واجهات برمجة التطبيقات الخاصة بهم لتشغيل عروض المحتوى التي تعمل على الموقع الرئيسي وفي التضمينات التي تعمل على مواقع الطرف الثالث. عند إعداد نظام القراءة ، قمت بسحب بيانات Airtable إلى نظام جاهز للإنتاج يمكنه التعامل مع أحمال مرور كبيرة وقد نجح هذا لفترة من الوقت.
بدأت أواجه مشاكل في كتابة البيانات بالرغم من ذلك. كانت المكالمات تفشل بسبب الحد الأقصى البالغ 5 طلبات في الثانية. يؤدي الوصول إلى هذا الحد إلى إغلاق كامل لطلب واجهة برمجة التطبيقات لمدة 30 ثانية. كنت أحاول إرسال البيانات من نظام موزع لذا أضفت دواسات الوقود وقسمت الأشياء إلى قواعد منفصلة.
مع توسع النظام وزيادة كمية البيانات ، كنا نتجاوز هذه الأداة. لقد تمكنت من معالجة هذا من خلال بناء ميزات تحرير بيانات أولية في نظام يعتمد على مثيل AWS DynamoDB الذي كان يقرأ من طاولة البث. تمكنا من التداول بسرعة في ميزات واجهة مستخدم التأليف في Airtable للحصول على نطاق أكبر وفواتير SaaS شهرية أقل.
هذا مثال آخر على كيفية الفصل النظيف بين الواجهة الأمامية والخلفية التي توفرها واجهات برمجة التطبيقات لأدوات التأليف بدون رأس والتي تتيح لك استهداف نقاط الألم بدقة.
ترقية الواجهة الأمامية
أطر جديدة لامعة
غالبًا ما تواجه المنظمات التي كانت موجودة لفترة من الوقت مشكلة الحاجة إلى دعم أنظمة الإنتاج المبنية على مجموعة متنوعة من مكدسات التكنولوجيا . هناك ضغط مستمر لتجانس الأدوات ولكن أيضًا للابتكار. كنت جزءًا من فريق مكلف ببناء وجهات نظر وعناصر واجهة مستخدم يمكن دمجها في المنتجات الحالية بناءً على نظام إدارة محتوى مقطوع الرأس. لقد استمتعنا كثيرًا ببناء نماذج أولية بسرعة باستخدام أدوات أمامية مختلفة وخفيفة الوزن.
أجرينا مسابقة داخلية لمعرفة أي مهندس في فريق الواجهة الأمامية يمكنه إعداد أفضل واجهة أمامية استنادًا إلى المحتوى الذي يتم تسليمه من نقاط نهاية CMS API بدون رأس. احتوى أحد العروض التقديمية على أفضل مجموعة ميزات وأصغر بصمة رمز ، لذا حصل المطورون على المشروع وسلموا المنتج من خلال بنائه باستخدام Riot.js.
Riot.js عبارة عن مكتبة صغيرة رائعة تحتوي على الكثير من الميزات في حجم صغير. يساعدك على كتابة مكونات ملف واحد تعتمد على البيانات مثل Vue.js. عندما غادر مطور الواجهة الأمامية الشركة بعد فترة وجيزة من شحن الإصدار 1.0 ، فقد الفريق الشخص الوحيد الذي كان متحمسًا لتلك المكتبة.
في بعض الأحيان ، يحدث السقوط من نمط التطوير المثير والجديد والسريع إلى الديون التقنية بسرعة.
"
لحسن الحظ ، توفر الطبيعة المنفصلة لبنية CMS مقطوعة الرأس المرونة في تغيير الواجهة الأمامية دون لمس الواجهة الخلفية . تمكنا من إعادة كتابة كود الواجهة الأمامية والمبادلة في مكونات الواجهة الأمامية المحدثة بناءً على مكتبات مختلفة كانت أكثر شيوعًا في مشاريع أخرى.
سرعة الخام
أحب مشروع الشبح. كنت مشتركًا مبكرًا لأنه كان من الرائع رؤية حل يشبه WordPress مبنيًا على Node.js. أحترم هذه المنظمة لتقديمها خدمة مبنية على أدوات مفتوحة المصدر تعمل على تحسينها باستمرار. كنت سعيدًا حقًا بهذه الأداة عندما استخدمتها لمدونتي الشخصية.
كان هناك جانب واحد من الحل لم يكن مثاليًا بالرغم من ذلك. كان الوقت إلى البايت الأول على مدونتي المستضافة على Ghost بطيئًا جدًا. نظرًا لأنني تمكنت من استرداد كل محتوى المنشور عبر واجهة برمجة التطبيقات ، فقد تمكنت من إعداد الواجهة الأمامية الخاصة بي التي تم إنشاؤها بشكل ثابت على S3 + Cloudfront التي استخدمت كل محتوى المنشور الذي كتبته في Ghost ولكن كان لدي وقت أسرع للبايت الأول.
مقطوعة الرأس CMS كخدمة
هناك العديد من الشركات التي تعمل في مجال "البرمجيات كخدمة" والتي عملت بشكل كامل على قطع رأس. يمكن أن يمنحك التسجيل مع أحد هؤلاء البائعين على الفور بيئة ودية لتحرير المحتوى ونقاط نهاية API نظيفة للعمل معها. فيما يلي مقارنة سريعة لعدد قليل منهم جميعًا لديهم خطط دخول منخفضة التكلفة للغاية وتركيز ليزر على تجربة CMS مقطوعة الرأس.
تحتوي كل هذه الخدمات على مجموعة قاعدة صلبة من الميزات . تشمل جميعها استضافة الأصول الثابتة وسجل المراجعة المحفوظ ودعم الترجمة الموثق جيدًا. وهي تختلف في واجهة مستخدم إنشاء المحتوى وميزات واجهة برمجة التطبيقات.
بائع | تحرير المحتوى | API |
---|---|---|
ButterCMS | نماذج باستخدام محرر WYSIWIG بنمط Word ، مع التبديل إلى كود HTML. يمكنك تكوين معاينة كاملة بنقرة واحدة عن طريق ربط عناوين URL الخاصة بقالب الواجهة الأمامية. | تعرض معاينة REST API JSON الكامل المتاح في تراكب على نفس شاشة محرر المحتوى. |
مريح | محرر قائم على النماذج ؛ لم يرَ كيفية إعداد معاينة بنقرة واحدة في السياق. | يتوفر رابط نقطة نهاية REST API في وضع المحرر ، ويتوفر GraphQL قريبًا. |
كوني | نماذج باستخدام محرر WYSIWIG بنمط Word ، مع التبديل إلى كود HTML. يمكنك تكوين عناوين URL للمعاينة الخاصة بك لسحب مسودة JSON. | REST API. يمكن عرض JSON كامل بنقرتين من محرر الكائنات. |
DatoCMS | يمكن للمحرر المستند إلى النماذج إعداد مكون إضافي لتمكين معاينة صفحة كاملة. | واجهة برمجة تطبيقات GraphQL مع مستكشف واجهة برمجة التطبيقات. |
ستوريبلوك | محرر قائم على النماذج ، وضع التحرير المرئي ، مع معاينة صفحة كاملة. | REST API ، نقرة واحدة لإكمال JSON من وضع المحرر. |
أخذ شكل | محرر قائم على النماذج ، مع معاينة مباشرة قابلة للتكوين عن طريق تحميل النماذج. | واجهة برمجة تطبيقات GraphQL مع مستكشف واجهة برمجة التطبيقات. |
أنماط مقطوعة الرأس مثيرة
باستخدام نظام إدارة المحتوى على أساس جيثب
تعد القدرة على الاستفادة من إدارة المستخدم والتحكم في الإصدار ومهام سير عمل الموافقة في GitHub من المزايا الكبيرة. من المفيد ألا تضطر إلى إنشاء حسابات جديدة على أنظمة جديدة. من الجيد أن تكون قادرًا على رؤية سجل المراجعات جنبًا إلى جنب مع تحديثات المحتوى.
هناك نكهات مختلفة لأدوات CMS المستندة إلى GitHub. كانت هذه طريقة سريعة لتدوير مواقع التوثيق: Spacebook ، يمكنك دمجه مع Netlify للحصول على واجهة مستخدم أكثر وضوحًا لتحرير العلامات أو استخدامها مباشرة على GitHub.
تجعل ميزات المعاينة المضمنة الآن في محرر الويب GitHub بعض هذه الأدوات أكثر سهولة للأشخاص الذين ليسوا على دراية بـ HTML. أنا أحب خيار فرق العرض الغني حيث يعرض GitHub تغييرات تخفيض السعر في وضع المعاينة الكاملة.
هذه قائمة ممتازة من 85 أداة CMS تسمح لك بالفرز حسب ما إذا كانت تستند إلى GitHub أم لا.
واجهات برمجة التطبيقات للأدوات المألوفة
يأتي تثبيت WordPress الخاص بك مصحوبًا بنقاط نهاية API ، بحيث يمكنك الاستمرار في استخدام أدوات التأليف التي يمتلكها فريقك بطريقة بلا رأس. يحتوي WordPress على وثائق رائعة لواجهة برمجة تطبيقات REST الخاصة بهم. يتم تمكين هذا في عمليات تثبيت WordPress الجديدة ، لذلك عندما تقوم بتدوير بيئة تأليف WordPress جديدة ، يمكنك البدء في قراءة JSON من https://example.com/wp-json/wp/v2/posts
.
تحتوي صفحة إعدادات WordPress على حقل خدمة التحديث حيث يمكنك إدخال عناوين URL للخدمات التي تريدها تنفيذ الأمر ping عند تغيير المحتوى. هذا مثالي لتشغيل أداة بدون خادم للحصول على آخر التحديثات. يحتوي WordPress v5 على هذا الحقل في قسم الكتابة في الإعدادات
الجمع بين مصادر البيانات
ساعدنا استخدام أدوات مقطوعة الرأس لولاية كاليفورنيا في صياغة مواقع الاستجابة للطوارئ التي رفعت مستوى الأداء. كان لدينا سيطرة كاملة على بنية الواجهة الأمامية وما زلنا قادرين على السماح للكتاب باستخدام أدوات التأليف المألوفة.
نحن نستخدم WordPress بلا رأس ، ونكتب إلى GitHub عبر FAAS. نحن نكتب أيضًا مصادر بيانات أخرى في المستودع ونقوم بتشغيل مولد موقع ثابت بناءً على كل تغيير. أمثلة البيانات التي تتم كتابتها إلى git بالإضافة إلى المحتوى التحريري الأصلي هي البيانات التي تتغير مرة واحدة فقط في اليوم مثل إحصائيات الخط الرئيسي والنسخ المترجمة بشريًا من كل صفحة.
سمح لنا استخدام إجراءات GitHub كمشغلات للبناء بدمج العديد من مصادر البيانات المختلفة في الموقع حتى نحصل على نشر سريع وبصمة صغيرة للبنية التحتية للإنتاج. تسمح لنا البنية التحتية للإنتاج الأقل بالتنفس بسهولة عندما نواجه ارتفاعات كبيرة في حركة المرور المرتبطة بإعلانات الوباء الحكومية.
WordPress -> FAAS -> تم إنشاء جزء GitHub repo من الهندسة بواسطة Carter Medlin. لقد قام بتوصيل خط الأنابيب هذا معًا من نقطة الصفر في غضون يومين أثناء تصميم وبناء الواجهة الأمامية للموقع. يتم تشغيل هذا على وظيفة MS Azure بدون خادم لذلك هناك تكاليف وصيانة منخفضة للبنية التحتية. يحصل على pings من خدمة تحديث WordPress الموصوفة سابقًا ، ويسحب json من WordPress API ويكتب محتوى جديدًا في GitHub. يمكن عرض رمز نقطة النهاية التي لا تحتوي على خادم على GitHub.
تعمل روبوتات Out بجد على نشر جميع تحديثات المحتوى لأنها تتلقى أصواتًا من WordPress. يقوم هذا النشاط بإنشاء سجل قابل للمراجعة بسهولة لكل تحديث والقدرة على التراجع عن التغييرات باستخدام عمليات GitHub المعتادة.
كان بناء الواجهة الأمامية لهذا الموقع باستخدام مولد الموقع الثابت 11 عامًا سريعًا وممتعًا وعمل بشكل مثالي. نحصل على ارتفاعات كبيرة في حركة المرور على الأخبار المتعلقة بالوباء ومعرفة أن لدينا واجهة أمامية ثابتة تقلل المخاطر عندما تبدأ أعداد المستخدمين المتزامنة في الازدياد وننشر الكثير من تحديثات المحتوى.
يعجبني كيف يركز المجتمع الحادي عشر على الأداء وإمكانية الوصول من خلال قوائم المتصدرين المجتمعية والبنية خفيفة الوزن. من المهم التأكد من أن الأدوات التي تصنعها الدولة تعمل لجميع سكان كاليفورنيا. نريد أن تعمل الأشياء على أي جهاز في ظل ظروف النطاق الترددي المنخفض ودعم جميع التقنيات المساعدة. إنه لأمر رائع أن نتمكن من استخدام أدوات مثل 11ty التي تجعل تقديم مواقع سريعة يسهل الوصول إليها. نستخدم مكونات الويب في الواجهة الأمامية لتوفير ميزات إضافية مع الحفاظ على وزن الرمز صغيرًا.
اعتبارات عند اتخاذ خيارات مقطوعة الرأس
هل أنت متحمس للإمكانيات التي توفرها الأدوات مقطوعة الرأس لفريقك؟ يمكن أن يكون عدد الخيارات المتاحة هائلاً. هذه قائمة من الميزات التي قد تساعدك في تقليل الخيارات:
تأليف ميزات البيئة
- سهولة تأليف المستندات
- سهولة إضافة البيانات المنظمة
- خيارات التخطيط
- معاينة الميزات
- سير عمل الموافقة على المحتوى
ميزات Content API
- ما هي الاستفسارات المتوفرة
- ما مدى دقة بنية المحتوى
- هل هناك أي قيود على الوصول إلى البيانات (حدود ثابتة لـ Airtable REST API)
- قابلية التوسع : هل تحتاج إلى وضع CDN أمام واجهة برمجة تطبيقات المحتوى الخاصة بك
- سهولة إضافة الترجمة
- إخراج المحتوى الخاص بك ، ماذا لو قمت بتغيير خططك ، ما مدى صعوبة استخراج جميع البيانات الخاصة بك؟
يكلف
- هل تدفع لكل مستخدم مقابل الحلول المستضافة؟
- هل تدير برنامجًا مفتوح المصدر تقوم بتثبيته في بيئتك الخاصة؟
- هل حسابات المستخدمين سهلة الإدارة؟
- هل يمكنك التكامل مع حلول تسجيل الدخول الموحد الحالية؟
- هل اجتاز المنتج عمليات تدقيق الأمان ، هل يشمل المصادقة ذات العاملين ؟
التحكم بالمصدر / تدفقات الموافقة
- هل تم تعديل إصدار المحتوى ، بحيث يمكنك الرجوع إلى الإصدارات السابقة وتتبع ما تم نشره وما هي التعديلات التي تم إجراؤها ومتى؟
- هل يمكنك مشاركة إصدارات جديدة من المحتوى قبل نشرها؟ هل يمكنك تقييد الوصول إلى هذه المعاينات؟
إدارة الملفات الثابتة
- ما مدى سهولة قيام مؤلفيك بإضافة صور جديدة وملفات PDF وما إلى ذلك؟
- سهولة ربط ملفات المؤلف التي تم تحميلها في تدفقات تحسين الصورة؟
حيث يتجه مقطوعة الرأس
عندما تنظر عن كثب إلى المشهد بلا رأس ، ستجد أن الأدوات بدون رأس تحد عن قصد من نطاقها الوظيفي وتوفر طرقًا للاندماج في أنظمة أكبر. يعد فك تجميع ميزات محددة مفيدًا عندما تصبح الأنظمة أكثر تعقيدًا. من الأسهل فقط اتخاذ خيارات محددة تحد من التكلفة والأمان والصيانة ومتطلبات الاستضافة ذات آثار التعليمات البرمجية الأكبر عند العمل باستخدام أدوات أصغر ومركزة.
تجدر الإشارة إلى أن الخيارات بدون رأس تتطلب عادةً كتابة بعض التعليمات البرمجية بنفسك. ومع ذلك ، نظرًا لأن الواجهات الأمامية تتكون بشكل متزايد من مجموعة من المكونات المبنية مسبقًا وغالبًا ما يكون تصميمًا جاهزًا بالكامل مليئًا ببياناتك الخاصة ، فلا ينبغي أن يكون من الوقاحة توقع المزيد من الطرق لدمج الأدوات المتخصصة ومطابقتها والدمج بسلاسة خيارات مقطوعة الرأس دون كتابة التعليمات البرمجية بنفسك.
يمكن أن تكون الواجهة الخلفية المثالية لمشروع ما مجرد اشتراك في SAAS أو تثبيت مشروع مفتوح المصدر بعيدًا. قد يتكامل هذا بدون تشفير مع واجهة أمامية جاهزة تلبي جميع احتياجاتك. أرى أن Stackbit يقوم بالفعل بدمج CMS مقطوعة الرأس مع الواجهة الأمامية الخالية من الكود. يمكنني إنشاء موقع جديد باستخدام أداة إنشاء صفحات الشفرة بدون أداة WYSIWYG من Stackbit ، وبعد ذلك يمكنني الاختيار من بين مجموعة من خيارات CMS بدون رؤوس من بائعين مختلفين لإدارة بيانات الموقع بالكامل.
في هذه المقالة ، راجعنا بعض حالات الاستخدام التي ساعدت فيها الشركات التي عملت بلا رأس على التأقلم مع التغيير. تعتبر الاختيارات بلا رأس مغرية سواء كنت مهتمًا بها من أجل مرونة بنية التطبيق أو التحكم في تجربة المستخدم أو التفكير بعناية في طول عمر خدمتك.
أنا متحمس لرؤية كيف تستمر هذه المساحة في النمو وسأستمر في البحث عن طرق لاستخدام هذه الخيارات لتقديم منتجات أفضل وتسهيل عملي كمطور.
مزيد من الموارد
- بدون رأس CMS ، قائمة ممتازة من 85 أداة CMS تسمح لك بالفرز حسب ما إذا كانت تعتمد على GitHub أم لا.
- "كيفية إنشاء موقع WordPress مقطوع الرأس على Jamstack" ، سارة دراسنر وجيف جراهام
- التجارة مقطوعة الرأس ، Shopify
- "GoTrue JS: جلب المصادقة إلى المواقع الثابتة باستخدام 3 كيلوبايت فقط من JS ،" ديفيا ساسيداران ، Netlify
- تجربة التحرير لمواقع Jamstack ، Stackbit
- Wordpress Integration API، CAdotGov، GitHub
تم دعم هذه المقالة من قبل أصدقائنا الأعزاء في Storyblok ، وهو نظام إدارة محتوى سهل الاستخدام بدون رأس مزود بمحرر مرئي ومكونات متداخلة وكتل محتوى قابلة للتخصيص لمواقع الويب والتطبيقات. شكرا لك!