ماهو Framework ولماذا يفضل استخدامه ؟

لا شك أنك فكرت يوما ما عن الطريقة الاكثر احترافية للبرمجة, أو لتطوير التطبيقات, وبالتأكيد فلكل طريقته في التفكير وفي طريقة وضع الالغوريتم, لكن ما قد يتفق عليه الاغلبية هو ضرورة استعمال أدوات تساعد في البرمجة, وتساعد في تأمين التطبيقات, فما هي هذه الادوات وما هي أهميتها ولماذا يتم اللجوء إليها؟

 

 

ما هو framework؟

يعتبر framework أداة تتوفر على عدة مكونات تساعد على وضع أساس التطبيق الذي ترغب في إنشائه, كما يوفر مجموعة من الاكواد المكتوبة مسبقا لجزء من التطبيق, ويتواجد هذا المفهوم في عدة لغات برمجية نذكر منها java و php مما يوضح أنه يساعد على إنشاء تطبيقات الويب أو لمكونات البرامج وغيرها من الاستعمالات سنتطرق إليها لاحقا.

وقد تم اللجوء إلى هذه الطريقة لتوفير الوقت على المبرمج لانه يجد عدة أمور مسبقا ولايضطر إلى إعادة برمجتها, وذلك راجع لانه يتوفر على عدة مكتبات كل واحدة متخصصة في مجال ما, وعلى الشخص الذي يستعمل framework أن يستعمل هذه المكتبات وكذلك أن يحترم نمطها, بمعنى اخر عليك إن أردت استعمال  framework عليك أن تدرسه جيدا وتعرف كيف تمبرمج به وماهي المكتبات المتوفرة به حتى تستعملها جيدا, أمر اخر يجب الاشارة إليه هو أن framework يتطلب عملا من مطور التطبيقات فما هو إلا أداة مساعدة.

ويستعمل أغلب framework مفهوم MVC الذي سبق التحدث عنه (ويمكنك قرائته من هنا), ومن مميزاته كذلك أنه يسهل عملية صيانة التطبيق, وكمثال على إفادته, فهناك من framework ما يبسط طريقة التعامل مع database, وهناك منها ما يتيح إمكانية التحكم في استمارات صفحات الويب, التحكم في تأمين ما يسمى SQL injections وهي نوع من الاختراقات التي تم ل database المواقع (رغم أنه لا أمان على الانترنت ), توفر كذلك بعض framework لغات البرمجة إمكانية استعمال API تطبيقات أخرى (Application Programming Interface)

ومن بين framework المشهروة : hibernate و spring خاص بلغة java, و symphony و zend بلغة php, و .net للغة c# و VB

إذن كخلاصة framework وجد لمساعدة المطورين على تسهيل عملهم باستخدام أدوات ومكتبات برمجت مسبقا, وذلك لترك المجال للمطور للابداع في أمور أخرى غير الموجودة مسبقا, ويبقى اختيار framework الذي ترغب في استعماله في حاجة لدراسة لكل واحد منها على حدى حتى تعرف ما يتميز به.