لماذا تتطلب منتديات Discourse جافاسكريبت؟

لماذا تتطلب هذه المنتديات جافاسكريبت؟ لا يبدو أن المنتديات الأخرى تعمل بدونه.

إعجاب واحد (1)

لأن Discourse هو في الأساس جافاسكريبت خالص. إذا أزلت جافاسكريبت، فلن يتبقى شيء :wink:

حل تقني مختلف، لا شيء آخر.

3 إعجابات

إنه ببساطة الطريقة التي تم بها بناؤه. لا “يحتاج” ديسكورس إلى جافاسكريبت فحسب، بل هو تطبيق جافاسكريبت يتم تحميله بالكامل في متصفحك، ويستخدم هذا التطبيق واجهة برمجة التطبيقات (API) لتحميل البيانات من قاعدة بيانات الخادم.


كان @Jagster أسرع. أيضًا، قد يكون شرحي غامضًا بعض الشيء، لكنني متأكد من وجود خبراء هنا سيكونون قادرين على شرحه بشكل أفضل!

5 إعجابات

هذا يستحق بعض التفصيل.

للبدء:

:thinking: :eyes: GitHub - discourse/discourse: A platform for community discussion. Free, open, simple.

Discourse هو في الواقع في الغالب Ruby on Rails، و (وفقًا لـ GitHub) ربعه فقط هو جافاسكريبت، على الرغم من أنه ربع حاسم للغاية ويهيمن على جانب العميل.

الأسباب التي تجعل Discourse والمواقع/تطبيقات الويب الحديثة الأخرى تستخدم جافاسكريبت هي:

  • عبء العمل: يخفف العبء عن الخادم الكثير من العمل، لذا يساعد الموقع على التوسع بشكل أفضل (مرحبًا، اجعل جهاز المستخدم يشارك في بعض العمل، لماذا لا؟!)
  • عرض النطاق الترددي: على الرغم من أن التحميل الأولي قد يكون أطول قليلاً لجلب جافاسكريبت، إلا أن التحميل البيني للبيانات من ثم يكون أسرع بكثير باستخدام عرض نطاق ترددي أقل بكثير (إذا فقد العالم جافاسكريبت غدًا، فربما يتوقف الإنترنت عن العمل؟)، لأنك تحتاج فقط إلى نقل البيانات وليس كل العلامات والتخطيط لجميع واجهات المستخدم. لذا فإن الأشياء تتم عبر الويب بشكل أسرع بكثير وتمكّن اتصالات عرض النطاق الترددي المنخفض مثل اتصالات الهاتف المحمول السيئة.
  • واجهة المستخدم: يحسن الطبيعة الديناميكية لواجهة المستخدم، لذا تكون تجربة المستخدم أفضل (على سبيل المثال، انقر فوق زر لتحديث جزء فقط من الشاشة - لا توجد عمليات إعادة رسم كبيرة للمتصفح).
  • إنها معيار: جافاسكريبت هي معيار في جميع المتصفحات الحديثة، بما في ذلك الهواتف المحمولة، لذا فهي تكتب مرة واحدة وتجلب صفات تشبه التطبيق لغالبية الأجهزة.
  • فصل الاهتمامات: يفصل عمليات الخادم عن القلق بشأن عرض واجهة المستخدم (عادةً) بحيث يسهل الترحيل إلى أو دعم الواجهات الأمامية الأخرى التي قد لا تكون قائمة على جافاسكريبت (أو حتى HTML). تطبيق iOS، أي شخص؟

أنا متأكد من وجود العديد من المزايا الأخرى، ولكن هذه هي الأساسيات.

12 إعجابًا

من جانب العميل وبالنسبة للمستخدم النهائي، إنه مجرد جافا سكريبت، أو يبدو كذلك، أليس كذلك؟

3 إعجابات