سؤال

لدي شك:- هل هناك أي قياسي/اتفاقية أنه متى يجب أن أستخدم "Templating Smarty" ومتى يجب أن أستخدم مكالمات JavaScript Ajax لإنتاج المحتوى؟يمكنني استخدام مكالمات Ajax/Javascript لإنتاج المحتوى ديناميكيًا.

يستخدم تطبيقي كلاً من Ajax و ذكي, لكني أريد أن أضع قاعدة للمطورين

هل كانت مفيدة؟

المحلول

يجب استخدم مكالمات AJAX فقط لتحميل البيانات الديناميكية غير المعروفة في لحظة تحميل الصفحة.على سبيل المثال، عند النقر فوق رابط "التعليقات" لسؤال/إجابة معينة في Stack Overflow، يتم إجراء استدعاء AJAX لتحميل البيانات ديناميكيًا.وهذا نتيجة قيام المستخدم بالنقر فوق رابط التعليقات، وليس نتيجة تحميل الصفحة.أنت لا تعلم أنه يجب عليك إظهار تلك التعليقات في وقت تحميل الصفحة، لذلك من المناسب إجراء استدعاء AJAX في هذه الحالة.

يجب استخدم القالب لإظهار أي بيانات معروفة لحظة تحميل الصفحة.إنه يجعل من السهل التعامل مع الأشخاص الذين تم تعطيل Javascript لديهم (أعلم، ليس كثيرًا)، ويوفر فصلًا واضحًا بين المنطق والعرض التقديمي.هناك فائدة أخرى مهمة لاستخدام القوالب وهي حقيقة أنها يمكن أن تقلل بشكل كبير من عدد طلبات HTTP التي يتم إجراؤها من متصفح العميل.

وهذا مهم بشكل خاص في عالم تصفح الأجهزة المحمولة حيث يمثل زمن الوصول، وليس النطاق الترددي، أكبر عائق أمامك.في متصفح Safari على الهاتف المحمول، على سبيل المثال، سيتم تحميل طلب HTTP واحد إلى صفحة ذات قالب Smarty بشكل أسرع بكثير من طلب تحميل صفحة ذات قالب Javascript الذي يقدم خمسة أو ستة طلبات HTTP إضافية.وينطبق هذا بشكل خاص عند استخدام EDGE و3G وخدمات بيانات الهاتف المحمول الأخرى التي لا تدعم شبكة WiFi.في الواقع، هذا مهم جدًا لدرجة أنه يمثل المبدأ التوجيهي الأول في Yahoo أفضل الممارسات لتسريع موقع الويب الخاص بك.

ومن الناحية المثالية، يجب عليك أيضا قم بتخفيض الوظائف بأمان عند تعطيل Javascript.وخير مثال على ذلك هو مربع البحث الذي يتم الإكمال التلقائي له.من الرائع حقًا أن تظهر مصطلحات البحث المقترحة بطريقة سحرية أثناء الكتابة، ولكن إذا قمت بإيقاف تشغيل Javascript، فلا يزال لديك مربع بحث فعال.هذا مثال كلاسيكي على التدهور الجيد في الخدمة.يقوم Stack Overflow عمومًا بعمل رائع في توفير تجربة قوية لا تعتمد على جافا سكريبت.مكان واحد يقصر فيه هو في التعليقات.عند تعطيل Javascript، يتم عرض التعليقات الأكثر شيوعًا فقط، ويتم تعطيل نشر التعليقات الجديدة.

ما لم يكن ذلك ضروريا للغاية، يجب أن تفكر في Javascript كميزة إضافية قد لا تكون ممكّنة، وليس كشيء يجب استخدامه لإنشاء أجزاء مهمة من موقع الويب الخاص بك.من الواضح أن هناك استثناءات (بعض الأشياء لا يمكن القيام بها بدون جافا سكريبت).ستلاحظ، على سبيل المثال، أن Stack Overflow قابل للاستخدام للغاية مع إيقاف تشغيل Javascript.لن تحصل على التحديثات في الوقت الفعلي عند نشر إجابات جديدة، أو معاينات Markdown الفاخرة في الوقت الفعلي، ولكن الوظيفة الأساسية لا تزال موجودة.تتم كل "الأعمال الثقيلة" باستخدام HTML وCSS.جافا سكريبت هي مجرد زينة (زينة جيدة جدًا) على الكعكة.هذا نوع من الملاحظة الجانبية، لكن من المهم ذكره.

نصائح أخرى

وربما يعتمد على أي نوع من العمل الذي تقومون به في القوالب الخاصة بك. شخصيا، أنا أكره تفعل الكثير من الطراز الثقيل / الاشياء التخطيط بدقة في جافا سكريبت. إذا كان يمكنك تحميل الجزء الأكبر من التخطيط الخاص بك عن طريق. هندى ومجرد تغيير بت معينة من البيانات (فقط على بيانات ، أو ليس الترميز / النمط، إذا كان ذلك ممكنا) التي قد يكون مكانا جيدا للبدء مع لتوحيد ضمن فريق التطوير الخاص بها.

واستخدام القوالب لتوليد من جانب الخادم وDHTML / AJAX عن أي شيء بعد تحميل الصفحة الأصلي (لا تستخدم التحديث). حتى ذلك الحين، استجابة الملقم لAJAX تدعو نفسها يمكن تجميعها مع قالب، والتي قد تعمل على أفضل وجه عن أي محتوى غير تافهة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top