حتى نفهم الJAMStack. يجب أن نوضح نقاط أساسية في البداية.
1) هنالك نوعين لصفحات الويب
صفحات Dynamic وهي الصفحات التي تجلب معلوماتها من السيرفر في كل مرة تنادي فيها الصفحة
صفحات Static وهي الصفحات التي تحتوي على جميع معلوماتها داخل الصفحة نفسها من دون الحاجة للربط مع أي سيرفر
1) هنالك نوعين لصفحات الويب
صفحات Dynamic وهي الصفحات التي تجلب معلوماتها من السيرفر في كل مرة تنادي فيها الصفحة
صفحات Static وهي الصفحات التي تحتوي على جميع معلوماتها داخل الصفحة نفسها من دون الحاجة للربط مع أي سيرفر
النقطة الأخيرة وهي
مع ان الDynamic هو الحل الأفضل لتطوير المواقع لسهولة اضافة وتعديل المحتوى الا ان هنالك بعض المشاكل يجواهها أصحاب المواقع والمطورين عند استخدامهم حلول الDynamic
سنذكر أهمها 👇
مع ان الDynamic هو الحل الأفضل لتطوير المواقع لسهولة اضافة وتعديل المحتوى الا ان هنالك بعض المشاكل يجواهها أصحاب المواقع والمطورين عند استخدامهم حلول الDynamic
سنذكر أهمها 👇
مشاكل مواقع الDynamic:
1) بطئ تحميل الصفحات
2) تحتوي على الكثير من الثغرات الأمنية التي يمكن استغلالها
3) تطويرها يعتبر معقد نسبياً
4) غير فعالة في الSEO لأن الصفحات لا تحتوي على المحتوى وانما هي صفحة فارغة من المحتوى و عند منادتها تستدعي المعلومات من السيرفر
1) بطئ تحميل الصفحات
2) تحتوي على الكثير من الثغرات الأمنية التي يمكن استغلالها
3) تطويرها يعتبر معقد نسبياً
4) غير فعالة في الSEO لأن الصفحات لا تحتوي على المحتوى وانما هي صفحة فارغة من المحتوى و عند منادتها تستدعي المعلومات من السيرفر
خطوات عمل موقع JAMStack
1) نقوم ببناء templates لصفحات الموقع مثلا الصفحة الرئيسية، صفحة قائمة المقالات وصفحة المقالات
2) ثم نقوم باستخدام headless cms لانشاء المحتوى
3) في النهاية نستعمل static site generator لجلب جميع البيانات من الcms ثم نبني صفحات html منهم جاهزة للرفع.
1) نقوم ببناء templates لصفحات الموقع مثلا الصفحة الرئيسية، صفحة قائمة المقالات وصفحة المقالات
2) ثم نقوم باستخدام headless cms لانشاء المحتوى
3) في النهاية نستعمل static site generator لجلب جميع البيانات من الcms ثم نبني صفحات html منهم جاهزة للرفع.
في الشكل الطبيعي لمواقع الdynamic. سيتكون موقعك من التالي:
-index.php
-blog.php
-post.php
في الJAMStack ستكون النتيجة التالية
-index.html
-blog.html
-post1.html
-post2.html
-post3.html
... وهكذا
وفي كل مرة تضيف مقالة جديدة يجب أن تبني موقعك مرة أخرى.
-index.php
-blog.php
-post.php
في الJAMStack ستكون النتيجة التالية
-index.html
-blog.html
-post1.html
-post2.html
-post3.html
... وهكذا
وفي كل مرة تضيف مقالة جديدة يجب أن تبني موقعك مرة أخرى.
ما الفائدة التي حصلنا عليها؟
1) استطعنا بناء موقع بسهولة جدا ويمكن تحديث معلوماته من دون تعديل الكود
2) الموقع فقط html يعني سرعة تحميل سريعة جدا
3) وبما انه فقط html يعني أن محركات البحث ستجده بسهولة
4) الموقع نستطيع رفعه على سيرفرات CDN وهي سيرفرات سريعة جدا.
1) استطعنا بناء موقع بسهولة جدا ويمكن تحديث معلوماته من دون تعديل الكود
2) الموقع فقط html يعني سرعة تحميل سريعة جدا
3) وبما انه فقط html يعني أن محركات البحث ستجده بسهولة
4) الموقع نستطيع رفعه على سيرفرات CDN وهي سيرفرات سريعة جدا.
أهم المصادر والأدوات التي تحتاجها لبناء موقع JAMStack
1) Static Site Generator
وانا انصح ب gatsby.com و nextjs.org
2) Headless CMS
وانا انصح ب strapi.io و contentful.com
3) CDN
وانا انصح بnetlify.com
1) Static Site Generator
وانا انصح ب gatsby.com و nextjs.org
2) Headless CMS
وانا انصح ب strapi.io و contentful.com
3) CDN
وانا انصح بnetlify.com
من المواقع التي طورتها بنفسي في السابق باستخدام الJAMStack
ugaritpublishing.com
تم تطوريها باستخدام gatsby + Drupal
ugaritpublishing.com
تم تطوريها باستخدام gatsby + Drupal
من المواقع المشهورة التي تستدخم JAMStack
1) leagueoflegends.com
2) figma.com
3) digitalocean.com
4) reactjs.org
5) freecodecamp.org
1) leagueoflegends.com
2) figma.com
3) digitalocean.com
4) reactjs.org
5) freecodecamp.org
في النهاية، أعتذر لكم على الإطالة لكن لم استطع أن اختصر أكثر و أشرح كل ما هو مهم بنفس الوقت.
شكرا لكل شخص قرأ الthread بالكامل و اتمنى أن يكون قد استدفتم منه و قد نال اعجابكم
لا تنسو تعملو retweet لتعم الفائدة للجميع
لا تتردو في طرح الأسئلة و التعليقات 👇
شكرا لكل شخص قرأ الthread بالكامل و اتمنى أن يكون قد استدفتم منه و قد نال اعجابكم
لا تنسو تعملو retweet لتعم الفائدة للجميع
لا تتردو في طرح الأسئلة و التعليقات 👇
جاري تحميل الاقتراحات...