تفاوت فریم ورک و کتابخانه چیست؟

برای پاسخ به این پرسش ابتدا به تعریف هریک به تنهایی میپردازیم.

کتابخانه یا library چیست؟

مجموعه ای از موارد و المان های پر استفاده توسط کاربر یا برنامه نویس را کتابخانه می نامند.

در واقع کتابخانه‌ها آن دسته از کدهایی هستند که توسط توسعه‌دهندگان و برنامه‌نویسان خبره نوشته شده و به پکیج‌های محیط‌های برنامه‌نویسی اضافه شده‌اند تا برنامه‌نویسان دیگر در حین کدنویسی قادر به استفاده و به کارگیری آن‌ها باشند.

المان هایی که برنامه نویس حین انجام پروژه های مختلف به استفاده مکرر از آن ها نیاز دارد اسکریپت ها،فونت ها و … می باشد.

فریم ورک چیست؟

فریم ورک به یک چارچوب نرم افزاری گفته می شود که مجموعه ای است از کتابخانه های برنامه نویسی و احتمالا مجموعه ای از قوانین برای برنامه نویسان است .

وقتی از فریم ورک استفاده میکنید کنترل جریان برنامه دست اون فریم ورک است و چارچوب و اسکلت کد شما توسط اون فریم ورک تعیین می شود . فریم ورک برای شما بستری فراهم میکند تا بتوانید کد ها را بنویسید و این فریم ورک هست که تصمیم میگیره در چه زمان و مکانی از کد های شما استفاده کند.

در واقع فریم ورک ها کدنویسی را راحتتر و سریع تر می کنند.

تفاوت فریم ورک و کتابخانه ها

با توجه به تعاریف بالا این نتیجه حاصل می شود که:

تفاوت فریم ورک و کتابخانه، نحوه‌ی کنترل کدهاست. در کتابخانه، شما کد را فراخوانی می‌کنید و از آن استفاده می‌کنید؛ اما، در مورد فریم ورک، داستان کاملا متفاوت است. فریم ورک، به اصطلاح Inversion of Control (کنترل‌پذیر معکوس) است. به این معنی که بر خلاف کتابخانه،‌ کاربر، فریم ورک را فراخوانی نمی‌کند، بلکه فریم ورک، کدهای اضافه شده توسط کاربر را فراخوانی می‌کند.

در واقع شما میتوانید از لایبرری ها در حین انجام یک پروژه استفاده کنید اما از فریم ورک باید دقیقا زمانی که میخواهید پروژه را شروع کنید استفاده نمایید . نکته ی دیگر این است که در یک پروژه امکان استفاده از چندین فریم ورک نیست اما امکان استفاده  از چند کتابخانه وجود دارد.

کلام آخر

به طور معمول فریم ورک پیچیده تر از کتابخانه است اما مزیتی که دارد این است  که دیگر توسعه دهنده نگرانی بابت اینکه  طراحی ساختار کد خوب است یا خیر ندارد .ممنون میشویم نظرات و سوالات خود را برای ما بنویسید.