APIچیست؟
API چیست؟
API مخفف کلمه Application Programming Interface (رابط برنامه نویسی نرم افزار) میباشد. رابط برنامه نویسی نرم افزار مجموعه ای از کد برنامه نویسی است که انتقال داده را بین یک محصول نرم افزاری و محصول دیگری امکان پذیر می کند؛ درواقع یک واسطه نرم افزاری است و به دو برنامه اجازه می دهد تا با یکدیگر صحبت کنند؛ همچنین این شرایط شامل تبادل داده میباشد.
برای مثال هنگامی که قسمتی از یک متن در برنامهی ای کپی کرده و در برنامه ی ورد paste میکنید، API مربوط به این بخش، وظیفهی تعریف دادههای جابجا شده را برای دو برنامه به عهده گرفته است و به همین دلیل شما همان متن را در محیط برنامهی دوم هم مشاهده میکنید.
آنچه یک API فراهم می کند یک لایه امنیتی است
داده های تلفن شما هرگز به طور کامل در معرض سرور قرار نمی گیرد ، و به همین ترتیب سرور هرگز به طور کامل در معرض تلفن شما قرار نمی گیرد. در عوض ، هر یک با بسته های کوچکی از داده ارتباط برقرار می کند ، فقط آنچه لازم است را به اشتراک می گذارد.
دو مفهوم مهم در فرهنگ api ها وجود دارد که باید درک شوند:
1. ارائه دهنده API:ارائه دهنده ای پی آی، شخص یا شرکتی است که قصد دارد تا خدمات خاصی را از طریق یک وب سرویس خاص ارائه نماید. وب سرویسی که خود ارائه دهنده آن را طراحی کرده و در اینترنت در دسترس کاربران خود قرار داده است.
2. مصرف کننده (کلاینت) API:مصرف کنندگان ای پی آی، برنامه نویسان و یا غالبا توسعه دهندگان نرم افزارهایی هستند که میخواهند اپلیکیشنی را براساس یک وب سرویس و یا بر پایه نیاز روز مردم، برای کاربران خود طراحی کنند.
API ها چگونه بين نرم افزار ها و سرويس ها ارتباط برقرار مي کند؟
API ها با روشن کردن عملکرد ها و اطلاعات نهان در برنامه ارتباط آن ها را با محيط خارج برقرار مي کند که اين آشکار سازي در فضاي امن صورت مي گيرد که اجازه دسترسي به برنامه هاي خارجي داده نمي شود. خوشبختانه APIها دسترسي برنامههاي خارجي به برخي مشخصههاي خاص را محدود ميکنند و با تعريف شيوهي تعامل سرويسها يا نرمافزارها با يکديگر، امکان ايجاد يک ارتباط امن و سودمند را مهيا ميکنند. اين شيوه امکان اشتراکگذاري دادهها بين برنامههاي مختلف را فراهم کرده و بدون نياز به توسعهدهندگان تعامل بين نرمافزارها نيز امکان پذير ميشود.
انواع API
1. ایپیآی سختافزاری:
زمانی که با اجرا برنامه سنگین روی سیستم فشار زیادی به آن وارد می شود فن ها با سرعت بیشتری کار می کنند تا از این طریق سی پی یو را که تحت فشار زیادی قرار گرفته خنک نمایند؛ این ساز و کار از طرق ارتباط بین ای پی آی سخت افزاری صورت می گیرد.
2. ایپیآی سیستمعاملی:
برای مثال اگر بخواهید یک کادر محاوره ای در ویندوز ایجاد کنید میتوانید از APIهای اختصاصی که مایکروسافت برای ویندوز عرضه کرده هست استفاده کنید.
3. ایپیآی زبانهای برنامهنویسی:
زبانی مانند جاوا دارا یک هسته اصلی شامل سینتکس این زبان، نحوهٔ ساخت متغیر، دیتا تایپها و ... میشود؛ اما در کنار آن صد ها کلاس مختلف توسط توسعه دهندگان ارائه شده است که تحت عنوان شناخته میشوند که فیچرهای تکمیلی این زبان را در دسترس دولوپرها قرار می دهند java API
4. کیتهای توسعهٔ نرمافزار:
ADK نوعی از ای پی آی می باشد که توسط شرکتهای مختلفی همچون گوگل، فیسبوک و … عرضه میشوند تا دولوپرها با استفاده از این کیتها بتوانند اقدام به توسعهٔ نرمافزار کنند.
5. ایپیآی تحت وب (وب سرویس):
Web API به هر پروتکلی گفته میشود که از طریق شبکهٔ اینترنت و وب تعامل مابین اپلیکیشنهای مختلف را امکانپذیر سازد و از همین روی Web Service نیز نامیده می شود.
درنتیجه API ها اجازه می دهند که محصول یا خدمات شما با سایر محصولات و خدمات ارتباط برقرار کنند ، بدون اینکه نحوه پیاده سازی آنها بدانند واین باعث میشود توسعه برنامه ،صرفه جویی در وقت و هزینه را آسان تر بکند.
API ها چنان ارزشمند شده اند که بخش عمده ای از درآمد بسیاری از تجارت را تشکیل می دهند. شرکت های بزرگی مانند گوگل ، eBay ، Salesforce.com و آمازون تنها تعدادی از شرکت هایی هستند که از طریق API های خود درآمد کسب می کنند.