یکی از مفاهیم مهم که در زبانهای برنامهنویسی مختلف کاربرد دارد API یا Application Programming Interface است(توصیفی از api). در این نوشته به مفهوم و کاربردهای API در محیطهای مختلف خواهیم پرداخت.
API یا «رابط برنامهنویسی کاربردی» یک سری از دستورالعملهای مشخص و تعریف شده است که نرمافزارها، سختافزارها، کامپوننتها یا سایتهای اینترنتی میتوانند با استفاده از آن با یکدیگر ارتباط برقرار کنند .
به عبارت دیگر API جایگزینی برای رابط کاربری است. همان گونه که کاربران میتوانند با فشردن یک دکمه، دستوری را به سختافزار ارسال کنند یا با حرکت ماوس، پیامی را به یک نرمافزار بفرستند، API نیز ابزاری است که نرمافزارها و سختافزارها با کمک آن میتوانند با هم ارتباط برقرار کنند و به یکدیگر دستورات مورد نظر را ارسال کنند.
بدون وجود API، همکاری میان اجزای کوچک سیستمهای سختافزاری و نرمافزاری امکانپذیر نیست.
مزیت استفاده از API
رابطهای برنامهنویسی، این مزیت را دارند که جلوی دسترسی مستقیم سیستمهای دیگر به اطلاعات حساس یا خصوصی را سد میکنند. تنها دستورات و رابطهای تعریفشده با قابلیت کنترل دسترسی، در اختیار دیگران قرار خواهند گرفت. بنابراین سیستمهای دیگر نمیتوانند هر تغییر و هر فعالیت مخرب یا غیرمجاز را در سیستم دیگر به انجام برسانند.
علاوه بر این، تعریف API کار ارتباط میان سیستمهای مختلف را آسان میکند. با تعریف پروتکلهای استاندارد و شناختهشده، ارسال و دریافت دستورات و اطلاعات در زمانی کوتاه قابل انجام هستند.
برخی از APIهای شناخته شده
API در انواع مختلف در سختافزارها و نرمافزارها وجود دارند. برخی از انواع شناختهشدهی API عبارتند از:
API سیستم عامل ویندوز برای برنامهنویسی و ارتباط با هسته ویندوز
API سایت توئیتر برای توسعهی رابط کاربری سفارشی روی کامپیوترهای رومیزی و گوشیهای موبایل
API جاوا برای برنامهنویسی و ارتباط با هستهی کتابخانههای جاوا
API نقشه گوگل برای نمایش نقشه و دریافت اطلاعات در مورد مکانهای مختلف جهان
API بانکهای مختلف برای انجام پرداخت آنلاین
xتفاوت وب سرویس و API
وب سرویس نامی دیگر برای APIهای تحت وب به شمار میرود. سایتهای اینترنتی میتوانند برای ارتباط با یکدیگر از وبسرویس یا API استفاده کنند. برای مثال ممکن است سایت «الف» سفارشهای خرید کالا را از مشتریان دریافت کند و با استفاده از وب سرویس تعریف شده در سایت «ب»، درخواست تامین کالا را به صورت فوری ارسال نماید.
مثالی دیگر، استفاده از وبسرویسهای پرداخت آنلاین است. سایتهای فروشگاه اینترنتی، برای دریافت وجه از مشتریان خود، لازم است تا با وبسرویس بانکها ارتباط برقرار کنند و مبلغ لازم برای پرداخت و اطلاعات مشتری را اعلام کنند. در مرحلهی بعدی وبسرویس بانک، اطلاعات لازم برای شروع پرداخت را به فروشگاه اینترنتی ارسال میکند و مشتری با این اطلاعات به سایت بانک هدایت میشود.
APIهای برنامهنویسی
مجموعه دستوراتی که فریمورکهای برنامهنویسی مانند داتنتفریمورک یا جاوا در اختیار برنامهنویسان قرار میدهند گونهای از API به حساب میآید. زیرا هستهی مرکزی فریمورک یک نرمافزار است که فعالیتهای متعددی انجام میدهد و برنامهها با فراخوانی دستوراتی از پیشتعریفشده، دستورات دلخواه خود را به فریمورک ارسال مینمایند.
علاوه بر فریمورکها، هستهی سیستمعاملها مانند ویندوز و لینوکس نیز دارای API هستند. برنامهها با فراخوانی این دستورات میتوانند روی فعالیتهای سیستمعامل کنترل داشته باشند.
APIهای سختافزاری
سختافزارهای مختلف مانند تلویزیونهای هوشمند، گوشیهای موبایل، دوربینهای تحت شبکه و بسیاری دیگر از سیستمهای جدید که با نام خانه هوشمند شناخته میشوند، دارای API برای دریافت و ارسال اطلاعات هستند.
برای مثال یک دوربین تحت شبکه دارای دستورالعملهایی برای تغییر جهت، شروع و توقف فعالیت، ارسال تصاویر و فیلم و … میباشد. برنامهنویسان میتوانند این دستورالعملها را از طریق شبکه به دوربین ارسال کنند و اطلاعات لازم را دریافت نمایند.
مطالعه بیشتر