Framework و Library الفرق بين
Framework و Library
لاشك أن مصطلح المكتبات و Framworks أصبحت تتردد بين المبرمجين الجدد والمخضرمين؛ فماذا تعني ومالفرق بينها ؟
ما هي المكتبات Library ؟
هي عبارة عن مجموعة من الأكواد والملفات كتبها مبرمجين آخرين لتنفيذ مهمة معينة؛ لنفرض أنك بحاجة للتعامل مع الأرقام فبدلاً من كتابة هذه الوظائف ستقوم بالبحث عن مكتبة بها هذه الوظائف التي تريدها وتقوم باستخدام هذه المكتبة، أو تقوم أنت بإنشاء مكتبتك الخاصة بالخصائص التي تريدها وتحتفظ بها لتعاود إستخدامها، ويمكن لك أن تنشرها لإعادة إستخدامها من قِبل الآخرين الذين يبحثون عن نفس تلك الخصائص الموجودة في مكتبتك.
ما هو إطار العمل Framework ؟
الـ Framework أو “إطار العمل” هو بشكل بسيط عبارة عن بيئة مجهزة مسبقاً ببعض الأدوات والتقنيات والمكتبات التي قام ببناءها مبرمجون آخرون واختبروها وبنوها بحيث يمكن لأي شخص أن يستخدمها بسهولة لتساعدك وتسهل عليك أمورك البرمجية، فهي تجعل المبرمج يبدء من حيث انتهى الآخرون؛ فعلى سبيل المثال إن احتجت في مشروعك أن تتعامل مع قواعد البيانات فبدلاً أن تقوم ببناء خوارزميات للتعامل مع هذا الأمر، تستطيع استخدام إطار عمل ليساعدك على ذلك.
فمثلا لو تحدثنا عن لغة PHP وبعض الـ Frameworks المتوفرة لها فسنجد (Laravel, CodeIgniter, CakePHP)، هذه الـ Frameworks ماهي إلاّ مجموعة من ملفات PHP المعدة مسبقاً، والتي تسمح لك بإنشاء برنامجك بأسلوب (MVC model – view- controller) وبالتالي هي وفرت عليك أن تنشئ نظاماً من الصفر، وزودتك أيضاً بالتقنيات الأساسية التي تسمح لك باستخدامها لتطوير برنامجك.
إذاً الـ Framework أو “الإطار” ليس برنامجاً جاهزاً؛ إنه بيئة يمكن استخدام ما توفره من أدوات لإنتاج برنامج.
مثال آخر الـ Twitter Bootstrap هو إطار عمل مخصص للمصممين ومتعلق بتطوير تصميم الويب حيث يوفر لك هذا الإطار مجموعة من مكتبات “JQuery” ومجموعة من ملفات “CSS” الجاهزة لتستطيع استخدامها بشكل مباشر في تطوير تصميم تطبيقك على الإنترنت، وبذلك يوفر الوقت والجهد والتكلفة عليك كمطور لهذا التطبيق.
ما هو الفرق بين Framework vs Library
-
بكل بساطة، المكتبة وُجِدت لتساعدك في تنفيذ مهمة واحدة بينما إطار العمل هو عبارة عن مجموعة من المكتبات مجتمعة معاً لتنفيذ بعض المهام.
-
إن كنت تستخدم مكتبة معينه في مشروع وأردت استبدالها بمكتبة أخرى فتستطيع ذلك بكل سهولة، بينما إطار العمل لاتستطيع استبداله بواحد آخر، والسبب أنك ستقوم بكتابة المشروع من جديد على الـ Framework الجديد.
-
المكتبة تعتبر أداة بينما الـ Framework يعتبر طريقة للبرمجة.
-
المكتبات تعمل أو تُثبت من خلال الـ Framework.