با سلام و درود
دوستان شباهت این سه تا در چیست؟
تفاوت بین API و SDK و Framework در چیست؟
با سلام و درود
دوستان شباهت این سه تا در چیست؟
تفاوت بین API و SDK و Framework در چیست؟
سلام
مفهوم API به معنای عام آن به هرنوع واسطی (کلاس ها و توابع و...) گفته میشود که در یک نرم افزار دیگر تعبیه کرده باشند تا سایر برنامه نویسان از آن استفاده کنند.
من یک برنامه مینویسم که با UI و textbox و button به کاربر نهایی امکان میدهم از اطلاعات خودش در برنامه من backup بگیرید.
حالا اگر بیایم و امکانی را قرار دهد تا یک dll یا exe از کس دیگری هم بتواند این فرمان backup گیری را بدون آن textbox ها و button ها به من بدهد و برنامه من آن عمل را انجام دهد، این میتواند نمونه ای از API باشد.
(در خیلی از مطالب تحت ویندوز از نام API به معنای خاص آن استفاده میشود و اشاره به توابع Dynamic Link ای دارد که هسته سیستم عامل ویندوز برای استفاده توسط خود ویندوز و همچنین برنامه های تحت ویندوز فراهم کرده است)
یک Framework بستر پایه محیا میکند و روشی برای ساخت و توسعه برنامه ارائه میدهد.
در واقع یک محیط قابل استفاده مجدد نرم افزاری را میدهد که کارکردهایی خاصی را هم انجام میدهد.
یک Framework بطور معمول یک نرم افزار "کامل" نیست، "کامل" از این زاویه که کاربر نهایی بتواند آن را نصب کند و استفاده کند.
ذاتا برای توسعه ساخته شده تا دیگر برنامه نویسان و توسعه دهندگان بیایند و چیزی با آن بسازند.
پس واضح است که میتواند شامل تعداد زیادی API هم باشد
اما SDK به معنی "بسته توسعه نرم افزاری" است.
همانطورکه از نامش بر می آید با یک بسته طرف هستید یعنی چیزی شبیه zip یا iso !
این بسته شامل هر آن چیزی است که یک برنامه نویس برای توسعه کدنویسی خود تحت یک نرم افزار دیگر نیاز دارد.
یعنی کس دیگری یک نرم افزار کامل (مانند ویندوز یا برنامه فوق کوچکی مانندPismo درحد خوش!) یا حتی Framework (نرم افزار غیر کامل) نوشته و حاضر کرده و این امکان را به سایرین داده که بتوانند بیایید و اجزایی به برنامه کامل او اضافه کنند یا برنامه ای با Framework از صفر بنویسند، در هرصورت این بسته SDK شامل کل اطلاعات و لوازم برنامه نویسان در این مسیر است.
این بسته از یک سمت میتواند شامل ابزارهای کامپایل، توسعه، آزمایش، دستکاری، مانیتور و سایر utility ها باشد (به شکل exe های متعدد کوچک و بزرگ با UI یا خط فرمانی)
و از سمت دیگر میتواند شامل مستندات و حتی پروژه های نمونه کوچکی باشد که کاری ساده را در نرم افزار مرجع انجام داده اند و درواقع روش را به این طریق به برنامه نویسان آموزش دهد.
در واقع شاید شرکت اصلی برای API های مهم و پرکاربردش در بسته SDK پروژه ساده و کدنمونه هم قرار داده باشد.
یعنی بسته SDK شامل هر آنچیزی است که شرکت حدس میزند یک توسعه دهنده برای ارتباط با نرم افزار او به آن نیاز پیدا میکند.
Last edited by _H2_; 02-06-2018 at 12:59.
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)