اذهب إلى المحتوى
  • 0

هل توليد كود HTML بواسطة Vanilla Javascript ممارسة جيدة؟

مصطفى اوريك

السؤال

السلام عليكم.

يتم إنشاء عنصر HTML واحد في الصفحة, ثم باقي الكود يتم توليده عبر فانيلا جافا سكريبت, كمثال:

<div class="root">
// الكود هنا يتم توليده بجافا سكريبت
</div>

هل هذه الممارسة تعتبر من الممارسات الجيدة أم لا؟

أعلم أن أطر العمل تستخدم هذه الممارسة, لكن ماذا عن استخدامها خارج هذه الأطر

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

وعليكم السلام 

في البداية ان استخدام توليد اكواد الجافا سكريبت بطريقة ديناميكية له العديد من المميزات ولكن كثرتها وعدم استخدامها بشكل صحيح قد يولد العديد من المشاكل كمان ان كثرة استخدامها ممكن ان يسبب بطئ في عملية تحميل الصفحة والان دعني اعطيك اهم ايجابيات وسلبيات استخدامها 

الايجابيات :

  •  يمكن استخدام التوليد الديناميكي لإنشاء تجارب مستخدم متفاعلة وديناميكية.
  • يمكن تجنب تحميل محتوى غير ضروري مما يقلل من وقت تحميل الصفحة وبالتالي سرعة في تحميل الصفحة.
  • يمكن استخدام التوليد الديناميكي لتحميل البيانات من الخوادم بشكل ديناميكي دون إعادة تحميل الصفحة.
  • يمكن تحديث المحتوى والتعديل عليه بسهولة من دون الحاجة إلى تغييرات في الصفحة الأساسية.

السلبيات :

  • قد يؤدي استخدام التوليد الديناميكي للمحتوى إلى زيادة في وقت تحميل الصفحة وتأخير في عرض المحتوى.
  • قد تواجه مشاكل في التوافق مع بعض المتصفحات القديمة أو المتصفحات التي لا تدعم بعض ميزات JavaScript الحديثة.
  •  قد تكون التجارب المتعددة المستخدمة في التوليد الديناميكي معقدة وصعبة الفهم لبعض المستخدمين.
  •  قد تحتاج إلى تحميل مكتبات JavaScript إضافية لدعم التوليد الديناميكي، مما يزيد من حجم الموارد المطلوبة للصفحة.

لذلك ان استخدام التوليد الديناميكي للمحتوى بواسطة JavaScript يمكن أن يكون أداة قوية لتحسين تجربة المستخدم وتحسين أداء الموقع، ولكن يجب استخدامها بحكمة وفقًا لاحتياجات المشروع وظروفه.

بالتوفيق لك 

تم التعديل في بواسطة Najah Alsaker
تنسيقات
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

لا مشكلة في ذلك، فبتلك الآلية تعمل مكتبة React، لكن يجب أن تكون على دراية بما تفعله، فمكتبة مثل React تم تطويرها على مدار سنوات وإختبارها في كافة أنواع المشاريع وبمختلف الأحجام والتعقيد.

لذا بشكل صريح مهما فعلت لن تصل لنفس الجودة والأداء لمكتبة أو إطار تم تطويره واستخدامه على مدار سنوات.

لذا من الأفضل أن تستخدم مكتبة React أو أحد الإطارات الأخرى الخاصة بالواجهة الأمامية مثل Angular و Vue.js.

وإذا كان أمر الـ SEO مهم بالنسبة لك إذن استخدم NEXT.JS.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

وعليكم السلام ورحمة الله وبركاته.

هذه الطريقة ليست جيدة و تحتوى على كثير من المشاكل .

اولا بالنسبة للارشفة ومواقع البحث SEO فان هذه الطريقة ليست جيدة لانها تعتمد على المتصفح الخاص بالمستخدم ومواقع البحث لا تقوم بفتح الموقع ولكن تكتفى بالرد الذى ياتى من الخادم وبذلك فانها سترى ان محتوى الصفحة هو div فارغ .

ثانيا بالنسبة لسرعة التنفيذ فان هذه الطريقة ستسبب بطئ شديد اذا تم استخدامها بطريقة خاطئة فان كنت تستعمل فانيلا جافا سكريبت للتعامل مع ال DOM مباشرة فان حذف عنصر او اضافة عنصر او حتى تعديله فانه سيتسبب فى اعادة بناء ال DOM  من جديد واذا كان محتوى الصفحة كبير فان تكلفة اعادة البناء عالية وستزعج المستخدم حيث سيلاحظ بطئ التصفح على الموقع .

واطر العمل تعتمد على Virtual DOM وهى اسرع من ال DOM .

وايضا من الممكن ان تسبب ثغرات فى الموقع اذا كان الكود كبير ومعقد واذا حدث خطأ فليس من السهل تصحيحه.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...