
API مخفف (Application Programming Interface) به معنای رابط برنامه نویسی اپلیکیشن ، بخش جدایی ناپذیر صنعت توسعه وب میباشد که به روش های مختلفی در دنیای برنامه نویسی ظاهر شده است . هنگام کار با ابزارهایی مانند خط فرمان یا کدهای جاوا و برنامه نویسی سمت سرور و ... API ها مفاهیم بسیار مهمی هستند که احتیاج به یاد گرفتن و درک آن ها میباشد.
به طور کلی تعامل اجزای مختلف نرم افزار ، توسط بستری که یک API فراهم کرده است انجام میشود.
گذشته از موارد بسیار نادری که ممکن است شما در یک پروژه خاص هر خط کد برنامه را را از ابتدا شروع به نوشتن کنید، پیمایش در اجزای(component) خارجی نرم افزار ها بخشی از فرایند کدنویسی میباشد .هر یک از این کامپوننت های خارجی فقط با API منحصر به فرد خود کار می کنند . نرم افزار هایی که به خوبی طراحی شده اند و طراحی آن های از ابتدا انجام شده نیز از API های درونی (internal) برای مرتب نگه داشتن کدها و ایجاد کامپوننت های انعطاف پذیرتر استفاده میکنند . چندین API عمومی وجود دارد که شما میتوانید از قابلیت های آن در پروژه خود استفاده نمایید .
اصطلاح برنامه به طور گسترده و با چندین معنی مشخص استفاده میشود که به سطح دانش برنامه نویسی هرکس بستگی دارد . به عنوان مثال در زمینه API چند روش برای فکر کردن در مورد برنامه وجود دارد :
به عبارت دیگر ، هر نرم افزاری که بتواند به وضوح از محیط خود جدا شود ، می تواند تحت چارچوب API یک برنامه در نظر گرفته شود و احتمالا API خاص خود را نیز خواهد داشت .
برای روشن کردن این موضوع ، بیایید از یک مثال استفاده کنیم ، مانند استفاده از کتابخانه شخص ثالث(third-party)در کد شما. وقتی این کتابخانه در کد شما ادغام شد ، کتابخانه به بخشی از کل برنامه شما تبدیل می شود. از آنجا که این هنوز یک نرم افزار مجزا است ، به احتمال زیاد کتابخانه دارای یک API است که به آن امکان می دهد با بقیه کد شما تعامل داشته باشد.
یک مثال برای کسانی که با طراحی شی گرا آشنا هستند ، جایی که کد به صورت اشیا سازمان یافته شده است ، در برنامه شما ، ممکن است صدها شی تعریف شده باشد همه آنها می توانند با یکدیگر تعامل داشته باشند. هر یک از این اشیا API خاص خود را دارند مجموعه ای از روش ها و خصوصیات عمومی که این شی برای تعامل با اشیا دیگر در برنامه استفاده می کند.
در اینجا دو نمونه از پرکاربردترین موارد برای بیشتر روشن شدن این موضوع وجود دارد:
هر برنامه نویس با تجربه ای می تواند به شما بگوید ساده سازی و ساده سازی کدنویسی ، صرف نظر از اینکه از چه ابزاری استفاده می کنید ، شیوه ای ضروری برای برنامه نویسی سطح بالا است. API ها بخشی اساسی از این ساده سازی هستند - آنها پیچیدگی های طاقت فرسا را کاهش میدهند به طوری که مجموعه ای از دستورالعمل های ساده ای تعریف میشود که شما میتوانید آن ها را بکار بگیرید.
به طور سنتی ، API های ساخته شده اولیه برای اتصال اجزای کد در یک برنامه ای که روی یک کامپیوتر در حال اجرا بود استفاده می شدند سپس با گسترش شبکه ها ( و اکنون سرویس های ابری و میزبانی ) API های عمومی ( API های باز ) بیشتر در دسترس قرار گرفته اند ، این نوع API ها از طریق اینترنت قابل دسترسی هستند که به برنامه نویسان اجازه می دهد کدی بنویسند که با کد برنامه نویس های دیگر در ارتباط باشد. این فرایند اساسی با عنوان یکپارچه سازی ( API integration ) API شناخته شده است .
همچنین API های باز به توسعه دهندگان این امکان را میدهد تا با مقایسه و تطبیق عملکردهایی که دیگر توسعه دهندگان بکار برده اند ، برای ساخت پلتفرم خود استفاده کنند . اگرچه هنوز برای دسترسی به بسیاری از API عمومی (که اغلب از طریق اشتراک یا توافق نامه های صدور مجوز فروخته می شود) نیاز یه پرداخت خواهید داشت .
بنابراین برنامه نویسان بیشتر به کدام API های عمومی متکی هستند؟ شرکت های بزرگ فناوری ، (به ویژه در حوزه رسانه های اجتماعی) داده های گردآوری شده خود را غالباً در دسترس عموم قرار می دهند . مشاغل وب مدرن که به یکپارچه سازی اجتماعی برای نام تجاری ، تبلیغات و یا ارتقا رابط کاربری وب سایت خود نیاز دارند از این API ها استفاده می کنند .
علاوه بر این ، API ها توسط سازمان های دولتی ، کنفرانس ها ، شرکت های نوپا و حتی افراد ایجاد و نگهداری می شوند. این سازمان ها API های خود را تولید می کنند تا از محتوای رسانه های اجتماعی و انواع اطلاعات جمع آوری شده که هر کس ممکن است از دسترسی به آنها بهره مند شود ، استفاده کنند.

API ها با برنامه های تحت وب پشتیبانی شده با پایگاه داده سنتی ، از این نظر متفاوت هستند که معمولاً نیازی به داشتن رابط کاربری ( front-end ) ندارند.
اگر از برنامه نویسانی هستید که با ساختن برنامه های سمت سرور با زبانهایی مانند PHP یا JavaScript آشنا هستید ، احتمالاً متوجه نیاز به Routeها شده اید. در این حالت ، شما به URL هایی نیاز دارید که Route Handler ها هنگام دریافت درخواست های مربوط ، اقدامات خاصی را انجام می دهند. مشابه سایت ها، APIها نیز Route هایی دارند اما معمولاً template ها را در آن Route ها ارائه نمی دهند.
اکنون که می دانید API ها چرا و چگونه ممکن است کمک بزرگی در پروژه های شما بکند ، برای دستیابی و شروع به ادغام آنها با پایگاه کد خود ، چه کاری باید انجام دهید؟ اگر می خواهید برای افزودن عملکرد و عناصر پویا به وب سایت خود از API عمومی استفاده کنید ، در اینجا چند گزینه برای شروع وجود دارد:
اگر می خواهید در مورد ساختار و عملکرد API وارد مرحله عمیق تری شوید ، این چندین مرحله را دنبال کنید:
از آن جا که API ها بخش قابل توجهی از صنعت توسعه وب و تجارت را در بر میگیرد ، تسلط بر ساخت API ها می تواند قدم خوبی برای استخدام در استارت آپ ها و یا شرکت هایی است که میخواهند ویژگی های جدیدی به سایت خود اضافه نمایند .