API چیست ؟ و چه کاربردی دارد ؟

API چیست : احتمالا بارها کلمه ی API به چشمتان خورده است.سیستم عامل،مرورگرهای وب و آپدیت های برنامه اغلب API های جدید را برای توسعه دهندگان اعلام می کنند.اما API چیست؟

API چیست ؛ رابط برنامه نویسی اپلیکیشن (Application Programming Interface)

کلمه ی API مختصر عبارت رابط برنامه نویسی اپلیکیشن به انگلیسی Application Programming Interface می باشد.

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

API نیز به همین طریق فهرستی از عملکردهایی که توسعه دهندگان می توانند استفاده کنند را همراه با توضیحاتی ارائه می دهد.نیازی نیست که توسعه دهنده بداند که مثلا یک سیستم عامل چگونه دیالوگ باکس Save As را ایجاد می کند.توسعه دهندگان تنها کافیست که بدانند می توانند از یک ویژگی در برنامه ی خود استفاده کنند.

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

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

رابط برنامه نویسی اپلیکیشن-API چیست
api چیست

API ها بسیاری از شرایط را برای توسعه دهندگان آسان می کنند

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

برای مثال اگر می خواهید مرورگر وب یک یا بیش از یک صفحه ی وب را نمایش دهد نیازی نیست که از طریق Scratch یک مرورگر وب را طراحی کنید.می توانید بدین منظور از WKwebview API استفاده کنید تا مرورگر چند صفحه ی وب را نمایش دهد.

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

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

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

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

برای مثال اگر پیش از این از یک وب سایت دیدن کرده اید و پیغامی را در مرورگر خود مبنی بر این که وب سایت تقاضا دارد موقعیت دقیق شما را بداند دریافت کنید آن وب سایت قصد دارد از جئولوکیشن API در مرورگر وب شما استفاده کند.مرورگرهای وب رابط برنامه نویسی اپلیکیشن های مشابه این را ارائه می دهند تا توسعه دهندگان وب به راحتی به موقعیت شما دست یابند همچنین ممکن است وب تنها بپرسد Where are you در چنین شرایطی مرورگر برای پیدا کردن موقعیت فیزیکی شما باید کار به GPS و شبکه های وای فای مجاور دسترسی پیدا کند که کار سختی است.

API چیست ؟
api چیست

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

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

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

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

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

با استفاده از API گوگل می تواند دسترسی به گوگل مپ ها را بر روی وب سایت های شخص ثالث کنترل کند در چنین شرایطی گوگل اطمینان حاصل می کند که وب سایت ها مرتبا از گوگل مپ ها استفاده می کنند.

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

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

api چیست
api چیست

در آخر لازم به ذکر است که اگر متوجه شدید

یک پلتفرم نرم افزاری یا سرویس API های جدیدی برای سرویس ها یا سخت افزارهای متنوع اضافه کرده است یعنی توسعه دهندگان آسان تر می توانند از این قبیل ویژگی ها استفاده کنند.

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *