API چیست ؟

API چیست ؟

"API مخفف Application Programming Interface است که یک واسطه نرم افزاری است و به دو برنامه اجازه می دهد تا با یکدیگر صحبت کنند. هر بار که از برنامه ای مانند Facebook استفاده می کنید ، پیام فوری ارسال می کنید یا وضعیت آب و هوای تلفن خود را بررسی می کنید ، از یک API استفاده می کنید."

احتمالاً دیده اید که اصطلاح "API" ظاهر می شود. به روزرسانی های سیستم عامل ، مرورگر وب و برنامه ها اغلب API های جدید را برای توسعه دهندگان اعلام می کنند. اما API چیست؟

 

رابط برنامه نویسی برنامه
اصطلاح API مخفف است و مخفف کلمه "Application Programming Interface" است.

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

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

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

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

 

API ها زندگی را برای توسعه دهندگان راحت تر می کنند
بگذارید بگوییم شما می خواهید برنامه ای برای iPhone بسازید. سیستم عامل iOS اپل تعداد زیادی API را فراهم می کند - مانند هر سیستم عامل دیگر - تا این کار را برای شما راحت تر کند.

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

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

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

 

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

 

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

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

 

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

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

 

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

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

این مورد در مورد سرویس های مختلف آنلاین اعمال می شود. API هایی برای درخواست ترجمه متن از Google Translate ، یا تعبیه نظرات یا توییت های Facebook از توییتر در وب سایت وجود دارد.

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

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

 

 

منبع

 

آرین

آرین هستم عاشق تولید محتوا

ارسال دیدگاه

برای ارسال دیدگاه ابتدا باید وارد حساب کاربری خود شوید