شاخه و زیر شاخه ها

تصاویر تصادفی

  • اولین بارش پاییزی ۱۴۰۰
  • فین کاشان

مطالب تصادفی

بهترین خودت باش!

تو مسئول خوب زندگی کردن خودت هستی و این خوب زندگی کردن رو به خودت بدهکاری! تو باید تصمیماتی بگیری که بهت قدرت بده و کمک کنه تا خودت و زندگیت رو بهبود ببخشی … انسان موفق کسی است ک ...

يکشنبه 10 بهمن 1400

جدید ترین مطالب

ایران دو ، ولز صفر

تاپای جان، برای ایران. جام جهانی فوتبال ۲۰۲۲ قطر

جمعه 04 آذر 1401

سه‏ شنبه 01 آذر 1401

محبوب ترین مطالب

نقطه ضعف آدم های دلپاک

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

سه‏ شنبه 18 آبان 1400

بهترین خودت باش!

تو مسئول خوب زندگی کردن خودت هستی و این خوب زندگی کردن رو به خودت بدهکاری! تو باید تصمیماتی بگیری که بهت قدرت بده و کمک کنه تا خودت و زندگیت رو بهبود ببخشی … انسان موفق کسی است ک ...

يکشنبه 10 بهمن 1400

service
تفاوت بین Framework و Library

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

برای مثال ، فرض کنید شما برنامه ای دارید که روی رشته ها کار میکند. و برای آن توابعی مانند زیر نوشته اید.

تبریک میگویم . شما یک کتابخانه ایجاد کرده اید.

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

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

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

 

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

بیایید به یک مثال با استفاده از JQuery (کتابخانه) و Vue.js (یک چارچوب) نگاه کنیم.

تصور کنید ما می خواهیم پیغام خطایی را در صورت وجود خطا نمایش دهیم. در این مثال، ما روی یک دکمه کلیک می کنیم و وانمود می کنیم که خطایی رخ می دهد.

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

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

این بدان معنا نیست که توابع JQuery به محض فراخوانی برای اجرا شدن به رویداد خاصی نیاز ندارند، JQuery صرفا کتابخانه ای از آن توابع است. ما مشخص میکنیم چه بخشی در کجا و چه زمانی درج و اجرا میشود.

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

تفاوت اصلی که مشخص میکند یک چیز کتابخانه است یا چارچوب، این است که آیا وارونگی کنترل وجود دارد یا خیر.

 

نکته ای در مورد "میزان مقید بودن"
شما اغلب می شنوید که چارچوب ها و کتابخانه ها را Opinionated "دارای قید" یا un-opinionated "بدون قید" توصیف می شوند. 
این یک مفهوم ذهنی است. چارچوب ها سعی می کنند سطح آزادی برنامه نویس را هنگام ایجاد کد خود تعیین و کنترل کنند.
به هر حال چارچوبها بیشتر مورد توجه قرار می گیرند زیرا معمولا وارونگی کنترل بیشتر مورد توجه قرار می گیرد تا آزادی طراحی برنامه.

 

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

میزانی از آزادی که کتابخانه یا چارچوبی به توسعه دهنده می دهد، تعیین می کند که چقدر "مقید" است.

 

سید احمد ایمانی
ارسال توسط : سید احمد ایمانی

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