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

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

کتابخانه و فریم ورک دو مفهومی هستند که خیلی اوقات به اشتباه به جای هم استفاده میشوند در صورتی که کارکرد کلی هر دو موضوع(Concept) کاملا متفاوت است.در این مقاله قصد داریم تفاوت کتابخانه و فریم ورک را مورد بررسی قرار دهیم پس تا پایان این مقاله جذاب با ما همراه باشید

در این مقاله به این موضوع ها خواهیم پرداخت:

  • فریم ورک چیست؟
  • کتابخانه چیست؟
  • شباهت های فریم ورک و کتابخانه چیست؟
  • تفاوت فریم ورک و کتابخانه چیست؟
  • آیا این دو موضوع با هم در ارتباط هستند؟

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

بسیاری از برنامه نویسان تازه کار(Junior) این تصور را دارند که فریم ورک مجموعه از کتابخانه ها است اما این تصور اشتباه است و در ادامه به تفاوت های کلیدی بین فریم ورک و کتابخانه میپردازیم

کتابخانه(Library) چیست؟

تصور کنید وارد یک کتابخانه شده اید که تعدادی کتاب در آنجا وجود دارد که به راحتی میتوانید آن را از قفسه مد نظر بردارید و آن را شروع به مطالعه کنید.دقیقا همچنین ساختاری در بحث کتابخانه یا لایبرری در برنامه نویسی وجود دارد.یک سری کدها از قبل آماده شده اند که به راحتی میتوانید از آن برای هدف خود استفاده کنید.مثلا در سی شارپ برای این که بتوانیم جذر یک عدد را حساب کنیم می بایست از کلاس Math و سپس متد Sqrt استفاده کنیم.یا در پایتون برای ایجاد یک کلید در رجیستری و انجام تنظیمات خاص روی آن از کتابخانه WinReg استفاده میکنیم.

مزیت کتابخانه(Library) این است که شما درگیر پیچیدگی(Complexity) نخواهید شد و نیازی نیست چرخ را از دوباره اختراع کنید و سرعت کدنویسی شما را افزایش میدهد. اگر بخوایم به صورت نمونه اشاره ای به کتابخانه یا لایببری داشته باشیم میتوانیم به کتابخانه های React و JQuery در زبان جاوا اسکریپت اشاره کنیم که یک سری متدها(Functions) از پیش تعیین شده دارند.

فریم ورک(Framework) چیست؟

حالا مفهوم کتابخانه را متوجه شدیم اما فریم ورک چیست؟

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

در واقع به این حالت وارونگی کنترل(Inversion Control) گفته می شود.یعنی به جای این که شما فریم ورک را صدا بزنید و استفاده کنید او کدهای شما را درون خود صدا میزند

علاوه بر این فریم ورک مزیت های دیگری هم دارد:

  • دوری از پیچیدگی(Complexity) در کدها
  • عیب یابی راحت تر
  • ساده شدن اتصال به دیتابیس
  • امکان استفاده مجدد از کد

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

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

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

از لحاظ کلی کتابخانه و فریم شباهت های زیادی با هم دارند مثلا:

  • هر دو کدهایی هستند که از قبل آماده شده اند
  • باعث افزایش سرعت کدنویسی و توسعه(Development) می شود
  • باعث اصولی نوشته شدن کدها می شوند

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

همانطور که قبل تر اشاره کردیم نحوه صدا زدن(Call) بین کتابخانه و فریم ورک متفاوت است که همان اصل وارونگی کنترل(Inversion Control) است.به جای این که ما کتابخانه را صدا بزنیم و طبق سلیقه خود استفاده کنیم در فریم ورک مبا باید طبق چارچوبی که از قبل مشخص شده است استفاده کنیم.

در ادامه به چند مورد از تفاوت کتابخانه و فریم در کد اشاره میکنیم:

کتابخانه Jquey:

<button id="btn">کلیک کن</button>
<p id="msg"></p>

<script src="https://code.jquery.com/jquery-3.7.0.min.js"></script>
<script>
//اینجا تصمیم گرفتیم از تابع آماده جی کوئری یعنی علامت دالر ساین و بقیه موارد استفاده کنیم
  $('#btn').click(function() {
    $('#msg').text('hello world');
  });
</script>

در کد بالا این ما بودیم که تصمیم گرفتیم وقتی روی دکمه کلیک می شود یک عبارت در خروجی به نام hello world نمایش داده شود.

@Component({
  selector: 'app-hello',
  template: `<h1>hello world</h1>`
})
export class HelloComponent {}

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

آیا کتابخانه و فریم ورک با هم در ارتباط هستند؟

بله اگر میخواهید کتابخانه و فریم ورک را به هم متصل کنید میتوانید از مفهومی به نام API یا Application Programming Interface استفاده کنید. اصطلاحا API به این مفهوم گفته می شود که شما میتوانید بین دو برنامه مختلف ارتباط برقرار کنید.به عنوان مثال میتوانید از کتابخانه هایی مثل React برای فرانت استفاده کنید و در عین حال برای برنامه نویسی بک اند از ASP.NET Core یا Laravel استفاده کنید.

جمع بندی

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

در ادامه میتوانید مقاله های زیر را مطالعه کنید:

نقشه راه برنامه نویسی فرانت اند

نقشه راه برنامه نویسی بک اند

آیا این پست برای شما مفید بود؟

روی ستاره ها کلیک کنید و امتیاز دهید😊

میانگین امتیاز / 5. تعداد امتیاز:

تا کنون امتیازی به این پست داده نشده است شما اولین نفر باشید😍

دیدگاه‌ها ۰
ارسال دیدگاه جدید