هل أصبحت البرمجة بناء على مكتبات جافاسكريبت الجاهزة أمثال jQuery وغيرها بديلاً لا غنى عنه عن الكتابة بلغة جافاسكريبت الطبيعية؟
هل تعتقد أن عهد البرمجة بلغة جافاسكريبت الخــــام قد ولى؟
ليس موضوع ولى لغة جافاسكربت لازالت موجودة والمكتبات الاخرى هي ادوات مساعدة
فلايوجد غنى عن استعمال ادوات مساعدة ليس فقط في JS بل في جميع اللغات ظهرت منصات العمل frameworks وحتى في الـ css ايضاً
دائماً تحتاج لادوات لتسريع الانتاجية فاستخدامك لمكتبة كـ jquery يوفر لك الكثير من الجهد لانه يتم تطويرها من قبل عدد كبير من نخبة المبرمجين ومنذ زمن طويل ويتم اختبارها من قبل مبرمجين بالالاف بالاضافة الى الـ plugins
نفس الموضوع ينطبق على منصات العمل و الـ cms الجاهزة ووو..
الهدف دائماً هو تحسين الإنتاجية
أظن أن مفهوم الــjQuery يغني عن هذا الخلاف بين أنصار القديم و الجديد، "Write less .. Do more"، أظن أن هذا أكبر سبب يدفعني لاستعمال المكتبة بدل اللغة الأصلية
و أذكر أني مرة حاولت محاكاة تأثير Slide بالجافاسكريبت و نجحت و طرحة في منتديات ستار تايمز، لكن ما هي النتيجة ؟
كود طويل، غير مفهوم للكثير، جهد أكبر، و في النهاية أستطيع بنصف سطر فعل نفس التأثير و بخصائص أفضل..
كل هذا له تفسير واحد: "أكتب أقل .. إفعل أكثر" و هو مبدأ الــjQuery ..
حياكم الله.
ليست القضية أنه قد ولى، و لكن لم العناء؟ هذه المكتبات لن تجعل موقعك غير قابل للاستخدام أو ما شابه.
و لكن من الذي يحتاج للكتابة من الصفر؟ مثلها مثل أي لغة أخرى.
هل هنالك أي برنامج قوي في العالم لا يستعمل مكتبة جاهزة؟ و لم تم اختراع المكتبات في الأساس؟
كنت افكر من قبل بنفس طريقتك ولكن اعتقد ان هذا فيه شيء من الأنانية
لو اردنا ان نبرمج موقعا ما مثلا 100%
لنخترع لغة برمجية مثل "بي اتش بي" وتكون مبنية على لغة غير "سي" وتكون على لغة غير "لغة الألة" وبهذا نستطيع ان نقول اننا برمجنا شيئا من الصفر
ولا ننسى العتاد يجب تصنيعه من ايدينا والكهرباء ايضا...
انا اخاطب نفسي قبل اي احد اخر وللأسف هذه الأفكار كانت تجول في ذهني
الحل هو استخدم المتاح امامك ولا ضير ان برمجت او طورت مكتبة او لغة تضاهي ما هو موجود.
الأمر يعتمد أخي البشيري.
أنا أشبه البرمجة بالرسم بإستخدام الفسيفساء، لو كانت قطع الفسيفساء صغيرة جدا ستكون الصورة جميلة جدا شرط أن تكون محترف.
و إن كانت قطع الفسيفساء كبيرة بعض الشيء و تحتوي على قطع صغيرة مركبة منها هذه الكبيرة مكونة رسمات جاهزة فالصورة التي يتكون ستكون جميلة بعض الشيء و ستخرج قليلا عن الصورة التي كونتها في رأسك كونك إستعنت مثلا بصورة شجرة جاهزة و صورة طريق جاهزة.
دائما أفكر في هذا المثال و صراحة لا أرى فرقا بينه و بين البرمجة بأي وجه حتى لو أطلت التفكير في جوانب أخرى فيه.
jQuery ممكن نستخدمها لزيادة الانتاجية والسرعة ... انما جافاسكريبت لازم نتعلمها مش بس عشان نبقى فاهمين ايه اللى بيحصل انما كمان عشان فى مشاريع ماينفعش نستخدم مكتبات جاهزة ... زي مثلا لو عايز تعمل لعبة تشتغل على canvas هتضطر انك تستخدم جافا سكربت عشان تبنى الكائنات بتاعت اللعبة والمحرك والاظهار والاستجابة للاحداث ... يمكن برده هتحتاج مكتبات تساعدك زي Box2D بس المكتبات مش بتقدم كل حاجة, عشان كدة لو عايز تبرمج اي موقع ويب او تطبيق ويب أو لعبة على المتصفح أو أو أو لازم تعرف جافاسكربت كويس لأن وقتها امكانياتك هيبقى حدودها هى خيالك وقدرتك على تحويل خيالك ده لكود.
قصدى هو ان المكتبات بتحدك بحدودها ... انما جافاسكربت حدودها اوسع من اي مكتبة بكتير وبالتالى حدودك هتبقى اوسع برده من أي مكتبة.
أعتقد إن عهدها قد ولى في بناء التطبيقات الضخمة والألعاب التي تعتمد على تقنيات الويب، لذلك يلجأ المطورون إلى إستخدام اللغات التي تستخدم مترجمات (Compilers) من نوع Source to Source والتي تتجسد في CoffeScript و TypeScript ويمكنك الإطلاع أكثر من هذه الروابط:
لن تغنيك المكتبات الجاهزة عن تعلم لغة الجافاسكريبت، فهي ستسهل عليك فهم الكود وسترفع من إنتاجيتك وتجعلك تبرمج حلولا جيدة لمشاريعك، لن تندم إذا استثمرت بعضاً من وقتك في تعلمها فهي لغة سهلة وستستمتع بالعمل عليها.
ملحوظة: الجافاسكريبت تختلف عن لغات مثل #C و PHP في عدة جوانب أهمها البرمجة كائنية التوجه، لذا يجب تعلمها كلغة مستقلة دون الاعتماد على معرفة لغة شبيهة بها.
والسلام ختام :)
التعليقات