كون الـ Frameworks تعطي اشياء جاهزة، هل تنصح المبتديء ان يبتعد عنها في بداية مسيرته؟
هل توافق هذا الرأي: على المبتديء ان لا يستخدم Frameworks من بداية مسيرته؟
الـ Frameworks تستخدم مفاهيم متقدمة صعب ان يستوعبها المبتدئ ويفهمها بشكل جيد مثل الـ OOP والـ Design Pattern مثل MVC
لا بد من معرفة أساسيات الألغوريثم، ثم أساسيات اللغة المستعملة قبل الشروع في استعمال الفريموورك.
كيف تستعمل jQuery وأنت لا تعلم Javascript.
كيف تستعمل Laravel وأنت لا تعلم PHP.
كيف تستعمل RoR وأنت لا تعلم Ruby.
...
زد على هذا أنك سوف تكون مضطرا في حياتك العملية إلى العمل باللغة مباشرة، فلا تكن سجين الفريموورك وتسلح الأساسيات، حتى إذا مات الفريموورك المفضل عندك لا يضرك الأمر كثيرا...
قد يكون من متطلبات المشروع، متطلّب لم يسبق لمبرمج عملة، لذا قد لاتكفيه اللغة نفسها ايضا.
كذلك في أطر العمل امور لاتحتاجها في بناء مشروعك فلا داعي أن تكون محمّلة مع ملفات المشروع بلا دواع استخدام
انا انصح باستخدام الفريم ورك للمبتدئين لان باستخدام للفريم ورك سيكون المبتدئ باحتكاكه مع البرمجة الفعلية و ستساعده على تطوير رؤيته للبرمجة كرؤية كيف يتم تقسيم المشروع الى Model - View - Controller و بعد ان يجيد استخدامه يلزم عليه ان يبني اطاره الخاص يعني اطار عمل بسيط لكي يجمع بين مذا تعلم من استخدامه للفرموركات الحقيقية زائد فهمه كيف تشتغيل
انصحه ان يتعلم الاساسيات بدون فريم وورك, وان يقوم بعمل موقع او تطبيق بسيط, بعد ذلك يبدأ باستخدام الفريم ووركس ولا يحيد عنها ابداً
الـ frameworks ليست لعمل المواقع فقط لذا قال لك الأخ HWG "يقوم بعمل موقع او تطبيق بسيط"، مثلا عند بداية تعلمك لـ JEE، حاول أن تتقن الـ Servlets و الـ JSP و اكتب تطبيقات تعتمد فيها على الـ basic functionalities بعدها يُمكنك استخدام frameworks تقدم خدمات أكثر انتاجية مثل Struts, PrimeFaces, Hibernate, Spring إلخ.
أيضاً، في الـ JavaSE ابتعد قدر الإمكان عن الـ Graphical user interface builder إن كنت تستخدم NetBeans، قم برسم الواجهات عن طريق الكود و عندما تتقن Swing يُمكنك استخدام GUIB لاختصار الوقت.
بشكل عام، الـ frameworks تُقدم للمبرمج الخدمات الجاهزة الأكثر استخداما لكي يجدَ الوقت لبرمجة الخدمات الأكثر تعقيدا حسب طبيعة المشروع.
استخدام اطر العمل منذ البداية له عدة سلبيات سألخصها في نقاط :
يجعله يهمل تعلم مبادئ البرمجة واللغة الاساسية لدرجة انه قد يظن بأن الصيغ المستخدمة في الاطار هي الصيغ الاصيلة للغة Native.
يجعله يشعر بالتعقيد فهو فاقد لأساس اللغة اصلا فكيف بمفاهيم متقدمة مثل البرمجة الكائنية وغيرها مما يجعله يترك البرمجة.
اطار العمل لن يعطيه كل شئ وفي مقدمتها البزنس لوجك Business Logic التي تحتاج لالمام حقيقي بمبادئ اللغة فلنقل ان ٥٠٪ من المشروع يعتمد عليها وبالتالي سيفشل تسليم المشروع في الوقت المحدد.
لم أستخدم إطار عمل من قبل إلا وعدلت عليه بالتوريث extend أو مباشرة حسب ما أنا بحاجته، فلا يعني أنه متكامل حسب رغبتي وطريقة عملي
هذا عندما أستخدم أطر العمل.
أما بماذا يبدأ المبتدئ ؟
أنا بدأت بأطر العمل ثم ندمت وعدت للأساس، بعدها عدت لأطر العمل بعد مقدرتي على قراءة وفهم الشفرة المصدرية لأي إطار عمل أستخدمه وربما التعديل عليها أيضا حسب الحاجة.
الهدف من فكرة الـ Framewok هو تسريع عملية البرمجة.
بالنسبة للمتعلم أو المبرمج الهاوي فالأفضل فهم و التعامل مع المشاكل البرمجية قبل التوجه للحلول الموجودة.
أما بالنسبة للمبرمج المحترف فإن عليه اتباع أفضل أقرب الطرق و استعمال الحلول و الأدوات الموجودة مسبقا كـالـ Framworks لكي يوفر الحل للزيون بأسرع وقت و أقل جهد ممكن.
*بمحترف لا أعني صاحب الخبرة بل الدي يعمل مقابل المال، و قد يكون مبتدأ.
التعليقات