کتاب GraphQL in Action از جدیدترین کتابها در زمینه آموزش GraphQL میباشد. این کتاب در 10 فصل مقدمات تا نکات پیشرفته و اساسی این پایگاه دادهی قدرتمند و معروف را بیان میکند. مطالعهی این کتاب برای افراد تازهکار و مقدماتی برای آموزش GraphQL بسیار پیشنهاد میشود.
GraphQL چیست؟
GraphQL یک زبان پرس و جوی سمت سرور است که برای رابطهای برنامهنویسی برنامه (API) را در زمان اجرا (Runtime) میکنده و که دادههای دقیقاً درخواست مشتری را در اولویت قرار میدهد و نه بیشتر.
GraphQL برای ساخت سریع، انعطافپذیر و سازگار با توسعهدهندگان API طراحی شده است. حتی میتواند در یک محیط توسعه یکپارچه (IDE) معروف به GraphiQL مستقر شود. به عنوان جایگزینی برای REST ،GraphQL به توسعهدهندگان اجازه میدهد تا درخواستهایی را که دادهها را از چندین منبع داده در یک تماس API واکشی میکنند، بسازند.
علاوه بر این، GraphQL به نگهدارندگان API انعطافپذیری میدهد تا فیلدها را بدون تأثیر بر سؤالات موجود اضافه یا منسوخ کنند. توسعهدهندگان میتوانند API ها را با هر روشی که ترجیح میدهند بسازند و مشخصات GraphQL عملکرد آنها را به روشهای قابل پیشبینی برای مشتری تضمین میکند.
طرحها، برطرفکنندهها و سایر اصطلاحات رایج GraphQL
توسعهدهندگان API از GraphQL برای ایجاد یک طرح کلی برای توصیف تمام دادههای ممکن که مشتری میتواند از طریق آن سرویس پرس و جو کند، استفاده میکند.
یک طرح کلی GraphQL از انواع اشیا تشکیل شده است، که مشخص میکند چه نوع شیئی را میتوانید درخواست کنید و چه زمینههایی دارد.
با ورود پرس و جوها، GraphQL سؤالات موجود در برابر طرح را تأیید میکند. سپس GraphQL پرس و جوهای معتبر را اجرا میکند.
توسعهدهنده API هر فیلد را در یک طرحواره به تابعی به نام حلال متصل میکند. در حین اجرا، حلال برای تولید مقدار فراخوانی میشود.
GraphQL به غیر از تعریف و اعتبارسنجی نحو برای پرس و جوهای API (که در مخزن graphql-Spec شرح داده شده است)، سایر تصمیمات را به طراح API میسپارد. GraphQL هیچ مسیری برای نحوه ذخیرهسازی دادهها یا استفاده از زبان برنامهنویسی ارائه نمیدهد – توسعهدهندگان میتوانند از (PHP (graphql-php) ،Scala (Sangria) ،Python (Python Graphene Python ،Ruby (graphql-ruby) ،JavaScript (graphql) استفاده کنند. js)، و بیشتر. GraphQL نیازی به شبکه، مجوز یا صفحهبندی ندارد.
از دید مشتری، رایجترین عملیات GraphQL احتمالاً جستجوها و تغییرها میباشد. اگر بخواهیم از نظر مدل ایجاد، خواندن، به روزرسانی و حذف (CRUD) به آنها فکر کنیم، یک پرسش معادل خواندن است. همه موارد دیگر (ایجاد، به روزرسانی و حذف) با جهش انجام میشوند.
مزایا و معایب GraphQL در محیطهای شرکتی
به این فکر میکنید که GraphQL را در یک محیط تجاری یا شرکتی امتحان کنید؟ مزایا و معایب GraphQL را مطالعه کنید.
مزایای GraphQL
- طرحواره GraphQL منبع واحدی از حقیقت را در یک برنامه GraphQL تنظیم میکند. این یک روش را برای اتحاد API کل سازمان ارائه میدهد.
- تماسهای GraphQL در یک سفر رفت و برگشت انجام میشود. مشتریان بدون هیچگونه واکشی بیش از حد، به خواسته خود میرسند.
- انواع دادههای کاملاً تعریف شده ارتباط نادرست بین سرویسگیرنده و سرور را کاهش میدهد.
- GraphQL درون نگر است. مشتری میتواند لیستی از انواع داده موجود را درخواست کند. این مورد برای اسناد تولید خودکار ایدهآل است.
- GraphQL به API برنامه اجازه میدهد بدون شکستن نمایش دادههای موجود تکامل یابد.
- بسیاری از برنامههای افزودنی منبع باز GraphQL برای ارائه امکاناتی که با REST API موجود نیستند در دسترس هستند.
- GraphQL معماری برنامه خاصی را تعیین نمیکند. میتواند در بالای REST API موجود معرفی شود و میتواند با ابزارهای مدیریت موجود API کار کند.
معایب GraphQL
- GraphQL منحنی یادگیری را برای توسعهدهندگان آشنا با REST API ارائه میدهد.
- GraphQL بیشتر کار یک پرس و جو داده را به سمت سرور تغییر میدهد، که به توسعهدهندگان سرور پیچیدگی میبخشد.
- بسته به نحوه اجرای آن، GraphQL ممکن است به استراتژیهای مدیریت API متفاوتی نسبت به REST API نیاز داشته باشد، خصوصاً هنگام در نظر گرفتن محدودیت نرخ و قیمتگذاری.
- ذخیرهسازی در GraphQL پیچیدهتر از REST است.
- نگهدارندههای API وظیفه دیگری برای نوشتن طرح نگهدارنده GraphQL دارند.
منبع: RedHat
مقدمهای بر کتاب GraphQL in Action:
این کتاب با معرفی زبان GraphQL و بسیاری از ویژگیهای آن، با ارائه نمونههای عملی از کارهایی که میتوانید با استفاده از سرویس GraphQL API انجام دهید (مانند GitHub) آغاز میشود. قسمت اول کتاب (فصلهای 1-3) به سؤالات مربوط به GraphQL، چرا، چه چیزی و چگونه پاسخ میدهد.
در فصل 1 از کتاب GraphQL in Action، خواهید آموخت که GraphQL دقیقاً چیست؟، چه مشکلاتی را حل میکند؟ و چه مشکلاتی را معرفی میکند؟. شما مفاهیم طراحی پشت آن و تفاوت آن را با گزینههای دیگر مانند REST API کشف خواهید کرد.
فصل 2 از کتاب GraphQL in Action، محیط تعاملی سرشار از ویژگیهای مختلف GraphQL را معرفی میکند، که میتوانید برای کاوش آنچه میتوانید با GraphQL انجام دهید و نوشتن و آزمایش درخواستهای GraphQL استفاده کنید.
فصل 3 ویژگیهای داخلی زبان GraphQL را معرفی میکند که به شما امکان میدهد درخواستها و پاسخهای داده را شخصیسازی و سازماندهی کنید. این کتاب سپس برای ایجاد مهارتهایی که برای ایجاد یک سرویس کارآمد GraphQL API نیاز دارید، یک کنکاش عمیقتر انجام میدهد.
در قسمت دوم کتاب (فصل 4–8)، شما میآموزید که چگونه خدمات GraphQL را ایجاد کنید که با ساختن API داده واقعی برای یک برنامه وب واقعی، زبان GraphQL را درک کنند.
در فصل 4 از کتاب GraphQL in Action، شما در مورد نگاشت از ویژگیهای رابط برنامهریزی شده برای عملیات API و استفاده از آنها برای ارائه یک طرح سرویس GraphQL و طراحی روابط آن را یاد خواهید گرفت.
فصل 5 از کتاب GraphQL in Action، شما را در ساخت یک طرح اجرایی ساده GraphQL با استفاده از راهاندازهای پایگاه دادهی Node.js و اجرای GraphQL.js راهنمایی میکند.
در فصل 6 از کتاب GraphQL in Action، شما میآموزید که چگونه زمینهها را از پایگاه داده برای حل درخواستهای API پروژه کتاب، بهینه کنید.
فصل 7 از کتاب GraphQL in Action، برخی بهینهسازیها را برای پرس و جوهای GraphQL را بررسی میکند.
و در فصل 8 از کتاب GraphQL in Action، شما یاد خواهید گرفت که چگونه عملیات تغییر API را برای ایجاد، به روزرسانی و حذف موجودیت پایگاه داده را پیادهسازی کنید.
قسمت آخر کتاب (فصل های 9 تا 10) نحوه استفاده از GraphQL API در یک برنامه وب و قسمت سمت کاربر آن، نشان میدهد.
در فصل 9 از کتاب GraphQL in Action، ما نحوه استفاده از GraphQL API با درخواستهای مستقیم Ajax بدون کتابخانه اختصاصی مشتری GraphQL را بررسی خواهیم کرد.
و در فصل 10 از کتاب GraphQL in Action، ما به محبوبترین کتابخانه سمت کاربر GraphQL خواهیم پرداخت: Apollo Client
همچنین شما میتوانید برای یادگیری چارچوب React از کتاب Full-Stack React Projects، نیز استفاده کنید.
سرفصلهای کتاب GraphQL in Action:
- PART 1 EXPLORING GRAPHQL
- 1 Introduction to GraphQL
- 2 Exploring GraphQL APIs
- 3 Customizing and organizing GraphQL operations
- PART 2 BUILDING GRAPHQL APIS
- 4 Designing a GraphQL schema
- 5 Implementing schema resolvers
- 6 Working with database models and relations
- 7 Optimizing data fetching
- 8 Implementing mutations
- PART 3 USING GRAPHQL APIS
- 9 Using GraphQL APIs without a client library
- 10 Using GraphQL APIs with Apollo client
- Wrapping up
- Index
فایل کتاب GraphQL in Action را میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.