عن عيوب جافا سكريبت
لفترة طويلة. الشيء الأكثر إزعاجًا في التطوير هو كود جافا سكريبت. لذلك سأتحدث اليوم عن عيوب جافا سكريبت.
دعونا نتحدث عن بعض القضايا الأساسية أولا.
1: التوافق المنخفض
هناك العديد من المتصفحات على شبكة الإنترنت، مثل Netscape Navigator وMosaic وHotJava وما إلى ذلك، ولكن كل متصفح يدعم JavaScript إلى حد مختلف، وتحتاج المتصفحات التي تدعم JavaScript إلى التصفح متصفح به عند استخدام برامج JavaScript النصية على الصفحة الرئيسية، ستكون هناك فجوة معينة في التأثير، وفي بعض الأحيان قد لا يتم عرضها.
ونتيجة لذلك، غالبًا ما يحتاج مطورو JavaScript إلى تطوير إصدارات مختلفة لمتصفحات مختلفة. لقد زاد عبء العمل تقريبًا، وهو في الأساس عمل متكرر. وهذا ما لا نريد أن نراه
2: يسبب تسرب الذاكرة
JavaScript هي لغة إدارة الذاكرة. وهذا يعني أن جافا سكريبت لديها إمكانات تجميع الحزم المضمنة، حتى تتمكن من استخراج المتغيرات التي لم تعد تستخدم من قبل المسارات المرجعية وإعادة تخصيص الذاكرة المستخدمة من قبل هذه المتغيرات.
يعد هذا أمرًا جيدًا كمبدأ عمل أساسي، ولكن بسبب هذه المراجع الدائرية عندما تشير كائنات النموذج وعناصر العرض إلى بعضها البعض، لا يمكنك الاعتماد على هذه الميزة لتحسين استخدام الذاكرة. من حيث المبدأ، إذا كان الكائن صفرًا، فإن العنصر يكون صفرًا، ولكن إذا كانت هناك مراجع خلفية من العناصر إلى الكائنات، فلن يلمس مجمع الحزم هذه الكائنات.
الآن، تظهر المشكلة: في نموذج كائن الملف، قد تتم الإشارة إلى أي عقدة DOM في شجرة الملفات بواسطة عناصر أخرى في الشجرة، بغض النظر عما إذا كان قد تمت الإشارة إليها بواسطة كائنات أخرى! لذلك، يجب أن يكون أي كائن تم وضع علامة عليه في مجمع الحزم والذي يتم الرجوع إليه للخلف بواسطة عقدة DOM فارغًا في هذا الاتجاه، وإلا ستبقى ذاكرته في الحالة المخصصة. في الواقع، غالبًا ما يتجاهل المبرمجون هذا الأمر. وهذا هو السبب وراء زيادة ذاكرة العديد من ألعاب الويب واسعة النطاق بسرعة بعد فتحها.
3: لا يوجد دعم لتدفق الوسائط
، يمكنك فقط استخدام طريقة تضمين اللاعبين الآخرين.
هدف التصميم الأصلي لجافا سكريبت هو "جعل صفحات الويب تتحرك". لقد تم تحقيق ذلك، وتحققت بعض الإنجازات. ومع ذلك، "التحرك" هو مجرد "التحرك"، وهذا لا يكفي. عندما تواجه جافا سكريبت تطبيقًا غنيًا، فإنها تكون عاجزة إلى حد ما.
الآن، إذا كنت تريد مناقشة تطوير جافا سكريبت، فلا يجب أن تقتصر على جافا سكريبت، ولكن يجب أن تفكر في HTML (DHTML)، وDOM، وJavascript، وCSS معًا. فكر في الأمر من منظور تطبيق المتصفح (سامحني على اختراع كلمة "تطبيق المتصفح").