لایبرری و فریمورک ، دو واژه پرکاربرد در برنامه نویسی هستند که خیلی به کار می روند و از آنجایی که این دو واژه معمولا در کنار هم و یا حتی جاهایی و به اشتباه به جای هم استفاده می شوند ممکن است این تصور در ذهنمان شکل گرفته باشد که این دو به یک معنی و مترادف هستند، در حالی که با بررسی دقیق تر خواهیم دید که این تصور صحیح نیست و هر کدام از واژه های مزبور بار معنایی خاصی دارند و معرف مفهوم ویژه ای هستند، برای آشنایی بیشتر در یادداشت پیش رو نگاهی خواهیم داشت به مفهوم لایبرری و فریمورک در برنامه نویسی و به طور خاص در برنامه نویسی وب.
درواقع هر دوی اونها یکسری کدهای ازپیشنوشتهشده توسط شخص یا اشخاص دیگهای هستن که استفاده از اونها کار رو برای بقیهی برنامهنویسها خیلی راحتتر میکنه و باعث میشه یسری مشکلات رایج برنامهنویسی بهراحتی و بدوننیاز به وقت زیاد قابلحل باشن. هدف اصلی از خلق لایبرری و فریمورک هم در واقع همین هست. برای درک بهتر تفاوت لایبری و فریم ورک در ابتدا به توضیح جداگانه هر یک میپردازیم .
کتابخانه (Library) چیست؟
کتابخانه، مجموعهای از کدهای مختلف است که توابع پر استفاده را در اختیار کاربر قرار میدهد تا در وقت او صرفهجویی شود. برای مثال، یک کتابخانه ریاضی، توابع مهم ریاضی مانند تابع نمایی، لگاریتمی، مثلثاتی و … را در برمیگیرد. زبانهای برنامهنویسی، معمولا کتابخانههای متعددی برای انجام امور مختلف دارند. کتابخانههایی با موضوعات پردازش داده، رسم نمودار، آنالیز متن و …. نوشتن این توابع از ابتدا، معمولا انرژی و زمان زیادی را از برنامهنویس میگیرد.
فریمورک (Framework) چیست؟
فریمورک، یک چارچوب یا اسکلت استاندارد برای ساخت و توسعهی نرمافزارهاست. فریمورک، اسکلت کلی یک نرمافزار را برای شما فراهم میکند و شما میتوانید جاهای خالی آن را با کدهای مدنظر خود پر کنید. با استفاده از یک فریمورک، برای نوشتن برنامههای مشابه، صرفهجویی زیادی در زمان میشود و کدها منظمتر نوشته میشوند. برای مثال، فریمورک Java Swing ساختار کلی کد نویسی برای رابط کاربری گرافیکی جاوا را در اختیار برنامهنویس قرار میدهد. از فریمورکهای معروف در حوزهی یادگیری ماشینی و هوش مصنوعی میتوان به تنسورفلو (TensorFlow) اشاره کرد.
تفاوت کتابخانه و فریمورک چیست؟
تفاوت اصلی کتابخانه با فریمورک، نحوهی کنترل کدهاست. در کتابخانه، شما کد را فراخوانی میکنید و از آن استفاده میکنید؛ اما، در مورد فریمورک، داستان کاملا متفاوت است. فریمورک، به اصطلاح Inversion of Control (کنترلپذیر معکوس) است. به این معنی که بر خلاف کتابخانه، کاربر، فریمورک را فراخوانی نمیکند، بلکه فریمورک، کدهای اضافه شده توسط کاربر را فراخوانی میکند.
درواقع شما میتونی از لایبرریها در حین انجام یک پروژه استفاده بکنی اما از فریمورک باید دقیقا وقتی میخوای اون پروژه رو شروع کنی استفاده بکنی. نکته ی دیگه اینکه توی یک پروژه نمیشه از چند فریمورک استفاده کرد اما میشه همزمان از چند لایبرری استفاده کرد .
به طور معمول فریمورک پیچیدهتر از لایبرری هست اما مزیتی که داره اینه که دیگه دولوپر نگران این نیست که طراحی ساختار کد خوب هست یا نه.
برای اطلاع از خدمات و محصولات آسان رایان کلیک کنید.