آیا علاقه دارید بیشتر درباره تاریخچه API بدانید؟ در این نوشته قصد داریم توضیح دهیم API چگونه طی سالها تغییر پیدا کرده است و چه آیندهای پیش رو دارد.
در حال حاضر، حتی تصور کردن جهان بدون API بسیار دشوار است. میتوان گفت اگر این مفهوم که در پشت بیشتر فناوریهای جدید پنهان است وجود نداشت، دنیای ما با نسخهای که در حال حاضر در آن زندگی میکنیم تفاوت زیادی پیدا میکرد. ما در این پست به توضیح تاریخچه API میپردازیم و بررسی میکنیم که چگونه یکپارچگی API باعث نوآوریهای امروز ما شده است.
فرقی نمیکند که شما یک مدیر فناوری اطلاعات هستید یا یک توسعهدهنده و یا یک کارمند ساده؛ اگر در مورد APIها کنجکاو هستید، در ادامه به سوالاتتان پاسخ میدهیم.
API چیست؟
API مخفف عبارت «Application Programing Interface» به معنای واسط برنامهنویسی کاربردی است که شامل مجموعهای از ابزارها، پروتکلها و روالهایی میشود که برای تولید یک برنامهی کاربردی قابلاستفاده هستند. یک API نحوهی تعامل و ایجاد ارتباط با نرمافزار را بیان میکند.
اجازه بدهید با یک مثال توضیح دهیم که API چه کاری انجام میدهد. فرض کنید داخل یک رستوران هستید. کاربر را به عنوان کسی که میخواهد غذا سفارش دهد، نرمافزار را به عنوان آشپز و API را به عنوان پیشخدمت رستوران تصور کنید. در یک رستوران باید غذایی که سفارش داده میشود به اطلاع آشپز برسد، توسط او پخته شده و در نهایت برای مشتری سرو شود.
این کار در برنامههای کاربردی توسط APIها انجام میشود؛ زیرا آنها هستند که امکان ارتباط را میان کاربران، دستگاهها و برنامهها ایجاد میکنند.
یک نمونهی دیگر که احتمالا تا به حال با آن سروکار داشتهاید، رزرو پرواز است که امروزه اکثرا از طریق وبسایتها انجام میشود. برای این کار شما ابتدا اطلاعات مرتبط با پروازتان، از قبیل مقصد و زمان پرواز را در وبسایت وارد میکنید. این وبسایتها دسترسی مستقیم به پایگاه دادههای خطوط هوایی ندارند، در نتیجه توسط APIهای خطوط هوایی این ارتباط را برقرار میکنند و گزینههای ممکن برای پرواز را در اختیار شما قرار میدهند. در واقع، آنها سفارش شما را برای خطوط هوایی میبرند و با غذا نزد شما بازمیگردند.
وظیفه APIها ایجاد ارتباط است. آنها پلی هستند که دادهها را از یک منبع گرفته و به منبع دیگری منتقل میکنند، مثل وبسرویسها یا برنامههای موبایل.
API توسط چه کسی اختراع شده است؟
مفهوم انتزاعی موجود در پشت API، به عنوان یک نقطه دسترسی قابل برنامهریزی برای فراخوانی برنامههای مختلف، از همان روزهای ابتدایی متولد شدن علم کامپیوتر وجود داشت. با این حال، طی چند دهه گذشته این ایده برای تبدیل شدن به یک طراحی قابلاستفاده، تحولات بسیاری را پشت سر گذاشته است. به گفته بسیاری از افراد، تاریخ API توسط مردی به نام روی فیلدینگز که به طور خاص روی سبکهای معماری و طراحی معماری نرمافزارهای مبتنی بر شبکه کار میکرد، آغاز شد.
تاریخچه API:
در دهه ۱۹۷۰، APIها اولین پیشرفت بزرگ خود را به لطف سیستمهای توزیعشده تجربه کردند. روشهایی ایجاد شدند که از طریق بستهبندی داده، به کامپیوترها اجازه دسترسی از راه دور به یکدیگر را میدادند. یکی دیگر از پیشرفتهای بزرگ در این دوره، پیدایش میانافزار مبتنی بر پیام بود که برای کسبوکارها روشی برای یکپارچهسازی برنامههایشان در سیستم قدیمیشان ارائه میداد. میتوان گفت روش ارسال پیام و صف، بسیاری از مشکلات مرتبط با سیستمهای توزیعشده را برطرف کرد.
تاریخچه API: دهه ۱۹۸۰
یکی دیگر از پیشرفتهای مهم APIها در اواخر دهه ۸۰ رخ داد. زمانی که برنامهنویسی شیگرا مطرح شد و برنامههای پیچیده و دادههایشان میتوانستند به صورت اشیا تعریف شوند.
تاریخچه API: دهه ۱۹۹۰
در دههی ۹۰، به لطف پیدایش WWW، وبسایتها و توپولوژی کلاینت-سرور، استفاده از سیستمهای توزیعشده بسیار رایجتر از گذشته شد. در این دوره دوباره شاهد تاثیر برنامهنویسی شیگرا در تاریخ APIها بودیم. چون در این دهه، تکنیکهای جدیدی در زبان برنامهنویسی شیگرا مطرح شد که اجازه دسترسی از راه دور به اشیا را میداد.
تاریخچه API: دهه ۲۰۰۰
این دوره جدید از فناوری توسط روی فلدینگ با منتشر کردن مقالهای اساسی در جهت درک APIها آغاز شد. البته این نیز مهم است که اشاره کنیم، فلدینگ از پیشگامان توسعه WWW بود و حتی در ایجاد استانداردهای HTTP نیز تاثیر بسیاری داشت. در طی این دهه، متخصصین متوجه شدند که مدل موجود WWW میتواند برای مقابله با تلاشهای ناخوشایند و پیچیده دهه گذشته استفاده شود و همچنین میتوان از مزیتهای زیرساختهای فنی آن برای جایگزین کردن میانافزارهای مزاحم استفاده کرد.
تاریخچه API: سال ۲۰۱۰ تا زمان حال
ما در حال حاضر در دوران توسعه Web API زندگی میکنیم که در سال ۲۰۰۵ آغاز شده و از سال ۲۰۱۰، استفاده عمومی از آن افزایش داشته است. یکپارچهسازی APIها باعث شد تا راهاندازی کسبوکارهایی مثل آمازون و eBay امکانپذیر باشد و این کسبوکارها روزبهروز محبوبیت بیشتری کسب کنند.
تاریخچه ادغام API در صنایع خاص
یک راه دیگر برای بررسی تاریخچه یکپارچگی API، تمرکز بر نوآوریهایی است که به وسیلهی این فناوری ایجاد شده است. همانطور که قبلا گفته شد، توسعه API تا اوایل سال ۲۰۰۵ گامهای کوچکی را طی میکرد اما پس از آن، همه چیز شروع به تغییر سریع کرد.
میتوانیم رشد و توسعه API را در چهار زمینه بررسی کنیم:
- تجارت الکترونیک: میتوان اولین ردپاهای تاثیر API بر تجارت الکترونیک را در سال ۲۰۰۰ پیدا کرد. در هفتم فوریه سال ۲۰۰۰، شرکت Salesforce اولین API خود را به کاربران عرضه کرد. در همان سال، شرکت eBay نیز APIهایی برای وبسایت خود برای کاربران معرفی کرد.
- شبکههای اجتماعی: Flickr اولین شبکه اجتماعی بود که در سال ۲۰۰۲ APIهای خود را معرفی کرد. با کمک گرفتن از فناوری API، این شرکت به کاربران اجازه میداد تا عکسهایی را که در حساب کاربری Flickr خود بارگذاری کرده بودند، در وبلاگها و شبکههای اجتماعی دیگر نیز قرار دهند. با این ترفند، Flickr به سرعت به پلتفرم تصویرمحور محبوب کاربران شبکههای اجتماعی و وبلاگنویسان تبدیل شد.
- ابر: با محبوب شدن APIها در فضای اینترنت، شرکت Amazon رویکردی جدید را برای این فناوری نوپا در نظر گرفت. در ماههای اول سال ۲۰۰۶، این شرکت یک وبسرویس برای ذخیرهسازی آنلاین اطلاعات عرضه کرد. با کمک این وبسرویس، دادههای ذخیره شده در هر زمان و هر مکانی که دسترسی به اینترنت ممکن باشد، قابل بازیابی بودند. این وبسرویس نسخه اولیه AWS بود که در حال حاضر یکی از پیشگامان ارائه خدمات ابری در جهان است.
- موبایل: مدت زیادی نگذشت که APIها توجه شرکتهای سازنده گوشیهای تلفن همراه را نیز به خود جلب کردند. در سال ۲۰۰۶ شرکت اپل همراه با ارائه گوشی تلفن iPhone 3G، با کمک APIها امکان دسترسی به برنامههای مختلف از طریق نرمافزار دسکتاپ iTunes یا App Store را برای کاربران فراهم کرد.
آینده APIها:
فقط چند دهه از متولد شدن API میگذرد؛ اما این فناوری به سادهتر شدن زندگی ما کمک زیادی کرده است و این فقط آغاز کار است. با کمک API ما عناصر سازنده یک جهان متصل را در اختیار داریم و میتوانیم تقریبا هر چیزی را به اینترنت متصل کنیم و به طور منظم برای اختراع محصولات و خدمات کاملا جدید و همچنین ساخت اکوسیستمهای مختلف از این فناوری کمک بگیریم. در آیندهای بسیار نزدیک، انتظار میرود APIها در سه زمینه زیر تحول ایجاد کنند:
چابکی کسبوکارهای بزرگ:
یکی از ویژگیهای مثبت APIها که برگ برنده ایجاد تغییرات به حساب میآید، چابکی زیاد آنها است. کسبوکارها APIهای خود را در اختیار توسعهدهندگان قرار میدهند و باعث میشوند آنها به اهداف و منافع خود برسند. همانطور که یکبار اینستاگرام اشاره کرد، اگر کسبوکارها APIها را در اختیار توسعهدهندگان قرار ندهند، آنها خودشان راهی برای برقراری ارتباط پیدا خواهند کرد.
معماری مایکروسرویسها:
معماری مایکروسرویسها یکی از روشهای توسعه نرمافزار است و به شما این امکان را میدهد که برنامهها را به صورت سرویسهای قابلتوسعه و ماژولار، ایجاد کنید. این سرویسها مستقل از هم عمل میکنند اما از طریق یک مکانیزم سبک با هم در ارتباط هستند. در نتیجه میتوانند در راستای هدف تعیین شده با یکدیگر ارتباط برقرار کرده و اجرا شوند.
این یکی از مهمترین ویژگیهای APIها خواهد بود که به توسعهدهندگان این امکان را میدهد تا با استقلال بیشتری از APIها استفاده کرده و با ادغام آنها نوآوری ایجاد کنند.
نتیجهگیری:
فناوریهای جدید به سرعت در حال رشد هستند و فناوریهای قدیمیتر را کنار میزنند. در نتیجه کسبوکارها باید راهی پیدا کنند که سرمایهگذاریهایی که برای فناوریهای قدیمی انجام دادهاند هدر نرود و در عین حال بتوانند با فناوری جدید هماهنگ شوند. این نیاز خاص کسبوکارها باعث به وجود آمدن شرکتهایی شده که به طور تخصصی در زمینه APIها فعالیت میکنند و به کسبوکارها کمک میکنند با استفاده از APIها، سیستم اصلی کسبوکار خودشان را توانمند کنند. در نتیجه کمک گرفتن از کسبوکارهایی که به صورت تخصصی در زمینهی APIها فعالیت میکنند، یکی از بهترین و موثرترین راهها برای اطمینان از این است که همگام با فناوری روز و سایر رقبا در حال حرکت هستید.