کتاب Learning API Styles: Understanding the Trade-Offs of Common APIs and Choosing the Correct Solutions (یادگیری سبکهای API: درک مزایا و معایب سبکهای رایج API و انتخاب راهحلهای مناسب) نوشته لوکاش دینوفسکی و مارسین دولاک، راهنمای عملی برای توسعهدهندگان نرمافزار، مهندسان و معماران است.
کتاب Learning API Styles به طراحی و پیادهسازی سبکهای مختلف API، از جمله APIهای RESTful، GraphQL، WebSocket، webhook، gRPC و پروتکلهای پیامرسانی میپردازد. هدف آن کمک به خوانندگان برای درک نحوه انتخاب مناسبترین سبک API برای موارد استفاده خاص برنامههایشان، بررسی تصمیمات طراحی و درک مبادلات (trade-offs) مرتبط با رویکردهای مختلف API است.
در ادامه مقدمهای از کتاب Learning API Styles را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Learning API Styles:
حضور فراگیر APIها
چه متوجه باشید و چه نباشید، APIها در همه جا حاضرند. بدون APIها، تلفن هوشمند شما قادر به دریافت آخرین پیشبینیهای آب و هوا نخواهد بود و مرکز کنترل زمینی ماموریت نمیتوانست از طریق شبکه فضای عمیق ناسا با خدمه یا با ماهوارههای فعال در مدار زمین ارتباط برقرار کند.
APIها قدرت تحولآفرینی دارند و صنعت مالی نمونهای از آن است. امروزه، برای انجام کارهای بانکی نیازی به مراجعه حضوری به بانک ندارید. میتوانید اکثر کارها را از طریق وب، با استفاده از تلفن هوشمند (اپلیکیشن موبایل) یا تماس تلفنی انجام دهید.
APIها پشت موفقیت شرکتهای بزرگ فناوری مانند آمازون، گوگل، مایکروسافت، OpenAI، Revolut و Salesforce هستند و از طریق کانالهای دیجیتال درآمدهای قابل توجهی ایجاد میکنند. APIها رگهایی هستند که دادهها از طریق آنها جریان مییابند و برخی از فناوریها مانند Kubernetes بدون آنها کار نمیکنند.
تعریف و کاربرد API
رابط برنامهنویسی کاربردی (API) میتواند بسته به زمینه معانی متفاوتی داشته باشد. این اصطلاح عمدتاً با نرمافزار مرتبط است، اما میتواند در مورد سختافزار نیز به کار رود. در زمینه نرمافزار، یک API میتواند یک رابط کتابخانه یا یک API مبتنی بر شبکه (رایجترین اصطلاح مرتبط) را توصیف کند.
ما API را به عنوان یک نقطه تعامل تعریف میکنیم که به اجزای نرمافزاری اجازه میدهد با یکدیگر ارتباط برقرار کنند. API بدون افشای پیچیدگی سیستم زیرین، قابلیت را فراهم میکند؛ رفتار سیستم را از جزئیات پیادهسازی آن جدا میکند. APIها عمدتاً توسط توسعهدهندگان استفاده میشوند که آنها را به صورت برنامهنویسی در نرمافزار ادغام میکنند تا امکان تعاملپذیری درون یا بین سیستمها را فراهم آورند. API مالکیت را جدا میکند، که امکان نگهداری بهتر را فراهم میآورد زیرا آنچه پشت API قرار دارد، مسئولیت سیستمی است که آن را ارائه میدهد.
طی دهههای گذشته، شاهد رشد و گسترش اینترنت بودهایم. اینترنت یک شبکه وسیع و بههمپیوسته از سیستمهای کامپیوتری است که به دستگاهها در سراسر جهان اجازه میدهد با یکدیگر ارتباط برقرار کنند. اساس این ارتباط مجموعه TCP/IP است که به عنوان زبان شبکه عمل میکند و برنامهها و دستگاهها را قادر میسازد تا اطلاعات را مبادله کنند.
این کتاب بر APIهای مبتنی بر شبکه تمرکز دارد که گروهی از APIها هستند که نرمافزار برای ارتباط از طریق شبکه (معمولاً اینترنت) از آنها استفاده میکند. میتوان API را به عنوان یک زبان مشترک (که توسط پروتکلها، قوانین و قراردادها اداره میشود) در نظر گرفت که برنامههای نرمافزاری برای تبادل دادهها از آن استفاده میکنند. همانند انسانی که میتواند به چندین زبان صحبت کند، نرمافزار نیز میتواند از بسیاری APIها برای برقراری ارتباط استفاده کند.
چرا کتاب Learning API Styles را نوشتیم؟
در طول تجربه خود، با APIهای مختلفی از جمله REST، Query، RPC، سیستمهای مبتنی بر کارگزار و موارد دیگر کار کردهایم. هر سبک API یک اکوسیستم پیرامون خود دارد: جامعه، گروههای کاری و گاهی اوقات غولهای اینترنتی که از آن پشتیبانی میکنند.
برای هر سبک، ممکن است کتابهای زیادی را برای کشف مزایای API بخوانید؛ و باور کنید، تسلط بر تنها یک سبک زمانبر است. با این حال، دیگر نمیتوانیم تنها به یک سبک API پایبند باشیم. مطمئناً، میتوانید با APIهای REST پیشرفت زیادی کنید، اما فقط تا یک نقطهای.
کتاب Learning API Styles پاسخی به خلأیی است که در قفسههای کتاب IT مشاهده کردیم. به عبارت دیگر، کتابهای اخیر در مورد APIها یک نمای کلی دقیق از سبکهای مختلف API ارائه نمیدهند. علاوه بر این، بسیاری از کتابهای درباره APIها بر مفاهیم سطح بالا تمرکز دارند یا قطعه کدها را بدون ارائه پیادهسازی کامل ارائه میدهند.
صنعت IT در چند سال گذشته نیاز به مهارتهای API را نشان داده است. در گزارش «روندهای API» سال 2023، گارتنر اشاره کرد که چالشهای اصلی API که سازمانها با آنها مواجه بودند، نبود نقشهای کلیدی، عدم وجود استانداردهای API، کمبود مهارت و نگرانیهای امنیتی بود. در سال 2024، گارتنر پیشبینی کرد که 30 درصد از افزایش تقاضا برای APIها تا سال 2026 از هوش مصنوعی (AI) و مدلهای زبان بزرگ (LLMs) نشأت خواهد گرفت.
این کتاب به دنبال پرداختن به برخی از چالشهای API ذکر شده و برآوردن نیازهای API است که صنعت IT با آنها روبروست.
مخاطبان کتاب Learning API Styles
این کتاب برای توسعهدهندگان نرمافزار و معماران نوشته شده است که میخواهند از مبادلات و جزئیات پیادهسازی سبکهای مختلف API مطلع شوند. با تکمیل این کتاب، درک جامعی از APIهای مختلف از منظر معماری، پیادهسازی و شبکه به دست خواهید آورد. این کتاب برای افرادی در نظر گرفته شده است که میخواهند کارهای زیر را انجام دهند:
- کسب مهارتهای عملی در طراحی و پیادهسازی امن APIها
- درک مبادلات (مزایا و معایب) سبکهای API
- آشنایی با پروتکلهایی که تبادل دادهها را در APIها امکانپذیر میسازند
محتوای کتاب Learning API Styles
در این کتاب، APIهای همزمان و ناهمزمان را در سبکهای مختلف طراحی و پیادهسازی خواهیم کرد: REST API (فصل 5)، Query API با GraphQL (فصل 6)، Web Feeds API با پروتکل Atom (فصل 7)، RPC API با فریمورک gRPC (فصل 8)، callback API با webhooks (فصل 9)، bidirectional API با WebSocket (فصل 10)، و broker-based API با RabbitMQ (فصل 11).
هر سبک مزایا و معایب خاص خود را دارد که یک توسعهدهنده یا معمار باید از آنها آگاه باشد. ما مبادلات هر سبک API را با جزئیات پوشش خواهیم داد. یک جنبه اضافی که این کتاب پوشش میدهد و اغلب نادیده گرفته میشود، نقش پروتکلهای شبکه در APIهای مبتنی بر شبکه است.
مواردی که در کتاب Learning API Styles پوشش داده نمیشوند:
این کتاب برای مخاطبان غیرفنی در نظر گرفته نشده است. اگر در این دسته قرار میگیرید و به دنبال پاسخهایی در مورد رهبری، استراتژی، حاکمیت، انطباق و مدیریت API هستید، به کتابهای “APIs: A Strategy Guide” نوشته Daniel Jacobson و همکاران (O’Reilly, 2011) و “Continuous API Management” نوشته Mehdi Medjaoui و همکاران (O’Reilly, 2021) مراجعه کنید.
علاوه بر این، کتاب Learning API Styles موضوعاتی مانند معماری، پلتفرمها و کسب درآمد از API را پوشش نمیدهد. برای کسب اطلاعات بیشتر در مورد این موضوعات، به کتابهایی مانند “Mastering API Architecture” نوشته James Gough و همکاران (O’Reilly, 2022) و “API Management: An Architect’s Guide to Developing and Managing APIs for Your Organization” نوشته Brajesh De (Apress, 2017) مراجعه کنید.
سرفصلهای کتاب Learning API Styles:
- Foreword
- Preface
- 1. API Concepts
- 2. API Design Patterns
- 3. Network
- 4. Web Protocols
- 5. REST
- 6. GraphQL
- 7. Web Feeds
- 8. gRPC
- 9. Webhooks
- 10. WebSocket
- 11. Messaging
- Index
- About the Authors
جهت دانلود کتاب Learning API Styles میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.