السلام عليكم
بحسب معرفتي فأن كل من الـ CSS3 والجافا سكريبت تستطيع أن تقوم بعمل المؤثرات وحركات الأنميشن في الويب
لكن ما الفرق بينهما ؟ أنا اعلم أن السي أس أس اسرع للمتصفح نوعا ما من الجافا سكريبت
واعلم ايضاً أن الجافا سكريبت تعطيك حرية اكبر التعامل مع العناصر
خبرتي في الجافا سكريبت ضعيفة ، ولكن السؤال ماذا يجب ان اختار في عمل تلك المؤثرات الجميلة التي نراها في مواقع الأنترنت
هل السي اس اس من الممكن أن تغني عن الجافاسكريبت في هذا الشيء ؟
وأيهما افضل أو اسهل وأسرع في العمل ؟
وهل إذا تمكنت من الجافا سكريبت استطيع ان استغني عن عمل الأنميشن مثلاً بالسي أس أس وابقى اتعامل مع الأنميشن بالجافا سكربت فقط ؟
في انتظاركم ....
وعليكم السلام ورحمة الله وبركاته
أخي الكريم، للأجابة على هذا السؤال، بجب الوضع في الحسبان عدة نقاط مهمة قبل الإجابة وهي:
1) هل يقصد بالجافا سكربت (الجافا سكربت نفسها أم بوجود مكاتب أخرى مثل jQuery)
2) ال animation المطلوب onshot أو أكثر .. (يعني بتنفذ ال animation وبنتهي مثل عملية ال slidedown ..)
3) ماذا عن التحكم في ال animation ؟ وتتبعه ؟
4) ماذا عن ال 3D animation؟
5) ماذا عن التعقيد الخاص بالشيفرة البرمجية ؟
جميع هذه الأسئلة وغيرها يجب أن ترتبط بذهننا قبل طرح أي إجابة، وسأحوال بإذن الله تعالى أن أقدم اجابة مختصرة قدر الإمكان حول الموضوع:
أولا سأتحدث هنا عن الجافا سكربت pure (نفسها) دون أخذ المكتبة وذلك لأن استخدام مكتبة مثل ال jQuery سهل ويقلل من تعقيد الشيفرة البرمجية لكنه من ناحية الأداء performance أقل ..x10 تقريبا أبطئ من الجافا سكربت ..
في حالة ال on-shot animation استخدم ال css، مثل استخدام لعمل حركة لل slide menu أو tooltip ..
وفي حالة ال وجود complex animation أو multi-step animation استخدم الجافا سكربت مثل الألعاب أو حركات ال start - stop - puse .. الخ
في حالة وجود ئ 3D animation أو complex animation مع أدوات تحكم، فإن الأداء أفضل للجافا سكربت من حيث السرعة والقدرة على التحكم، لكن بذات الوقت، الشيفرة البرمجية الخاصية بالجافا سكربت أكثر تعقيدا منها لل css ...
الجافا سكربت طريقة عمله يتم على العنصر في كل حركة أو جزئية من جزيئاته بحيث يمكن التحكم ووقف وتغيير التنسيق وسرعة التنفيذ والتحكم بالعنصر ك object في أي مرحلة أو جزئية ترغب بهذا، وهذا لا يوفره ال css بدون الجافا سكربت ...
المحصلة لا تعني بأن css animation سيئة، بل العكس هي جيدة وجميلة في موقعها on-shot .. لكن مميزات الجافا سكربت تتخطاها في غير هذه الحالة والملخص يقول :
JS animations are much more flexible and compatible.CSS is good, but JavaScript is the best
أتمنى أن تكون الإجابة مفيدة.
أخوك أنيس أبو حميد.
التعليقات