11 - API چیست ؟

API چیست ؟

API چیست ؟

امروزه عبارت API در موارد زیادی استفاده می شود. سیستم‌ عامل، مرورگر وب و به‌ روزرسانی‌ های برنامه‌ های کاربردی، اغلب API های جدید ارائه می‌ دهند؛ در واقع API به چه معناست ؟

عبارت API مخفف ( Application Programming Interface ) است که به معنای رابط برنامه‌ نویسی برنامه کاربردی می باشد.

به API مانند منوی یک رستوران نگاه کنید. منو شامل لیستی از غذا ها به همراه توضیحی در مورد هر غذا است. زمانی که یکی از غذا های منو را سفارش می‌ دهید، آشپزخانه رستوران کار تهیه غذا را انجام می‌ دهد. شما دقیقاً نمی‌ دانید که رستوران چگونه غذا را آماده می‌ کند. به‌طور مشابه، API عملیاتی که توسعه‌ دهندگان از آن‌ ها استفاده می‌ کنند را به همراه شرح فعالیت آن‌ ها لیست می‌ کند. توسعه‌ دهنده نیازی به دانستن چگونگی ساخت پنجره « Save As » توسط سیستم‌ عامل ندارند، بلکه تنها دانستن وجود این امکان در برنامه برای آن‌ ها کافی است.

A - API چیست ؟

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

ویژگی API ها :

API ها زندگی را برای توسعه‌ دهندگان ساده‌ تر کرده اند

تصور کنید می‌ خواهید یک برنامه کاربردی را برای iPhone توسعه دهید. سیستم‌عامل iOS مانند دیگر سیستم‌ عامل‌ ها تعداد زیادی API تولید می‌ کند، تا کار شما ساده‌تر شود.

به‌ عنوان‌ مثال وقتی که شما می‌ خواهید یک مرورگر را برای نمایش یک یا چند صفحه وب در برنامه‌ تان بگذارید، نیازی نیست که یک مرورگر را برای برنامه‌ تان از ابتدا برنامه‌ نویسی کنید. بلکه می‌ توانید از WKWebView API برای قرار دادن مرورگر Safari در برنامه‌ تان استفاده کنید.

اگر می‌ خواهید در برنامه‌ تان با استفاده از دوربین iPhone عکس یا ویدیو تهیه کنید، نیازی نیست که رابط کاربری دوربین خودتان را بنویسید. شما از API دوربین برای گنجاندن دوربین داخلی iPhone در برنامه خود استفاده می‌ کنید. اگر API ها وجود نداشتند تا کار را ساده کنند، در این صورت توسعه‌ دهندگان برنامه کاربردی باید نرم‌افزار دوربین خودشان را ایجاد می‌ کردند و ورودی‌ های سخت‌افزار دوربین را تفسیر می‌ کردند؛ اما توسعه‌ دهندگان سیستم‌ عامل Apple همه این دشواری‌ ها را انجام داده‌ است، بنابراین توسعه‌ دهندگان می‌ توانند تنها با استفاده از API دوربین، دوربین را در برنامه‌ شان تعبیه کنند و به کارشان ادامه دهند. علاوه بر این، زمانی که Apple به توسعه API دوربین می‌ پردازد، همه برنامه‌ های کاربردی مبتنی بر آن به‌ طور خودکار از مزایای آن بهره‌ مند می‌ شوند.

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

API ها دسترسی به منابع را کنترل می‌ کنند

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

به‌ عنوان‌ مثال، اگر شما تا کنون از وب‌ سایتی بازدید کرده‌ اید و پیغامی را در مرورگر مشاهده کرده‌ اید که از شما در مورد مکان دقیقتان سؤال پرسیده است، آن وب‌ سایت سعی در استفاده از geolocation API در مرورگر وب شما دارد. مرورگرها چنین API هایی را ارائه می‌ دهند تا دسترسی به موقعیت شما را برای توسعه‌ دهندگان وب ساده‌ تر کنند. آن‌ ها تنها می‌ پرسند « شما کجا هستید؟ » قسمت سخت کار را برای دسترسی به GPS یا شبکه‌ های Wi-Fi نزدیک برای یافتن موقعیت فیزیکی شما، همگی بر عهده مرورگر می باشد.

P - API چیست ؟

به این ترتیب، مرورگرها این اطلاعات را از طریق یک API نیز ارائه می‌ دهند زیرا کنترل دسترسی به آن امکان‌ پذیر است. زمانی که یک وب‌ سایت می‌ خواهد به موقعیت دقیق فیزیکی شما دست یابد، تنها راه ممکن استفاده از API مکانی است؛ و زمانی که یک وب‌ سایت درخواست دسترسی به موقعیت شما را دارد، شما ( کاربر ) می‌ توانید درخواست او را بپذیرید یا رد کنید. تنها راه دسترسی به منابع سخت‌ افزاری مانند حس‌ گر های GPS از طریق API است بنابراین مرورگر توانایی کنترل دسترسی به سخت‌ افزار و محدود نمودن آنچه برنامه‌ های کاربردی می‌خواهند انجام دهند را دارد.

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

از API ها برای برقراری ارتباط بین سرویس‌ ها استفاده می‌ شود

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

همچنین، به دلیل اینکه این یک API است، گوگل می‌ تواند دسترسی به Google Maps را در وب‌ سایت‌ های دیگر کنترل کند و تضمین کند که آن را به‌ درستی نمایش می‌ دهند نه اینکه آن را به‌ صورت یک قاب به‌ هم‌ ریخته در وب‌ سایتشان تعبیه کنند. این موضوع شامل سرویس‌ های آنلاین مختلفی می‌ شود. علاوه بر این API هایی دیگری نیز برای درخواست ترجمه متن از Google Translate یا تعبیه نظرات فیس‌ بوک یا توییت هایی از Twitter وجود دارد.

نتیجه 

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