API چیست؟



visibility  
mode_comment   ۱۱

API در گفت و گو های برنامه نویسان به صورت پرتکرار استفاده می شود .ممکن است کسانی را که به تازگی به دنیای برنامه نویسی وارد شده اند، کمی سردرگم کند. با توجه به این موضوع ممکن است از خودتان بپرسید API چیست؟ چه کاربردی دارد؟ این ها سوالاتی است که معمولا ذهن برنامه نویسان تازه کار را به خود مشغول می کند. و خبر بد اینکه دنیای اینترنت سرشار از اطلاعات گیج کننده در مورد API است.

فرض کنید نیاز دارید مبلغ موجودی حساب بانکی تان را مشاهده کنید. بنابراین برای این منظور زمانی که در ماشینتان در پشت چراغ قرمز هستید از موبایل بانکتان استفاده می کنید. شما می توانستید همین کار را از طریق وب سایت بانک هم انجام دهید. هیچ فرقی نمی کند که شما برای این کار از کدام نرم افزار بانک استفاده کرده باشید. در واقع شما یک درخواست (Request) به بانکتان فرستاده اید، و یک پاسخ (Response) که همان مبلغ موجودی شما است دریافت کرده اید. در هر دو روش برای دریافت اطلاعات از API بانک استفاده شده است.

API مخفف عبارت Application Programming Interface است. به زبان ساده API بخشی از برنامه است که وظیفه ارائه اطلاعات را دارد. پس از دریافت درخواست یک نرم افزار، یک پاسخ به همراه اطلاعات درخواست شده را به آن نرم افزار ارسال می کند.

API چیست

تفاوت API و وبسایت

همانطور که می دانید در نگاه کلی، اینترنت مجموعه ای از سرورهاست. صفحات سایت های مختلف بر روی یکی از این سرور ها، که به آن ها سرور remote می گوییم قرار دارد. از یک دیدگاه خاص عملکرد این سرورهای remote شباهت بسیار زیادی به API دارد. در واقع شما می توانید لپتاپ شخصی خود را به یک سرور محلی تبدیل کنید. زمانی که شما یک آدرس اینترنتی مانند http://www.7learn.com را در مرورگر خود وارد می کنید، یک درخواست از مرورگر کامپیوتر شما به سرور remote سون لرن ارسال می شود. زمانی که مرورگر پاسخ سرور را دریافت کرد، کد HTML داخل آن را در خود ترجمه کرده و نمایش می دهد.

از دید مرورگر، سرور remote سون لرن یک API محسوب می شود. از این دید، مرورگر نیز خود یک client یا کاربر است. این به آن معنی است که هر زمان که شما یک آدرس اینترنتی را در مرورگر خود وارد می نمایید، در حال استفاده از نوعی API هستید. البته توجه کنید که در حقیقت، سرور remote یک API نیست. در واقع API یک برنامه است که در بخشی از کامپیوتر سرور remote اجرا می شود. این برنامه روی سرور درخواست ها را دریافت و جواب را در قالب پاسخ هایی به کاربران یا کلاینت ها ارسال می کند.

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

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

دسترسی به API ها

به زبان ساده زمانی که شرکتی یک API را در اختیار کاربران خود می گذارد به این معنی است که یک یا چند URL ارائه می دهد که به تناسب درخواست های کاربران، پاسخ هایی حاوی اطلاعات مناسب را ارسال می کند. البته این به آن معنی نیست که همانند یک صفحه وب، این پاسخ ها حاوی اطلاعات گرافیکی هستند. یعنی شما حتی می توانید از طریق وارد کردن URL ها در مرورگر خود، به اطلاعات دسترسی پیدا کنید. پاسخ API معمولا در قالب JSON ارسال می شود. اطلاعات JSON به راحتی می تواند در کدها توسط برنامه نویسان مورد استفاده قرار بگیرد. به مثال زیر توجه کنید:

api چیستدر این مثال از API سایت ip-api استفاده و اطلاعات یک ip خاص را درخواست کرده ایم. API این سایت اطلاعات ip را در اختیار ما گذاشته است. به خاطر داشته باشید که معمولا روش استفاده از هر API و شیوه درخواست اطلاعات از آن در مستندات آن API به طور کامل آموزش داده شده و در اختیار کاربران قرار می گیرد. گفتیم می توانیم با استفاده از وارد کردن URL هر API اطلاعات را از آن درخواست کنیم. به عنوان مثال از طریق مستندات ip-api متوجه می شویم که می توانیم با استفاده از وارد کردن URL در قالب زیر همان اطلاعات را در مرورگر دریافت کنیم:

http://ip-api.com/json/89.187.177.95

جمع بندی

بسیاری از اپلیکیشن ها و سایت ها یک یا چند API را در دسترس برنامه نویسان قرار می دهند تا از این طریق از سرویس های آن ها در برنامه های خود استفاده کنند. به عنوان مثال شرکت تلگرام یک API را در اختیار توسعه دهندگان گذاشته که با استفاده از آن می توانند روبات های تلگرامی بنویسند. همینطور اینستاگرام نوعی از API را ارائه کرده که اپلیکیشن های آنفالویاب و لایک بگیر با استفاده از آن نوشته شده است. با استفاده از API توسعه دهندگان می توانند برای دریافت اطلاعات به URL ارائه شده توسط اپلیکیشن درخواست ارسال کرده و اطلاعات مورد نظر را از طریق پیام پاسخ دریافت نمایند.

متخصص جاوا اسکریپت
با جاوا اسکریپت جادوگری کنید! آیا می دونید با زبان جاوااسکریپت می تونید، برای فرانت اند و بک اند وبسایت ها برنامه نویسی کنید؟ همینطور اپلیکیشن دسکتاپ و موبایل بسازید؟ اگر دوست داری اینکارها رو انجام بدی و React, ElectronJS, ReactNative, NodeJS,MongoDB و ... رو تو یه دوره یاد بگیری، متخصص جاوااسکریپت سون لرن رو حتما ببین : متخصص جاوا اسکریپت arrow_back
7Learn Experts
comment دیدگاه کاربران
Daniel Yousefi Far replyپاسخ

API واقعا خیلی عالی هستند، مثلا API یک سایت ذخیره سازی ابری، این امکان را به ما می دهد که بدون مراجعه به آن سایت فایل آپلود کنیم، حذف کنیم و … از کار ها را انجام بدیم.

لقمان آوند

بله دقیقا جناب یوسفی
ممنون از مثال خوبتون

لقمان نیریزی replyپاسخ

بسیار جالب و مفید بود. فقط یه سوال” اگه یه سرور محلی رو مثل لپتاب به سروری که بتوان با استفاده از نت بهش دسترسی پیدا وکنیم چجوریه؟ با تشکر

زهرا فرحمند

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

reza replyپاسخ

سلام وقت شما بخیر
ممنون بابت بیان روان و سادتون
ولی اول نوشته از انواع api صحبت کرده
بودین ولب در ادامه خبری از توضیح دادنشون نبود
لطفا در این مورد هم صحبت کنید

زهرا فرحمند

سلام رضای عزیز. بله حتما مقالات رو به زودی به روز و کامل تر می کنیم. از صبوریتون پیشاپیش ممنونیم 🙂

امیر هادیان replyپاسخ

با سلام
مطالبی که در رابطه با API بود رو خوندم ولی کامل متوجه تفاوتش با وبسایت نشدم . برای مثال نمیشه تلگرام یا اینسترام برای خدماتی که میخوان به برنامه نویس ها ارائه بدهند از یک وبسایت مجزا استفاده کنند یا دقیقا API تو بطن خوده وبسایت قرار میگیره؟

زهرا فرحمند

سلام آقای هادیان عزیز.
ببینید API فقط بخشی از کدهای سایته. مثلا شما علاقه مندید که جدول لیگ برتر رو در سایت خودتون داشته باشید ولی خوب به روز رسانی لحظه ای این اطلاعات کار خیلی سختیه. سایت های ورزشی با استفاده از API خودشون به شما کمک می کنن که با استفاده از یه URL ساده اطلاعات رو ازشون درخواست بدید و اطلاعات به طور خودکار در یک Response به شما برگرده.

Mahmoud Haji Seyed Javadi replyپاسخ

ممنون از سایت خوبتون ، دوستتون دارم آقای آوند عزیز جناب علی محمدی عزیز ، جناب شاهینی عزیز و همه دست اندر کاران عزیز، زنده و موفق باشید

زهرا فرحمند

پاینده باشید. ما هم از همراهی شما خوشحالیم و شما رو دوست داریم 🙂

نازمحمد گری replyپاسخ

با تشکر از شما/ مطالب مفیدی بود/.

add_circle ارسال دیدگاه

خوشحال میشیم دیدگاه و یا تجربیات خودتون رو با ما در میون بذارید :