اگر به تازگی وارد دنیای برنامه نویسی و توسعه برنامه شده باشید، با واژه API آشنایی خواهید داشت. سیستم عامل ها، مرورگر های وب و.. اکثرا در بروزرسانی های برنامه، اقدام به قرار دادن API جدید برای توسعه دهندگان نرم افزار ها می کنند. اگر خیلی با این موضوع آشنایی ندارید، با ما تا انتهای مطلب همراه باشید. امروز در کلاسیک وب به سوال API چیست پاسخ میدهیم و کاربرد های ای پی آی در برنامه نویسی را بررسی خواهیم کرد.
API مخفف چیست و چه کاربردی در برنامه نویسی دارد؟
What Is an API?
همانطور که اشاره کردیم، در زمینه برنامه نویسی و توسعه نرم افزار به صورت متعدد با موضوع API برخورد خواهید داشت. توضیح تخصصی این موضوع نیاز به زمان و داشتن پیش زمنیه های مختلف دارد اما در این مطلب سعی می کنیم تا به صورت ساده و قابل درک، API را معرفی کنیم.
توابع API چیست و مخفف چه کلمه ای است؟
استاندارد API چیست؟ کلمه API مخفف Application Programming Interface است و می توان آن را به عنوان رابط برنامه نویسی نرم افزار معرفی کرد. برای آشنایی بیشتر با یک مثال شروع می کنیم.
فرض کنید در این مثال API را یک منوی رستوران در نظر بگیریم. (رستوران مانند یک برنامه دیگر در نظر گرفته می شود و شما هم نقش برنامه خودتان را دارید) در این منو، شما لیستی از غذا هایی که می تواند سفارش دهید را در این لیست به همراه توضیحاتی دیگر مانند محتویات، قیمت و.. ذکر شده اند. هنگامی که شما سفارش دهید و مشخص کنید که چه چیزی از منو را انتخاب کرده اید، آشپزخانه رستوران این کار را انجام می دهد و در پایان سفارش شما را تحویل می دهد.
شما در این زمان سفارش خود را تحویل می گیرد در صورتی که حتی نمی دانید رستوران این غذا یا سفارش را چگونه تهیه کرده است و نیازی به آن هم نخواهید داشت. (و می توانید از این سفارش برای راه اندازی کار خود استفاده کنید)
به طور مشابه، API در برنامه نویسی مانند همین منوی غذا است. شما لیستی از عملیات هایی را که توسعه دهندگان برنامه می توانند از آن برنامه گرفته و استفاده کنند را نشان می دهد که همراه با توضیحات (مانند توضیحات منوی غذا) آماده شده است. در اینجا هم شما نیازی به دانستن روش انجام این کار ندارید و می توانید از آن ها در برنامه خود استفاده کنید. یعنی می توان گفت که API نقش عامل میان دو برنامه را اجرا می کند و کار آن برقراری ارتباط بین دو برنامه بدون نیاز به ما است.
این توضیح، توضیح کامل و دقیقی برای پاسخ به سوال API KEY چیست؟ و.. نیست اما تا حدود زیادی شما را با مفهوم آشنا می کند. در API توسعه دهندگان ممکن است مجبور باشند تا برای دریافت نتایج بهتر، داده های خود را به API بدهند. اگر با مثال رستوران بخواهیم توضیح دهیم، یعنی شما ممکن است برخی از مواد اولیه را به آشپزخانه بدهید تا از آن ها برای تهیه سفارش شما استفاده شود!
اگر به صورت علمی تر توضیح دهیم، API اینستاگرام و.. اجازه می دهند تا توسعه دهندگان نرم افزار، برای صرفه جویی در وقت با استفاده از پیاده سازی یک پلتفرم، کارهای اصلی را انجام دهند. با این کار کد های برنامه نویسی کاهش می یابد و سازگاری بیشتری در برنامه برای یک پلتفرم ایجاد می شود. API ها می توانند دسترسی به منابع سخت افزاری و نرم افزاری را کنترل کنند.
همچنین اگر نیاز به آموزش های بیشتری در زمینه یادیگری برنامه نویسی دارید، پیشنهاد می کنیم مطلب ۱۲ تا از بهترین سایت فارسی و انگلیسی دوره های آموزش برنامه نویسی آنلاین را مطالعه نمایید.
کاربرد API ها برای توسعه دهندگان نرم افزار
اگر در یک کلمه بخواهیم توضیح دهیم، API زندگی را برای توسعه دهندگان راحت تر می کنند! زیرا کاربرد API متنوع و فراوان است که همگی باعث راحت تر و بهتر شدن کار برنامه نویسان می شود.
به طور مثال شما می خواهید یک برنامه موبایلی برای آیفون طراحی کنید. سیستم عامل iOS که روی آیفون نصب است، (مانند هر سیستم عامل دیگری) تعداد زیادی از API را فراهم ساخته است. حال شما می خواهید یک مروگر وب برای نمایش یک یا چند صفحه وب در برنامه خود جاسازی کنید. در این شرایط دیگر نیازی نیست که برنامه مرورگر وب را از ابتدا فقط برای برنامه خود، طراحی و کد نویسی کنید. بلکه فقط کافی است تا از WKWebView API استفاده کنید. با این کار WebKit (Safari) در برنامه شما اجرا می شود و برای باز شدن صفحه وب، مرورگر سافاری در برنامه شما اجرا می شود.
در مثالی دیگر، شما می خواهید در برنامه خود، عکس و یا فیلم را هم از دوربین آیفون ضبط کنید. به صورت اصولی شما باید رابط کاربر دوربین طراحی کرده و بسازید و در برنامه خود قرار دهید اما با وجود API نویسی دیگر نیاز به این کار نیست. با استفاده از Camera API اپل می توانید از برنامه دوربین خود گوشی برای اجرای کار در برنامه خود استفاده کنید.
یعنی اگر API نبود، شما برای برنامه (مثال زده شده) خود نیاز بود تا برنامه ای برای دوربین، تفسیر ورودی های سخت افزاری دوربین و.. طراحی کنید اما همه این کار های سخت را توسعه دهندگان سیستم عامل اپل انجام داده اند و آن ها را در قالب API برای توسعه دهندگان نرم افزار که برنامه برای اپل می سازند، در اختیار قرار می دهند.
قابل ذکر است با این کار در صورتی که اپل API دوربین خود را بهبود ببخشد، به صورت خودکار در تمام برنامه هایی که از آن استفاده می کنند و یا به عبارتی به آن تکیه کرده اند، به صورت خودکار آپدیت ها اعمال می شود. با وجود مدل های مختلف گوشی و سخت افزار و..، اهمیت این بخش بیشتر نمایان می شود. به عنوان مثال بیشتر، API در هر پلتفرمی ارائه می شود.
- مثلا آیا می خواهید در برنامه خود یک کادر محاوره ای (Dialog Box) در ویندوز ایجاد کنید؟ این کار با استفاده از API امکان پذیر است.
- آیا می خواهید از تایید اعتبار اثر انگشت اندروید استفاده کنید؟ برای این کار یک API اندروید وجود دارد و دیگر مجبور نیستید هر سنسور اثر انکشت از تولید کننده های مختلف را آزمایش کنید و برنامه ای برای استفاده از آن بسازید.
این کار ضمن راحت تر کردن مسیر برای توسعه دهنده نرم افزار، به سرویس اولیه هم قابلیت هایی جهت کنترل، امنیت، بررسی و.. می دهد می تواند یک جریان دو طرفه باشد.
همچنین برای افرادی که قصد ساخت دیتابیس آنلاین دارند، مطالعه مطلب ۷ مورد از بهترین سرویس های ساخت دیتابیس آنلاین برای سایت و.. هم کاربردی و مفید خواهد بود.
امنیت و اجازه دسترسی و استفاده از API در برنامه های مختلف
حال سوالی که ممکن است در ذهن شما پیش آید، امنیت دستگاه است. زیرا با این روش می تواند به منابع مختلف سیستم عامل یا برنامه دسترسی داشت. اما برای این موضوع هم فکری شده است و همانطور که اشاره کردیم، API دسترسی به منابع را کنترل می کند زیرا برنامه ها ممکن است مجاز به استفاده از API خاصی نباشند.
به طور مثال در برنامه های گوشی که در اندروید و.. نصب می کنید، دسترسی های برنامه به شما نشان داده می شود و در حال استفاده از ویژگی خاصی برای اولین باز، باز هم از شما اجازه گرفته می شود.
در مثالی دیگر که احتمالا حتما با آن مواجه شده اید، در حال بازدید از یک سایت هستید که مرورگر یک پیام به شما نشان می دهد و از شما می خواهد تا برای دسترسی سایت به محل دقیق شما از طرق GPS و.. اجازه دهید یا آن را رد کنید. در این مورد سایت سعی می کند تا از API جغرافیایی و مکان یابی مرورگر استفاده کند و برای امنیت بیشتر، از شما در این مورد اجازه خواسته می شود. ( اگر اجازه دهید، سایت از مروگر در خواست می کند که بگوید شما کجا هستید و این مرورگر است که بعد از تایید شما از منابع داخلی استفاده کرده و از طریق GPS و یا اطلاعات شبکه، محل فیزیکی شما را به سایت مورد نظر نشان می دهد. در واقع نقش API ایجاد ارتباط بین این دو برنامه به صورت خودکار است)
قابل ذکر است که اشاره شود که در اینجا سیستم عامل ها برای افزایش امنیت و حفظ حریم خصوصی شما، دسترسی به منابع مهم مثل GPS و.. را فقط از طریق API قابل دسترسی قرار می دهند. این اصل در سیستم عامل های اندروید و iOS هم وجود دارد و برنامه ها برای دسترسی به دوربین و.. باید از API و اجازه مالک استفاده کنند. این گونه API در افزایش امنیت هم کاربرد پیدا می کند.
سایر کابرد های API در برنامه نویسی اندروید و.. چیست؟
کابرد ها به همین جا ختم نمی شوند و دامنه گسترده ای دارند. زیرا با توجه به ساختار استفاده از API، برای برقراری ارتباط بین سرویس های مختلف استفاده می شوند. مثلا:
- شما سایتی را دیده اید که برای نشان دادن آدرس، از یک پنجره کوچک گوگل مپ استفاده می کند. در واقع این سایت از Google Maps API جهت جاسازی این نقشه در دل خود استفاده می کند. (استفاد از API گوگل ضمن راحتی استفاده برای مدیران وبسایت اولیه، به گوگل مپ هم اجازه می دهد تا دسترسی ها به نقشه را در آن سایت کنترل کند.)
- در نمونه های دیگر برخی از وبسایت ها از ابزار هایی مانند Google Translate در سایت خود استفاده می کنند که کاربردی دیگر است.
- همچنین استاندارد OAuth هم طراحی شده است تا با استفاده از اطلاعات خود در یک حساب، وارد اکانت سایت دیگری شوید. به طور مثال مشاهده کرده اید که در برخی از سایت ها با اطلاعات اکانت Facebook, Google یا Twitter و.. خود می توانید در یک وبسایت جدید بدون نیاز به وارد کردن اطلاعات یک اکانت بسازید.
در پایان اگر قصد ساخت برنامه اندروید بدون کد نویسی گرفتید، مطالعه مطلب ۶ تا از بهترین سایت های رایگان ساخت برنامه اندروید و آیفون آنلاین و بدون کد نویسی! را فراموش نکنید.
نظرات و پیشنهادات شما؟
در مطلب امروز سعی کردیم تا به صورت مفهومی، ساده و مختصر شما را با API و کاربرد های آشنا کنیم. اگر به نکته ای در این مطلب اشاره نشده است، می توانید آن را همراه سایر نظرات، پیشنهادات و تجربیات خود در این زمینه را در دیدگاه این پست با ما به اشتراک بگذارید.
آخرین دیدگاه ها
تا کنون دیدگاهی ثبت نشده است.