API چیست

API مخفف (Application Programming Interface) به معنای رابط برنامه نویسی اپلیکیشن ، بخش جدایی ناپذیر صنعت توسعه وب میباشد که به روش های مختلفی در دنیای برنامه نویسی ظاهر شده است . هنگام کار با ابزارهایی مانند خط فرمان یا کدهای جاوا و برنامه نویسی سمت سرور و ... API ها مفاهیم بسیار مهمی هستند که احتیاج به یاد گرفتن و درک آن ها میباشد.به طور کلی تعامل اجزای مختلف نرم افزار ، توسط بستری که یک API فراهم کرده است انجام میشود.گذشته از موارد بسیار نادری که ممکن است شما در یک پروژه خاص هر خط کد برنامه را را از ابتدا شروع به نوشتن کنید، پیمایش در اجزای(component) خارجی نرم افزار ها بخشی از فرایند کدنویسی میباشد .هر یک از این کامپوننت های خارجی فقط با API منحصر به فرد خود کار می کنند . نرم افزار هایی که به خوبی طراحی شده اند و طراحی آن های از ابتدا انجام شده نیز از API های درونی (internal) برای مرتب نگه داشتن کدها و ایجاد کامپوننت های انعطاف پذیرتر استفاده میکنند . چندین API عمومی وجود دارد که شما میتوانید از قابلیت های آن در پروژه خود استفاده نمایید .تفاوت API و برنامه در چیست ؟اصطلاح برنامه به طور گسترده و با چندین معنی مشخص استفاده میشود که به سطح دانش برنامه نویسی هرکس بستگی دارد . به عنوان مثال در زمینه API چند روش برای فکر کردن در مورد برنامه وجود دارد :یک نرم افزار با عملکردی مشخصیک سرور (سرویس دهنده) یا یک برنامه کاملقسمت کوچکی از یک برنامهبه عبارت دیگر ، هر نرم افزاری که بتواند به وضوح از محیط خود جدا شود ، می تواند تحت چارچوب API یک برنامه در نظر گرفته شود و احتمالا API خاص خود را نیز خواهد داشت .برای روشن کردن این موضوع ، بیایید از یک مثال استفاده کنیم ، مانند استفاده از کتابخانه شخص ثالث(third-party)در کد شما. وقتی این کتابخانه در کد شما ادغام شد ، کتابخانه به بخشی از کل برنامه شما تبدیل می شود. از آنجا که این هنوز یک نرم افزار مجزا است ، به احتمال زیاد کتابخانه دارای یک API است که به آن امکان می دهد با بقیه کد شما تعامل داشته باشد.یک مثال برای کسانی که با طراحی شی گرا آشنا هستند ، جایی که کد به صورت اشیا سازمان یافته شده است ، در برنامه شما ، ممکن است صدها شی تعریف شده باشد همه آنها می توانند با یکدیگر تعامل داشته باشند. هر یک از این اشیا API خاص خود را دارند مجموعه ای از روش ها و خصوصیات عمومی که این شی برای تعامل با اشیا دیگر در برنامه استفاده می کند.در اینجا دو نمونه از پرکاربردترین موارد برای بیشتر روشن شدن این موضوع وجود دارد:گوگل API که به توسعه دهندگان اجازه می دهد کد را به کل سرویس های Google مانند Maps translate یا Google Calendar متصل کنند. API ها برای عملکرد و مدل تجاری Google بسیار حیاتی هستند به طوری که آنها Apigee یک پلتفرم پیشرو در مدیریت API را ایجاد کردند تا API های خود را بیشتر بهینه کرده تا مشتریان شخص ثالث بتوانند آنها را در برنامه های خود قرار دهندفیسبوک API که به شما امکان می دهد به صورت برنامه ای ، به نمودار اجتماعی و ابزار بازاریابی فیس بوک دسترسی پیدا کنید.چرا API ها در برنامه نویسی بسیار مهم هستند ؟هر برنامه نویس با تجربه ای می تواند به شما بگوید ساده سازی و ساده سازی کدنویسی ، صرف نظر از اینکه از چه ابزاری استفاده می کنید ، شیوه ای ضروری برای برنامه نویسی سطح بالا است. API ها بخشی اساسی از این ساده سازی هستند - آنها پیچیدگی های طاقت فرسا را کاهش میدهند به طوری که مجموعه ای از دستورالعمل های ساده ای تعریف میشود که شما میتوانید آن ها را بکار بگیرید.به طور سنتی ، API های ساخته شده اولیه برای اتصال اجزای کد در یک برنامه ای که روی یک کامپیوتر در حال اجرا بود استفاده می شدند سپس با گسترش شبکه ها ( و اکنون سرویس های ابری و میزبانی ) API های عمومی ( API های باز ) بیشتر در دسترس قرار گرفته اند ، این نوع API ها از طریق اینترنت قابل دسترسی هستند که به برنامه نویسان اجازه می دهد کدی بنویسند که با کد برنامه نویس های دیگر در ارتباط باشد. این فرایند اساسی با عنوان یکپارچه سازی ( API integration ) API شناخته شده است .همچنین 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 که روی آن متمرکز می شوید تحقیق کنید تا مطمئن شوید مستندات آن به طور مداوم نگهداری میشود. چندین سایت وجود دارد که تعدادی از API های مفید را جمع آوری می کند ، از جمله ProgrammableWeb و AnyApi و ...در مرحله بعد ، برای اطمینان از اینکه API می تواند در سایت شما ادغام شود و داده های ناخواسته ای به آن پیوست نشده است ، اسناد را مرور کنید. به عنوان مثال ، بعضی از API ها برای دسترسی ، نیاز به ثبت نام و دریافت یک کلید API میباشد و یا نیاز به فرایند هویت سنجی دارند.خودتانAPI را از برنامه خود Ping کنید و داده هایی را که دریافت می کنید پردازش کنید ، این کار به شما امکان می دهد تا داده ها را در پلتفرم خود نمایش دهید ، هنگامی که با موفقیت توانستید از API با ابزاری مانند Postman پرس و جو کنید ، می توانید کدی بنویسید که داده هایی که API بازگردانده است را نمایش داده و یا اجازه دسترسی به کاربران بدهد.چگونه میتوان یک API شخصی ایجاد کرد یا به یک APIمتصل شد؟اگر می خواهید در مورد ساختار و عملکرد API وارد مرحله عمیق تری شوید ، این چندین مرحله را دنبال کنید:در کلاس های برنامه نویسی شرکت کنید و در مورد زبان های مختلف برنامه نویسی یاد بگیرید از آنجا که برخی از API برای کار با زبان های خاصی بهینه شده اند (به عنوان مثال پایتون یا جاوا اسکریپت ) ،یادگیری و تسلط بر اصول ابتدایی زبان ، استفاده از API ها را در پروژه هایتان بسیار ساده می نمایدمیتوانید از طریق جستجو ، برخی از API های منبع باز (open-source)را مرور نمایید اگر چه ممکن است شما آمادگی استفاده از آن را نداشته باشید یا هنوز مهارت فنی ساخت برنامه خود را ندارید اما می توانید با جستجوی برخی از موارد ، درک بهتری نسبت به برنامه نویسی و API بدست آوریداگر شما علاقه مند به ساختن یک API عمومی برای استفاده دیگران هستید ، برای شروع باید اصول برنامه نویسی سمت سرور وب را همراه با دانش بنیادی زبانهایی مانند Javaیا Python بدانید. منابع زیادی وجود دارد که می تواند از آنجا مرحله به مرحله شما را راهنمایی کند یا شما را به آموزش هایی برای انجام این کار راهنمایی کند.از آن جا که API ها بخش قابل توجهی از صنعت توسعه وب و تجارت را در بر میگیرد ، تسلط بر ساخت API ها می تواند قدم خوبی برای استخدام در استارت آپ ها و یا شرکت هایی است که میخواهند ویژگی های جدیدی به سایت خود اضافه نمایند .