11
أبريل
2021
جام ستاك Jamstack تعريفه والفائدة من استخدام تقنياته
يستطيع المطور من خلال استخدام تقنية الـ جام ستاك Jamstack ولغة جافاسكربت وأُطر عملها المختلفة أن يبني مواقع وتطبيقات ويب بمتعة أكبر وكفاءة أعلى وتكلفة أقل..
التعريف
الجام ستاك (Jamstack) باختصار هي طريقة لبناء المواقع تهدف لتوفير تجربة جيدة للمطورين مع رفع كفاءة المواقع وزيادة مستوى الأمان فيها وتخفيض تكاليفها، وذلك اعتمادًا على ثلاثة تقنيات هي، لغة جافاسكربت Javascript للبرمجة، وواجهة برمجة التطبيقات API ولغة توصيف النص Markup، وبجمع الأحرف الأولى من هذه المكونات الثلاثة تنتج كلمة JAM.
آلية العمل
عند الحديث عن تطوير الويب يتكرر مصطلحا طرف الخادم Server-side وطرف العميل Client-side، ويعبّر هذين المصطلحين عن المكان الذي تتم فيه معالجة الكود البرمجي الخاص بالويب وتطبيقاته. وفي حالة الجام ستاك Jamstack فإن العمليات الديناميكية تتم في طرف العميل على خلاف المعتاد في المواقع التقليدية حيث تتم معالجة هذا النوع من العمليات في طرف الخادم.
إلى جانب ما سبق فإن دور طرف الخادم عند استخدام تقنية الجام ستاك يتمثّل في بناء صفحات الموقع مسبقًا بحيث تكون الصفحات المتوفرة لطرف العميل Client-side هي الصفحات بالمحتوى النهائي دون الحاجة للحصول على معلوماتها أو محتواها من طرف الخادم أثناء عملية التصفح وذلك يختلف عن دور طرف الخادم في المواقع التقليدية حيث يستمر في تزويد طرف العميل بمحتوى الصفحة أثناء عملية التصفح.
وتتم العمليات الديناميكية باستخدام لغة جافاسكربت أو أي أطر العمل المبنية عليها، مثال على ذلك React و Vue و Svelte.
أما بالنسبة لأي تفاعلات مطلوبة مع طرف الخادم بعد عملية بناء الصفحات فإن ذلك يتم باستخدام واجهة برمجة التطبيقات أو ما يُعرف بالـAPI
وأخيرًا يتم أنشاء قوالب الصفحات ومحتواها باستخدام اللغة الوصفية Markup، والتي يتم تحويلها إلى صفحات جاهزة باستخدام مولدات مواقع الويب الثابتة Static Site Genratores (SSG) مثل Gatsby, Next, Nuxt وغيرها.
فوائد استخدام الجام ستاك Jamstack
السرعة
لأن الموقع المبني بتقنية جام ستاك لا يرتبط مباشرة بقواعد البيانات، ولا يقوم طرف الخادم بتهيئة قوالب الصفحات أثناء عملية التصفح وأنما يتم بناء الصفحات بشكل مسبق فإن هذا يقلل الاعتماد على طرف الخادم Server-side ويجعل الموقع أكثر سرعة في أدائه.
الأمان
بسبب عدم وجود حاجة في الارتباط بقواعد البيانات مباشرة فإن الموقع المبني بتقنية جام ستاك يتميز بأمان عالٍ، إذ يصعب اختراقه، فلا يمكن للمخترق أن يقوم بعمليات اختراق كعملية حقن قواعد البيانات SQL Injection طالما وأنه لا توجد قواعد بيانات خاصة بالمواقع، فكل ما يوجد هي ملفات HTML ثابتة غير ديناميكية.
التكلفة
بسبب عدم وجود قواعد بيانات، أو معالجة أو جلب مستمر لها من طرف الخادم فإن الموقع المبني بتقنية جام ستاك منخفض التكلفة ولا يتطلّب نفقات مرتفعة لتغطية احتياجاته.
تجربة المطور
بالنسبة لمطور الموقع فإن الموقع المبني بتقنية جام ستاك يتميز بسهولة كبيرة من حيث ارتباط معظم التطوير بجانب الواجهات أو الـ Front-end، فلا توجد حاجة كبيرة للاستغراق في مشاكل الخادم أو العمليات التي تتم عليه.
قابلية التوسع
كما ذكرنا عند الحديث عن التكلفة فإن ذلك ينطبق إيضًا على قابلية التوسع حيث لا تستلزم مواقع الجام ستاك الكثير من التكاليف للتوسع لعدم وجود جهد كبير على طرف الخادم مثل المواقع التقليدية.
الصيانة
لأن التعامل مع طرف الخادم Server-side يعتبر محدودًا وربما منعدم، فإن عناء صيانة الخوادم يقل بشكل كبير، وربما لا تكون هنالك حاجة لذلك إطلاقًا..!
أمثلة لمواقع تستخدم تقنية الجام ستاك
- موقع Freecodecamp.
- موقع Louis Vuitton.
- موقع بودكاست برميم.
- مدونتي 😃 مدونة بندر.
ختامًا..
بمجرد الدخول في عالم جام ستاك Jamstack ستشعر بمتعة مختلفة للتطوير، وتركيز كبير على تحسين واجهات الويب وتطبيقاته استخدامًا وشكلاً، للمزيد عن هذا الموضوع اطلع على موقع jamstack.org.