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