API یاApplication Programming Interface یعنی رابطه کاربری برنامه نویسی اپلیکیشن را مشخص می کند. بیایید اول یک تعریف و بعد یک مثال واضح در رابطه با API بزنیم.
تعریف :
یک API رابط پیاده سازی شده توسط نرم افزار است که به دیگر برنامه ها این اجازه را می دهد با آن در ارتباط باشند .
مثال :
یک API را مانند یک “منو” در رستوران در نظر بگیرید ؛ در منو ای که مشاهده می کنید لیستی از غذا ها برای شما فراهم شده است که کنار نام هر غذا یک توضیح کوچک هم وجود دارد. هنگامی که شما غذای مورد نظر خود را انتخاب و مشخص کردید ، سفارش شما به سمت رستوران رفته ، و آشپزخانه غذای آماده را برای شما می آورد. شما دقیقا نمی دانید که رستوران چگونه این غذا را برای شما آماده کرده است ، بلکه شما به چنین چیزی هم نیاز ندارید و لزومی بر دانستن آن وجود ندارد.
دقیقا مانند مثال بالا ، API لیستی از عملیات ها و عملکردهایی است که توسعه دهنگان به عنوان واسطه از آن می توانند استفاده کنند که هر عملیات مانند هر غذا یک توضیح در رابطه با کارهایی که انجام می دهند را شامل می شود. توسعه دهندگان نیازی به چگونگی انجام و نتیجه ی این عملیات ها را ندارند. به عنوان مثال سیستم عامل یک دکمه ی “Save As” که می سازد ، توسعه دهندگان فقط این را می خواهند که در برنامه ی خود از این دکمه استفاده کنند.
اما هنوز هم این یک تشبیه درست نیست ، توسعه دهنگان می توانند از داده های خود در API مورد نظر استفاده کنند مانند رستورانی که برخی موادش را برای آماده کردن غذای خود ارائه می دهید.
API ها به توسعه دهنگان این اجازه را می دهد که وقتی مورد استفاده قرار بگیرند در وقتشان صرفه جویی کنند ، همانطور که با استفاده از اِی پی آی ها باعث صرفه جویی در وقت می شود ، توسعه دهنگان می توانند از کدهای کمتری استفاده کنند و کمتر کد بزنند و باعث می شود یکپارچگی بیشتری در برنامه و کدهای خود داشته باشند
API کار توسعه دهندگان را آسان تر کرده است:
اگر می خواهید در برنامه ی خود توسط دوربین عکس یا فیلمبرداری کنید نیازی نیست که خودتان از ابتدا رابط کاربری دوربین را طراحی کنید. شما می توانید از API ساخته شده از قبل در سایت اپل استفاده کنید. اگر این APIها وجود نداشتند توسعه دهنگان باید از ابتدا خودشان کدنویسی کرده و تمامی کانفیگ ها را انجام بدهند تا از لحاظ نرم افزار و سخت افزاری با یکدیگر هماهنگ باشند. اما حالا شرکت اپل برای راحتی کار توسعه دهنگان این APIها را ساخته است تا دیگر سختی ای برای توسعه دهنگان برای ساخت یک دوربین نداشته باشد بلکه تنها با استفاده از APIدوربین آن را در اپلیکیشن خود داشته باشند. هنگامی که شرکت اپل تغییری در APIاستفاده شده در اپلیکیشنی که ساخته اید بدهد بصورت اتوماتیک این تغییرات انجام خواهند شد.
API ها دسترسی به منابع را کنترل می کنند:
ها همچنین برای کنترل دسترسی به دستگاه های سخت افزاری و عملکرد نرم افزار مورد استفاده قرار می گیرند که ممکن است برنامه کاربردی مجاز به استفاده از آنها نباشد. به همین دلیل API ها اغلب در امنیت نقش مهمی ایفا می کنند.
برای مثال اگر وارد سایتی شده باشید که از شما درخواست پیدا کردن موقعیت مکانی بکند ، این بدان معناست که سایت مورد نظر می خواهد از APIجغرافیای موجود در مرورگر شما استفاده کند. APIهایی مانند این در مرورگرها باعث می شود کار توسعه دهندگان آسان شود ، بلکه فقط آن ها باید بپرسند “شما کجا هستید؟” و نهایت کار اصلی ای که باید انجام شود توسط مرورگر شما است که باید موقعیت جغرافیای شما را توسط GPS یا وایفایی را که استفاده می کنید مورد استفاده قرار دهد.
همچنین ، ممکن است خود مرورگر ها هم از یک APIمشخص شده برای نمایش موقعیت مکانی شما استفاده کنند. هنگامی که یک سایت می خواهد موقعیت مکانی دقیق شما را داشته باشد تنها راه این است که از یک API Location استفاده کند و وقتی که سایتی از این APIاستفاده کند ، شما می توانید این درخواست را تایید یا رد کنید. تنها راه دسترسی به منابع سخت افزاری مانند GPS تنها راه استفاده از APIساخته شده ی آن است که مرورگر می تواند دسترسی به این سخت افزار ها را محدود کند و مشخص کند چه برنامه هایی به آن دسترسی داشته باشند یا نه.
API در چه سیستم عامل هایی وجود دارد و قابل استفاده است؟
این ویژگی ها در در سیستم عامل های اندروید و iOS هم مورد استفاده قرار می گیرد که در آن برنامه ها دسترسی هایی نیاز دارند و این دسترسی ها توسط APIانجام می گیرد. برای مثال : هنگامی که یک توسعه دهنده بخواهد توسط APIدوربین ، به دوربین گوشی شما دسترسی پیدا کند که اگر شما درخواست را رد کنید ، به هیچ عنوان نمی تواند به دوربین گوشی دسترسی داشته باشد.
API ها برای برقراری ارتباط بین سرویس ها استفاده می شود
APIها بغیر از موارد گفته شده ی بالا استفاده های دیگری هم دارند ، برای مثال ، اگر نقشه ی گوگل را در سایتی دیدید این بدان معناست که سایت مورد نظر از API نقشه ی گوگل در سایت خود استفاده کرده است. اگر چنین APIهایی ساخته نمی شد توسعه دهندگان یا وب مستر ها باید خودشان نقشه ای را تولید می کردند و در سایت خود قرار می دادند.
تا اینجا متوجه شدیم که استفاده از API چنین سود هایی دارد :
1- صرفه جویی در وقت.
2- کاهش حجم کد نویسی.
3- امنیت بیشتر و بالاتر از سمت توسعه دهنده و کاربر.
4- بروزرسانی اتوماتیک API.
5- استفاده از APIباعث می شود پیشرفت بیشتر و بهتری داشته باشیم.
6- وجود APIباعث شده است کاربران سریعتر کارهای روزانه خود را انجام دهند.
7- ارتباط بهتر بین کاربر و توسعه دهنده.