هل توافق هذا الرأي: على المبتديء ان لا يستخدم Frameworks من بداية مسيرته؟

كون الـ Frameworks تعطي اشياء جاهزة، هل تنصح المبتديء ان يبتعد عنها في بداية مسيرته؟

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

الـ Frameworks تستخدم مفاهيم متقدمة صعب ان يستوعبها المبتدئ ويفهمها بشكل جيد مثل الـ OOP والـ Design Pattern مثل MVC

يعني انت مؤيد ان تستخدم Framework لو كنت تدرس مبتدئين؟

لا طبعا ً !! هناك مراحل يمر بها المبرمج في مسيرته العلمية تبدأ من الاساسيات الى ان يصل الى مرحلة متقدمة ويبدأ في الجانب العملي والدخول في السوق هنا يبدأ بأستخدام الـ Frameworks لتسهيل عمله. استباق الامور وتعدي المراحل سيشتت مفاهيم المبرمج ويجعل منطقه البرمجي ضعيف.

لا بد من معرفة أساسيات الألغوريثم، ثم أساسيات اللغة المستعملة قبل الشروع في استعمال الفريموورك.

  • كيف تستعمل jQuery وأنت لا تعلم Javascript.

  • كيف تستعمل Laravel وأنت لا تعلم PHP.

  • كيف تستعمل RoR وأنت لا تعلم Ruby.

  • ...

زد على هذا أنك سوف تكون مضطرا في حياتك العملية إلى العمل باللغة مباشرة، فلا تكن سجين الفريموورك وتسلح الأساسيات، حتى إذا مات الفريموورك المفضل عندك لا يضرك الأمر كثيرا...

ما هي ال Frameworks ؟

اثنان انصحهما بعدم استخدام الـ frameworks، المبتدئ، والمتقدم (المقدم على مشروع كبير)

لماذا المتقدم ؟

قد يكون من متطلبات المشروع، متطلّب لم يسبق لمبرمج عملة، لذا قد لاتكفيه اللغة نفسها ايضا.

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

فهمت عليك .

-

أرى أهمية أطر العمل تأتي بالأمور الأساسية - الـ Route ، الـ DataBase ، فلترة المدخلات ، دوال وكلاسات لأمور الشائعة - ، أتوقع مثل هذه هكذا أطار عمل ، يمكن إستخدامه من قبل المتقدم .

نعم سيجد صعوبه في فهم الفريم ورك ان كان غير متمكن من اساسيات البرمجه

انا انصح باستخدام الفريم ورك للمبتدئين لان باستخدام للفريم ورك سيكون المبتدئ باحتكاكه مع البرمجة الفعلية و ستساعده على تطوير رؤيته للبرمجة كرؤية كيف يتم تقسيم المشروع الى Model - View - Controller و بعد ان يجيد استخدامه يلزم عليه ان يبني اطاره الخاص يعني اطار عمل بسيط لكي يجمع بين مذا تعلم من استخدامه للفرموركات الحقيقية زائد فهمه كيف تشتغيل

كيف لمبتدئ لا يفقه شيئا عن OOP و Design Patterns ووو ان يبدأ بفريم وورك بعد استيعابه لهذه المفاهيم عندها يبدأ بالفريم وورك

انصحه ان يتعلم الاساسيات بدون فريم وورك, وان يقوم بعمل موقع او تطبيق بسيط, بعد ذلك يبدأ باستخدام الفريم ووركس ولا يحيد عنها ابداً

لكن بعد تصميم موقع بسيط مباشرتا يستخدم فريمورك؟؟ ولما لا يحيد عنها لفترة سنة على الأقل؟

الـ 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 لكي يوفر الحل للزيون بأسرع وقت و أقل جهد ممكن.

*بمحترف لا أعني صاحب الخبرة بل الدي يعمل مقابل المال، و قد يكون مبتدأ.

-3

بماذا تنصحونني

اي فريموورك جيد لبرمجة موقع freelance

أي إطار عمل يمكنه تلبية طلبك، المهم أن تحترفه وتحترف لغته البرمجية قبله.