GraphQL على JavaScript (Node.js): دليل شامل لإنشاء واجهات برمجة تطبيقات حديثة
GraphQL على JavaScript (Node.js): دليل شامل لإنشاء واجهات برمجة تطبيقات حديثة
ملخص:
هذا الكتاب هو دليل عملي لإنشاء واجهات برمجة تطبيقات حديثة ومرنة وعالية الأداء باستخدام GraphQL و Node.js. إذا كنت بالفعل على دراية بأساسيات JavaScript وترغب في الانتقال من REST إلى بنية استعلام أكثر كفاءة، فهذا الإصدار مناسب لك.
يغير GraphQL نهج تطوير واجهات برمجة التطبيقات: فبدلاً من نقاط النهاية المتعددة، تحصل على نقطة دخول واحدة، ويقرر العميل بنفسه البيانات التي يحتاجها. يغطي الكتاب دورة العمل الكاملة مع GraphQL: من تصميم المخطط إلى النشر في بيئة الإنتاج.
ماذا ستتعلم:
- أساسيات GraphQL: الأنواع، الاستعلامات، الطفرات، الاشتراكات - كيف تعمل هذه التقنية ولماذا هي أفضل من REST.
- Apollo Server: إعداد الخادم، الوسائط الوسيطة، التكامل مع Express وأطر عمل Node.js الأخرى.
- المخططات والمحللات: إنشاء مخططات صارمة الأنواع، كتابة محللات فعالة، العمل مع الوسائط والسياق.
- قواعد البيانات: ربط MongoDB و PostgreSQL وقواعد بيانات أخرى عبر المحللات، معالجة مشكلة N+1 وحلها باستخدام DataLoader.
- الاشتراكات (Subscriptions): تحديثات فورية عبر WebSocket، إنشاء غرف الدردشة والإشعارات والخلاصات الحية.
- الأمان: المصادقة والتفويض، الحماية من الحقن، تحديد عمق الاستعلامات وتقييد المعدل.
- الاختبار: اختبارات الوحدة للمحللات، اختبارات التكامل لاستعلامات GraphQL، بيانات وهمية.
- الإنتاج: النشر على Heroku، الحاويات باستخدام Docker، المراقبة وتسجيل الأحداث.
لمن هذا الكتاب:
- مطورو الواجهة الخلفية على Node.js الراغبون في إتقان GraphQL
- مطورو Full-stack الذين يريدون إنشاء واجهات برمجة تطبيقات مرنة لـ React/Angular/Vue
- مهندسو DevOps الذين يطبقون معايير واجهات برمجة التطبيقات الحديثة
- الطلاب والمبرمجون المبتدئون ذوو المعرفة الأساسية بـ JavaScript
يحتوي الكتاب على أكثر من 50 مثالاً عملياً، وكتل برمجية جاهزة للاستخدام، وتمارين لتثبيت المادة. تم اختبار جميع الأمثلة على Node.js 18+ وهي متوافقة مع أحدث إصدارات Apollo Server.
بعد القراءة، ستتمكن من تصميم وتنفيذ واجهة برمجة تطبيقات GraphQL بأي درجة من التعقيد: من مدونة بسيطة إلى نظام مؤسسي ببنية ميكروسيرفيس.
التنسيق: PDF, EPUB. الكود المصدري للأمثلة متاح على GitHub.