خانهوبلاگبرنامه نویسیکتابخانه یا Library در برنامه‌نویسی چیست؟

برنامه نویسی

۱۴۰۰/۷/۸
1031
کتابخانه یا Library در برنامه‌نویسی چیست؟

کتابخانه یا Library در برنامه‌نویسی چیست؟

اگر در برنامه نویسی و توسعه نرم افزار تازه کار هستید و یا قصد کسب اطلاعاتی در این حوزه هستید حتما با واژه هایی نظیر کتابخانه (Library) یا فریم ورک (Framework) برخورد داشته اید

اگر در برنامه نویسی و توسعه نرم افزار تازه کار هستید و یا قصد کسب اطلاعاتی در این حوزه هستید حتما با واژه هایی نظیر کتابخانه (Library) یا فریم ورک (Framework) برخورد داشته اید، در مورد کتابخانه میخواهیم اطلاعاتی کسب کنیم و موضوع را کمی باز کنیم که استفاده از کتابخانه ها خوب است یا بد، به چه نکاتی باید توجه کرد و از همه مهمتر تفاوت فریم ورک با کتابخانه چیست؟ با پایدار سامانه همراه باشید تا خیلی مختصر به این موارد بپردازیم.

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

کتابخانه یا لایبرری به انگلیسی (Library) مجموعه ای از کدها و الگوریتم های از پیش ساخته شده است که می توانیم به بصورت بسته ای تر و تمیز به پروژه های خود اضافه و به راحتی از آن استفاده کنیم. تقریبا در تمامی زبان های برنامه نویسی از این مفهوم و واژه استفاده می شود و بعید است زبان برنامه نویسی وجود داشته باشد که از کتابخانه ها بهره نبرده باشد.

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

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

اکثر کتابخانه ها متن باز یا منبع باز (Open-source) هستند و توسط اشخاص مختلف توسعه داده می شوند، پس دید و منطق یک شخص تبدیل به واقعیت نمی شود و از ابعاد گوناگون بررسی می گردند و در نهایت سیستم محکم و قابل اتکایی طراحی می شود، البته همه این موارد به درصد استفاده و مشارکت هر کتابخانه بستگی دارد که آمار آن را می توانید در مخزن (Repository) هر کتابخانه مشاهده بفرمایید که تعداد استفاده و درصد و حجم توسعه آن کتابخانه به چه صورت بوده است.

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

استفاده از کتابخانه ها همیشه هم بهینه و مناسب نیست، باید نهایت دقت را در انتخاب آنها داشته باشید، هم از نظر وابستگی (Dependency)  پروژه به آن کتابخانه که جقدر کد های شما را درگیر این وابستگی می کند و اینکه چقدر قابلیت تغییر دارد و آیا می توانید به راحتی کتابخانه را کنار گذاشته و از کتابخانه دیگری استفاده کنید و یا خودتان کد های شخصی جایگزین آن کنید و یا اینکه آنقدر این کتابخانه در دل کد ها و کد بیس شما پیچیده و در هم تنیده است، به اصلاح tight coupling  اتفاق افتاده است و دیگر تغییر کار ساده ای نیست و شاید غیر ممکن باشد، شما باید قدرت مدیریت تغییر بالایی داشته باشید که به آن Change Management می گویند.

در نظر داشته باشید که در یک سایت که طراحی شده است در چند صفحه نیاز به اسلایدر دارید، یکی در صفحه اصلی برای Main Slider  اصلی وب سایت، یکی در صفحه محصولات برای اسلایدر تصاویر محصول و در همان صفحه برای محصولات مرتبط دوباره نیاز به اسلایدری دارید و با کمی دقت می توانید چند جای دیگر وجود اسلایدر را در سایت حدس بزنید، مثلا در لیست لوگو مشتریان، در نظرات مشتریان (Testimonials) و جاهای دیگر، اگر تمامی این موارد را با یک کتابخانه پیاده سازی کنید می تواند مطلوب و بهینه باشد و ممکن است نیاز گرافیکی و نوع پیاده سازی UI و UX شما بصورتی باشد که مجبور به استفاده از چند کتابخانه در سایت کنید، گالری تصاویر محصولات علاوه بر حرکت اسلایدی نیاز به زوم دارد، اسلایدر صفحه اصلی نیاز به متن و عنوان بر روی تصاویر دارد و نیاز های متفاوت که دور از ذهن نیستند و به راحتی این اتفاق ممکن است رقم بخورد.

نترسید همیشه به این سختی نیست چون جنس و نوع کتابخانه ها متفاوت هستند و با بررسی دقیق تر می توانید این موارد را پیش بینی و پیش گیری کنید، کتابخانه های کلاینت ساید (Client-Side) و فرانت کمتر درگیر این موضوعات می شوند و برای استفاده از کتابخانه ها پکیج ها سمت سرور بیشتر باید احتیاط کنید.

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

نمونه های از کتابخانه های آماده

  • کتابخانه Tensor Flow توسط همکاری شرکت گوگل و Brain Team ساخته شده است
  • کتابخانه Scikit-Learn
  • کتابخانه Pendulum یک کتابخانه ی کار با زمان و تاریخ است
  • کتابخانه Pillow برای پردازش تصاویر

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

اگر با فریم ورک ها آشنایی ندارید پیشنهاد میکنم مقاله Framework چیست را مطالعه فرمایید و دیدی در این زمینه کسب کنید، حال سوال پیش می آید که فرق بین کتابخانه و فریم ورک چیست؟ در واقع فریم ورک و کتابخانه هر دو یک چیز میباشند و تنها تفاوت آن ها این هست که فریم ورک به مجموع از کدهای آماده خیلی بزرگ مثل فریم ورک .NET Core میگویند و کتاب خانه هم به مجموع کد های کم تر مثل PHPMailer که یک کار تخصصی در حوزه ارسال ایمیل آن هم فقط در زبان PHP را بر عهده دارد. ولی در مورد jQuery هم از کلمه کتابخانه استفاده میشود و هم از فریم ورک به دلیل اینکه آنقدر وسیع نیست که به آن فریم ورک بگویند و نه آنقدر کوچک است که به آن کتابخانه بگویند.

اشتراک گذاری در شبکه های اجتماعی
پایدار سامانه

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

نظرات کاربران

تیما

مطالب مفید و مختصر بود؛ ممنون

۱۴۰۰/۱۲/۱۶

دیدگاه شما

ثبت