API چیست ؟ نقش و کاربرد API در زندگی روزمره انسان ها
شما به احتمال زیاد تا به حال کلمه ی “API” را شنیده اید و به گوشتان خورده است. API تاثیرات بزرگی بر دنیای وب گذاشته و دارد که امروزه شاهد آن در بیشتر اپلیکیشن ها هستیم.اگر شما یک برنامه نویس باشید باید با اصطلاح یا کلمه ی API آشنا باشید و بدانید که چطور می شود از آن ها استفاده کرد.
سیستم عامل ها ، مرورگر ها و برنامه هایی که بعد از اینکه نسخه ی جدیدشان ساخته می شود همراه آن یک API جدید برایشان مشخص می شود. اما حالا بطور کلی یک API چیست؟
API یا Application Programming Interface
کلمه ی API که مختصر شده ی Application Programming Interface است یعنی رابطه کاربری برنامه نویسی اپلیکیشن را مشخص می کند. بیایید اول یک تعریف و بعد یک مثال واضح در رابطه با API بزنیم :)
تعریف :
یک API رابط پیاده سازی شده توسط نرم افزار است که به دیگر برنامه ها این اجازه را می دهد با آن در ارتباط باشند.
مثال :
یک API را مانند یک “منو” در رستوران در نظر بگیرید ؛ در منو ای که مشاهده می کنید لیستی از غذا ها برای شما فراهم شده است که کنار نام هر غذا یک توضیح کوچک هم وجود دارد. هنگامی که شما غذای مورد نظر خود را انتخاب و مشخص کردید ، سفارش شما به سمت رستوران رفته ، و آشپزخانه غذای آماده را برای شما می آورد. شما دقیقا نمی دانید که رستوران چگونه این غذا را برای شما آماده کرده است ، بلکه شما به چنین چیزی هم نیاز ندارید و لزومی بر دانستن آن وجود ندارد.
دقیقا مانند مثال بالا ، API لیستی از عملیات ها و عملکردهایی است که توسعه دهنگان به عنوان واسطه از آن می توانند استفاده کنند که هر عملیات مانند هر غذا یک توضیح در رابطه با کارهایی که انجام می دهند را شامل می شود. توسعه دهندگان نیازی به چگونگی انجام و نتیجه ی این عملیات ها را ندارند. به عنوان مثال سیستم عامل یک دکمه ی “Save As” که می سازد ، توسعه دهندگان فقط این را می خواهند که در برنامه ی خود از این دکمه استفاده کنند.
اما هنوز هم این یک تشبیه درست نیست ، توسعه دهنگان می توانند از داده های خود در API مورد نظر استفاده کنند مانند رستورانی که برخی موادش را برای آماده کردن غذای خود ارائه می دهید.
API ها به توسعه دهنگان این اجازه را می دهد که وقتی مورد استفاده قرار بگیرند در وقتشان صرفه جویی کنند ، همانطور که با استفاده از اِی پی آی ها باعث صرفه جویی در وقت می شود ، توسعه دهنگان می توانند از کدهای کمتری استفاده کنند و کمتر کد بزنند و باعث می شود یکپارچگی بیشتری در برنامه و کدهای خود داشته باشند.
API ها می توانند به منابع سخت افزاری و نرم افزاری دسترسی و مدیریت داشته باشند.
API کار توسعه دهندگان را آسان تر کرده است!
به عنوان مثال شما می خواهید یک برنامه برای گوشی های آیفون یعنی سیستم عامل iOS بسازید ، شرکت اپل که سیستم عامل iOS را ساخته است ، برای شما تعداد خیلی زیادی API آماده کرده است که شما می توانید از آن ها استفاده کنید.
برای اینکه بهتر متوجه بشید ، اگر بخواهید در اپلیکیشنی که ساخته اید از یک مرورگر استفاده کنید برای شروع باید خودتان تمامی کدها را نوشته و یکی یکی تست کنید تا درست از آب در بیاید ، اما با وجود API های شرکت اپل شما بسادگی می توانید از ای پی آی WKWebView استفاده کنید ، تا مرورگر آیفون یعنی (Safari) را در اپلیکیشن خود داشته باشید و از آن استفاده کنید.
اگر می خواهید در برنامه ی خود توسط دوربین عکس یا فیلمبرداری کنید نیازی نیست که خودتان از ابتدا رابط کاربری دوربین را طراحی کنید. شما می توانید از API ساخته شده از قبل در سایت اپل استفاده کنید. اگر این APIها وجود نداشتند توسعه دهنگان باید از ابتدا خودشان کدنویسی کرده و تمامی کانفیگ ها را انجام بدهند تا از لحاظ نرم افزار و سخت افزاری با یکدیگر هماهنگ باشند. اما حالا شرکت اپل برای راحتی کار توسعه دهنگان این 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ها در بخش های مختلفی مانند خدمات آنلاین استفاده کنید. APIهایی وجود دارد که می تواند برای ترجمه متون از Google Translate استفاده کنید و یا نمایش کامنت های فیسبوک و توییتر در یک وبسایت.
یکی از کاربردهایی که امروزه بیشتر می شود استفاده از استاندارد OAuth است ، بدان معنا که شما می توانید با اکانتی که در شبکه های اجتماعی دیگر مانند (گوگل ، فیسبوک ، توییتر ، تلگرام) دارید استفاده کنید و بدون اینکه اکانت جدیدی در وبسایت مورد نظر بسازید از این اکانت ها برای ساختن یا وارد شدن به وبسایت استفاده کنید.API ها قرارداد های استاندارد هستند که تعریف می کنند چگونه توسعه دهندگان با یک سرویس ارتباط برقرار می کنند و نوع خروجی آن که توسعه دهندگان باید انتظار داشته باشند را دریافت کنند.
معرفی چند API معروف تا بحال
برای مثال لیستی از APIهای زیر را برای شما آماده کرده ایم که می توانید مشاهده کنید :
- ۱- توییتر
- ۲- نقشه ی گوگل
- ۳- فیسبوک
- ۴- فلیکر
- ۵- آمازون
- ۶- دراپ باکس
- ۷- میل چیمپ
- ۸- اینستاگرام
- ۹- تلگرام
نتیجه ی پایانی از API ها
اگر در این مقاله متوجه شدید که API چیست ، حالا یگونه ای دیگر به آن نگاه خواهید کرد. شما واقعا به این نیاز ندارید که بدانید APIچیست مگر اینکه یک توسعه دهنده باشید.
تا اینجا متوجه شدیم که استفاده از API چنین سود هایی دارد :
- ۱- صرفه جویی در وقت.
- ۲- کاهش حجم کد نویسی.
- ۳- امنیت بیشتر و بالاتر از سمت توسعه دهنده و کاربر.
- ۴- بروزرسانی اتوماتیک API.
- ۵- استفاده از APIباعث می شود پیشرفت بیشتر و بهتری داشته باشیم.
- ۶- وجود APIباعث شده است کاربران سریعتر کارهای روزانه خود را انجام دهند.
- ۷- ارتباط بهتر بین کاربر و توسعه دهنده.