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