كل شيئ تحتاج معرفته عن GraphQL وكيف ساعدت في تقليل الوقت في التعامل مع السيرفر

كل شيئ تحتاج معرفته عن GraphQL وكيف ساعدت في تقليل الوقت في التعامل مع السيرفر

كل شيئ تحتاج معرفته عن GraphQL وكيف ساعدت في تقليل الوقت في التعامل مع السيرفر


لنفترض ان لدينا مشكلة في اثناء  إنشاء تطبيقات الجوال او حتى برمجة المواقع والتطبيقات وهيا اننا نحصل على جميع البينات وليكن لدينا البينات التي ترجع وهيا تاريخ المنشور واسم الناشر والتقييم و عدد المشاهدات والصورة الخاصه بالمنشور والنص والعنوان وid الخاص بالمنشور والبلد التي تم النشر منها والكثير من المعلومات التي قد ترجع لنا من خلال ال backend في إنشاء تطبيق جوال لل mobile developer وكثير من البيانات التي قد لا نحتاجها ونحتاج منها فقط بعض البيانات ونريد المستخدم ان يحدد المعلومات التي يحتاجها فقط وليكن المتحكم في برمجة تصميم المواقع وطريقة عرضه بالنسبة له , مثلا نحدد المنشور والصورة وال id فقط ولا نحتاج باقي البيانات فهنا ياتي دور GraphQL والمنافس REST API الذي يرجع كل البيانات بناء على end point .


المشكلة:

واجه الكاتب مشكلة في أحد مشاريعه حيث كانت صفحة الـ Homepage تُرجع كمية كبيرة من البيانات، بينما كان يستخدم فقط عدد قليل من الخصائص.

أدى ذلك إلى بطء تحميل الصفحة واستهلاك كبير للبيانات.


الحلول:

الحل التقليدي هو إنشاء نقاط نهاية منفصلة لكل صفحة بالبيانات التي تحتاجها.

هذا الحل ليس مثاليًا لأنه:

لا يحسن الأداء بشكل ملحوظ.

يؤدي إلى إنشاء عدد كبير من نقاط النهاية.

يتطلب تعديلًا في جميع نقاط النهاية عند تغيير البيانات.


حل GraphQL:

GraphQL هي تقنية تم تطويرها بواسطة Facebook عام 2012 لحل مشكلة إعادة تحميل البيانات.


كيف تعمل GraphQL؟

  1. يقوم الخادم بإعداد GraphQL ويوفر نقطة نهاية واحدة فقط للمشروع بأكمله.
  2. يتم إرسال طلب مع نص استعلام (query) يحدد البيانات المطلوبة.
  3. يمكن تحديد خصائص محددة من أي سجل أو مستند.
  4. يمكن التحكم في شكل الرد.
  5. يمكن استخدام متغيرات الاستعلام للترقيم والتحقق من صحة البيانات والمزيد.


نتائج تطبيق GraphQL:

  1. تحسين الأداء بشكل كبير:
  2. انخفاض وقت التحميل من 6 ثوانٍ إلى مللي ثانية.
  3. تقليل استهلاك البيانات ومعالجة الردود الضخمة.
  4. تقليل الاعتماد على الخادم.
  5. سهولة تطبيق الترقيم والفرز والتصفية.


فوائد استخدام GraphQL:

تقليل استهلاك البيانات: يمكنك طلب البيانات التي تحتاجها فقط، مما يقلل من استهلاك البيانات.

تحسين الأداء: يتم إرجاع البيانات المطلوبة فقط، مما يزيد من سرعة تحميل التطبيق.

سهولة الاستخدام: يمكنك كتابة استعلامات GraphQL بسهولة نسبيًا.

مرونة عالية: يمكنك استخدام GraphQL مع أي نوع من قواعد البيانات.


كيف تعمل GraphQL؟

  • يقوم الخادم بإعداد GraphQL ويوفر نقطة نهاية واحدة فقط للمشروع بأكمله.
  • يتم إرسال طلب مع نص استعلام (query) يحدد البيانات المطلوبة.
  • يمكن تحديد خصائص محددة من أي سجل أو مستند.
  • يمكن التحكم في شكل الرد.
  • يمكن استخدام متغيرات الاستعلام للترقيم والتحقق من صحة البيانات والمزيد.


شرح مفصل حول استخدام GraphQL :

نقطة نهاية واحدة:

بدلاً من إنشاء نقاط نهاية متعددة لكل نوع من البيانات، توفر GraphQL نقطة نهاية واحدة فقط لجميع البيانات في المشروع.


الاستعلام (Query):

يحدد الاستعلام البيانات التي تريدها من الخادم. يمكنك تحديد أنواع البيانات والخصائص التي تريدها.


خصائص محددة:

يمكنك تحديد خصائص محددة من أي سجل أو مستند. هذا يعني أنك تحصل فقط على البيانات التي تحتاجها، مما يقلل من استهلاك البيانات ويزيد من سرعة تحميل التطبيق.


شكل الرد:

يمكنك التحكم في شكل الرد الذي يرسله الخادم. يمكنك اختيار تنسيق JSON أو XML أو أي تنسيق آخر.


متغيرات الاستعلام:

يمكن استخدام متغيرات الاستعلام لتمرير معلمات إلى الخادم. يمكن استخدامها للترقيم والتحقق من صحة البيانات والمزيد.


مثال:

لنفترض أن لديك تطبيق جوال يعرض قائمة بالمنتجات.


باستخدام REST API:

  • سيحتاج تطبيقك إلى إنشاء طلب منفصل لكل منتج تريد عرضه.
  • سيقوم كل طلب بإرجاع جميع البيانات المتعلقة بالمنتج، حتى لو لم تكن بحاجة إلى جميعها.
  • قد يؤدي ذلك إلى استهلاك كبير للبيانات وبطء في تحميل التطبيق.


باستخدام GraphQL:

يمكنك إرسال طلب واحد فقط باستخدام استعلام يحدد البيانات التي تحتاجها.

يمكنك تحديد المنتجات التي تريد عرضها والخصائص التي تريدها من كل منتج.

سيقوم الخادم بإرجاع البيانات المطلوبة فقط، مما يقلل من استهلاك البيانات ويزيد من سرعة تحميل التطبيق.


الخلاصة

GraphQL هي تقنية رائعة يُنصح بقراءتها والتعرف عليها.

يمكن أن تساعدك في حل مشكلات إعادة تحميل البيانات وتحسين أداء تطبيقك.

تعليقات