برای افرادی که با توسعه نرمافزار و برنامه نویسی آشنایی ندارند، API مفهومی گنگ به حساب میآید؛ اما وقتی وارد این حوزه شدید، API به یکی از ابزارهای کاملاً روزمره شما تبدیل میشود. در هر حال بسیاری از کسانی که در حوزههای مرتبط با فناوری یا غیره مشغول به کار هستند، ایده مبهم یا نادرستی از معنی این اصطلاح پرکاربرد دارند.
در حوزهٔ توسعهٔ نرمافزار به کرات واژهٔ API به گوش میخورد اما اکثر برنامهنویسان مبتدی خیلی با ماهیت این اصطلاح آشنا نیستند که در همین راستا در این پُست قصد داریم به طور مفصل با ماهیت و نحوهٔ عملکرد API آشنا شویم اما پیش از هر چیز نیاز به یک مقدمه داریم.
API چیست؟ این سوال بسیاری از کسانی است که بهتازگی وارد دنیای برنامهنویسی شدهاند و نام واسط نرمافزاری به گوششان میرسد. API مخفف عبارت «Application Programming Interface» بهمعنی رابط برنامهنویسی کاربردی است و تعامل دو برنامه با یکدیگر را ممکن میسازد.

ایپیآی مجموعهای از کدهای برنامهنویسی است که انتقال دادهها را بین محصولات نرمافزاری امکانپذیر میکند. درواقع این واسط وظیفه ارسال و دریافت درخواستها بین نرمافزارها را برعهده دارد و ارتباط سایتها و برنامهها را با یکدیگر برقرار میسازد.
مرز مشترک دو نرمافزار را میتوان ایپیآی معرفی کرد. در کدهای برنامهنویسیِ این واسط دستورالعملهایی نهفته است که امکان برقراری ارتباط نرمافزارها با یکدیگر را فراهم میکند.
وقتی یک نرمافزار به دسترسی اطلاعات ازسمت نرمافزار دیگری نیاز دارد، API خود را مشخص و فراخوانی میکند و همزمان با این فراخوانی، الزامات نحوه ارائه داده/عملکرد را مشخص میکند. نرمافزار دیگر داده/عملکرد درخواستی اپلیکیشن قبلی را برمیگرداند؛ بنابراین، رابطی که این دو برنامه بهواسطه آن باهم ارتباط برقرار میکنند، همان ایپیآی است.
زمانی که در مورد وب فکر میکنیم، معمولاً یک شبکه بزرگ از سرورهای به هم متصل را در نظر میآوریم. هر صفحه روی اینترنت در جایی روی یک سرور ریموت ذخیره شده است. البته این سرور ریموت چیز چندان عجیب و جادویی نیست؛ بلکه بخشی از یک رایانه واقع شده در مکانی دوردست است که برای پردازش درخواستهایی که دریافت میکند بهینهسازی شده است.
برای این که چشماندازی از این بحث داشته باشید، باید بدانید که شما میتوانید یک سرور را روی لپتاپ خود راهاندازی کنید که حتی قادر است کل یک وبسایت را روی اینترنت میزبانی کند. در واقع اغلب مهندسان نرمافزار پیش از انتشار کدهای خود روی سرور ریموت و در دسترس عموم، آنها را روی یک سرور محلی توسعه داده و تست میکنند. زمانی که آدرس www.magerta.ir را در مرورگر خود وارد میکنید، یک درخواست به سرور ریموت فرادرس ارسال میشود. زمانی که مرورگر پاسخ را دریافت میکند، کد مربوطه را تفسیر کرده و صفحه متناظر را نمایش میدهد.
سرور فرادرس از نظر مرورگر که به نام کلاینت نیز شناخته میشود، یک API است. این بدان معنی است که هر بار که شما از صفحهای روی وب بازدید میکنید، به نوعی با API سرور ریموت سر و کار دارید. یک API همان سرور ریموت است؛ به جز این که بخشی از سروری محسوب میشود که درخواستها را دریافت کرده و پاسخها را ارسال میکند.
API Documentation و Function Calls
بهگفته متخصصان، APIها گاهی اوقات بهطور قراردادی در نظر گرفته میشوند که در ساختار آن اسناد (Document) توافقی بین طرفین وجود دارد. برای مثال، ابتدا نرمافزار طرف اول یک درخواست از راه دور با ساختار خاصی ارسال میکند و سپس نرمافزار طرف دوم پاسخ میدهد. مستندات API راهنمای برنامهنویسان و نیز تمام اطلاعات لازم درباره نحوه کار با ایپیآی و استفاده از خدمات را ارائه میدهد. در بخشهای بعدی، بیشتر درباره مستندات صحبت خواهیم کرد.
هر API حاوی فراخوانی تابع (Function Calls) است و بهواسطه آن پیادهسازی میشود. در فراخوانی تابع، دستورهای زبانی از نرمافزار درخواست میکند تا اقدامات و خدمات خاصی انجام دهد. عموماً فراخوانیهای تابع (Function Calls) در مستندات API توضیح داده شدهاند.
کاربرد API چیست؟
APIها اهداف مختلفی را دنبال میکنند. بهطورکلی، آنها میتوانند فرایند توسعه نرمافزار را ساده کرده و به آن سرعت ببخشند. برنامهنویسان میتوانند یک عملکرد (مانند رزرو اقامتگاه و تشخیص تصویر و پردازش پرداخت) را از سایر تامینکنندهها (Providerها) به پاسخهای (Solutionهای) موجود خودشان اضافه کنند. همچنین، آنها با استفاده از ارائهدهندگان خدمات شخصثالث (Third-Party)، میتوانند اپلیکیشنهای جدیدی بسازند.
در تمام این موارد، متخصصان مجبور نیستند با کد منبع (Source Code) سروکار داشته باشند؛ زیرا آنان بهسادگی نرمافزار خود را به نرمافزار دیگری متصل میکنند. بهعبارتدیگر، APIها بهعنوان لایهای انتزاعی بین دو سیستم عملکرده و پیچیدگی و جزئیات کاری سیستم دوم را پنهان میکنند.
آموزش طراحی سایت...ما را در سایت آموزش طراحی سایت دنبال میکنید
برچسب:
نویسنده:
بازدید: 51