ماهو Framework و Library والفرق بينهم
لا شك ان مصطلح المكتبات و Freamworks اصبحت تتردد بين المبرمجين الجدد والمخضرمين فماذا تعني ومالفرق بينهم؟
Library
===========
هي عبارة عن مجموعة من الاكواد والملفات كتبها مبرمجين اخرين لتنفيذ مهمة معينة, لنفرض أنك بحاجة للتعامل مع الأرقام فبدلاً من كتابة هذه الوظائف ستقوم بالبحث عن مكتبة بها هذه الوظائف التي تريدها وتقوم بإستخدام هذه المكتبة, أو تقوم أنت بإنشاء مكتبتك الخاصة بالخصائص التي تريدها وتحتفظ بها لتعاود إستخدامها, ويمكن لك أن تنشرها لإعادة إستخدامها من قِبل الأخرين الذين يبحثون عن نفس تلك الخصائص الموجودة في مكتبتك.
=================================================
اطار العمل Framework
=====
ال framework او اطار العمل هو بشكل بسيط عبارة عن بيئة مجهزة مسبقا ببعض الادوات والتقنيات والمكتبات التي قام ببناءها مبرمجون اخرون واختبروها وبنوها بحيث يمكن لاي شخص ان يستخدمها بسهولة لتساعدك وتسهل عليك امورك البرمجية, فهي تجعل المبرمج يبدء من حيث انتهى الاخرون، فعلى سبيل المثال ان احتجت في مشروعك ان تتعامل مع قواعد البيانات فبدلاً ان تقوم ببناء خوارزميات للتعامل مع هذا الامر، تستطيع استخدام اطار عمل ليساعدك على ذلك.
فمثلا لو تحدثنا عن لغة PHP وبعض الـ Freamworks المتوفرة لها فسنجد (Laravel, CodeIgniter,CakePHP ) على سبيل المثال لا الحصر, هذه الـ Freamworks ماهي الا مجموعة من ملفات بي اتش بي المعدة مسبقا التي تسمح لك انشاء برنامجك باسلوب (MVC : model – view- controller) وبالتالي هي وفرت عليك ان تنشئ نظاما من الصفر وايضا وزودتك بالتقنيات الاساسية التي تسمح لك باستخدامها لتطوير برنامجك, اذا الفريم ورك او الاطار ليس برنامجا جاهزا. انه بيئة يمكن استخدام ما توفره من ادوات لانتاج برنامج.
مثال اخر, الـ Twitter Boostrap هو إطار عمل مخصص للمصممين ومتعلق بتطوير تصميم الويب حيث يوفر لك هذا الإطار مجموعة من مكتبات Jquery ومجموعة من ملفات Css الجاهزه لتستطيع أستخدامها بشكل مباشر في تطوير تصميم تطبيقك على الإنترنت وبذلك يوفر الوقت والجهد والتكلفة عليك كمطور لهذا التطبيق.
========================
Framework vs Libary
- بكل بساطة, المكتبة وجدت لتساعدك في تنفيذ مهمة واحدة بينما اطار العمل, هو عبارة عن مجموعة من المكتبات مجتمعة معاً لتنفيذ بعض المهام.
- ان كنت تستخدم مكتبة معينه في مشروع واردت ابدالها بمكتبة اخرى, تستطيع ذلك بكل سهولة بينما اطار العمل لاتستطيع استبداله باخر والسبب لانك ستقوم بكتابة المشروع من جديد على الـ Framework الجديد.
- المكتبة تعتبر اداة بينما الـ Framework يعتبر طريقة للبرمجة.
- المكتبات تعمل او تثبت من خلال الـ Framework.
إرسال تعليق