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

احتمالاً اصطلاح “API” را دیده یا شنیده اید. بروز رسانی سیستم عامل، مرورگر وب و برنامه ها اغلب API های جدیدی را برای توسعه دهندگان اعلام می کند. اما API چیست و توسعه دهندگان چگونه از آن استفاده می کنند؟ در ادامه با مقاله‌ی API چیست و چه کاربردی دارد با جت تک همراه باشید!

API چیست

رابط برنامه نویسی کاربردی چیست؟

اصطلاح API مخفف “Application Programming Interface” است.

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

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

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


مطلب مرتبط: فناوری No-Code چیست؟


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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

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


مطلب مرتبط: آموزش تغییر رمز فیسبوک


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

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

دکمه بازگشت به بالا