استعلامات GraphQL والطفرات على إصدارات Parse متميزة
مع تطور Parse بمرور الوقت، تغيرت بعض جوانبه لتحسين الأداء والتوافقية وسهولة التطوير.
أحد هذه الجوانب هو دعم GraphQL الذي تطور من Parse 3.5.0 بمرور الوقت إلى أحدث إصدار متاح، 3.9.
هنا في Back4app، لدينا هنا في Back4app ثلاثة إصدارات رئيسية تنفذ التغييرات في استعلامات GraphQL والطفرات، على وجه التحديد: 3.7.2 و3.8 و3.9، واليوم سأطلعك على الاختلافات بين هذه الإصدارات، مع توضيح ما تغير وما لم يتغير.
Contents
مقدمة
التطور إلزامي عند نشر حلول طويلة الأجل للعملاء و Parse ليس استثناءً.
عندما بدأت معايير GraphQL تصبح أكثر شيوعًا واستخدامًا، طالب المجتمع بتكامل أفضل واستخدام مبسط وبديهي. وبصفتنا مشرفين على Parse ومساهمين نشطين، سمع Back4app هذه الأصوات وبذلنا الكثير من الجهد لتحقيق هذه النتائج في منصة Parse مفتوحة المصدر.
جلب المطورون لدينا وظائف جديدة بمرور الوقت، مثل تكامل Cloud Code، ولكن المجتمع ظل يطلب بناء جملة GraphQL أكثر اتساقًا على الأطر والمنصات، ومع Parse 3.9 حققنا ذلك مع Parse 3.9 وقدمناه للمجتمع للاستفادة منه.
بينما تطورت هذه الصيغة اللغوية، تم إجراء بعض التغييرات الرئيسية، لذا بناءً على إصدار Parse الذي تستخدمه، يجب عليك اختيار الصيغة الصحيحة له: تحتوي 3.7.2 و3.8 و3.9 على صيغ مختلفة قليلًا لتحقيق نفس النتائج.
لهذا السبب، أنا أكتب هذا المقال، حتى يكون لديك كل شيء موثق في مكان واحد، وبينما أفعل ذلك، أوصي بشدة المستخدمين الذين يمكنهم تحديث Parse إلى 3.9 مع الصيغة الجديدة، وهي أكثر إصداراتنا المتوافقة مع الصيغة عبر المنصات/إطار العمل حتى الآن.
سأعرض لكم أدناه بعض الأمثلة.
صحة واجهة برمجة التطبيقات
لم يتغيّر الاستعلام عن صحة واجهة برمجة التطبيقات بين الإصدارات، ويمكنك استدعاؤها باستمرار عن طريق الاستعلام
والذي سيؤدي إلى نفس الاستجابة بين الإصدارات:
إنشاء كائن
لقد تغيرت الطفرات الخاصة بإنشاء كائن بمرور الوقت لتكون أكثر اتساقًا بين أطر GraphQL المختلفة وتتضمن تغييرات طارئة يجب عليك مراعاتها قبل تغيير إصدار Pare.
استخدام طفرة عامة
في الإصدار Parse 3.7.2، يمكنك ببساطة طلب إنشاء كائن وسيتم إنشاء فئة تلقائيًا لك:
في Parse 3.8، هناك تغيير طفيف ، حيث تمت إزالة الاستعلام عن الكائنات، ولكن لا يزال بإمكانك طلب إنشاء كائن وسيتم إنشاء الفئة تلقائيًا:
ومع ذلك، في Parse 3.9، يجب عليك أولاً إنشاء صنفك وإضافة حقوله بشكل صريح:
وعندها فقط يمكنك حفظ كائن باستخدام طريقة محددة (أدناه).
استخدام طريقة محددة (طفرة الصنف)
تغيرت أيضًا أساليب محددة (أساليب فئة، في هذه الحالة، طفرة فئة):
في Parse 3.7.2 كان:
في Parse 3.8 تمت إزالة خاصية الكائنات:
وأخيرًا في Parse 3.9، تمت إعادة تسمية ObjectId لخاصية ObjectId لتصبح معرفًا، حتى تتوافق مع المعايير:
الحصول على كائن
تطورت عملية استرجاع الكائنات أيضًا بمرور الوقت لتحقيق تناسق وتوافق أفضل.
استخدام استعلام عام
يمكنك تحديد اسم الصنف ومعرف الكائن من أجل استرداد كائن معين، باستخدام طريقة GET العامة، التي ستعمل مع أي صنف.
Parse 3.7.2:
لاحقًا، قام Parse 3.8 بإزالة الكائنات مما يسمح باستدعاء أبسط:
Parse 3.8:
مع وصول Parse 3.9، تمت إزالة الطريقة العامة GET ويجب عليك استخدام طريقة فئة محددة لاسترداد الكائنات (المزيد حول هذا الموضوع أدناه).
استخدام طريقة محددة (استعلام الفئة)
تغيرت الطرق المحددة أيضًا وفقًا لإصدار Parse.
في Parse 3.7.2، كان لدينا
في وقت لاحق، في Parse 3.8، أزلنا أيضًا في Parse 3.8 خاصية الكائنات لتسهيل الاستدعاء:
وفي Parse 3.9، استبدلنا في Parse 3.9 خاصية objectId بخاصية id لتحقيق تناسق أفضل بين الأطر:
العثور على كائن
تطورت خاصية البحث عن الكائنات أيضًا بمرور الوقت لتحسين الاتساق والتوافق.
استخدام استعلام عام
يمكنك تحديد اسم الفئة من أجل استرداد قائمة من الكائنات، باستخدام طريقة FIND العامة، والتي ستعمل مع أي فئة.
Parse 3.7.2:
في وقت لاحق، قام Parse 3.8 بإزالة الكائنات مما يسمح باستدعاء أبسط:
Parse 3.8:
مع وصول Parse 3.9، تمت إزالة الطريقة العامة FIND ويجب عليك استخدام طريقة فئة محددة لاسترداد الكائنات (المزيد حول هذا الموضوع أدناه).
استخدام طريقة محددة (استعلام الفئة)
تغيرت الطرق المحددة أيضًا وفقًا لإصدار Parse.
في الإصدار Parse 3.7.2 كان لدينا
في وقت لاحق، في Parse 3.8، أزلنا أيضًا في Parse 3.8 خاصية الكائنات لتسهيل الاستدعاء:
وفي Parse 3.9، استبدلنا في Parse 3.9 خاصية objectId بخاصية id لتحقيق تناسق أفضل بين الأطر:
تحديث كائن
كان لا بد من تغيير تحديث الكائنات أيضًا لتحسين الاتساق والتوافق.
استخدام استعلام عام
يمكنك تحديد اسم الصنف ومعرف الكائن من أجل تحديث كائن باستخدام طريقة التحديث العامة التي تعمل مع أي صنف.
Parse 3.7.2:
لاحقًا، قام Parse 3.8 بإزالة الكائنات مما يسمح باستدعاء أبسط:
Parse 3.8:
مع وصول Parse 3.9، تمت إزالة الطريقة العامة UPDATE ويجب عليك استخدام طريقة فئة محددة لاسترداد الكائنات (المزيد حول هذا الموضوع أدناه).
استخدام طريقة محددة (استعلام الفئة)
تغيرت الطرق المحددة أيضًا وفقًا لإصدار Parse.
في الإصدار Parse 3.7.2 كان لدينا
في وقت لاحق، في Parse 3.8، أزلنا أيضًا في Parse 3.8 خاصية الكائنات لتسهيل الاستدعاء:
وفي Parse 3.9 في Parse 3.9، تم الاحتفاظ بالاستدعاء مشابهًا للإصدار 3.8، ولكن تمت إعادة تسمية objectId إلى id في الاستدعاء:
طرق التطبيق
كان على أساليب التطبيق أن تتبع التغييرات وتتوافق مع المعايير الجديدة. تم تغيير الاستعلامات والتغيرات الخاصة بالتطبيق أيضًا.
تسجيل مستخدم
اتبع تسجيل المستخدمين الجدد البروتوكول بمرور الوقت وتم تعديله وفقًا لذلك:
Parse 3.7.2:
في وقت لاحق، حافظ Parse 3.8 على الاتصال:
Parse 3.8:
مع وصول Parse 3.9، تغيرت خاصية objectId إلى معرّف لتتوافق مع
تسجيل الدخول إلى مستخدم
تغير تسجيل الدخول إلى مستخدم بنفس الطريقة:
Parse 3.7.2
لاحقًا، احتفظ Parse 3.8 بـ Parse 3.8
Parse 3.8
مع وصول Parse 3.9، تغيرت خاصية objectId إلى معرّف لتتوافق مع
الحصول على مستخدم مسجّل
يجب أيضًا تغيير استرداد المعلومات حول مستخدم مسجّل. لا يزال يتعين عليك تمرير رأس “X-Parse-Session-Token” مع رمز جلسة عمل صالح لهذا المستخدم، ولكن الاستعلام نفسه قد تغير:
Parse 3.7.2:
لاحقًا، غيّر Parse 3.8 Parse 3.8 استعلام ME إلى تنسيق VIEWER الجديد:
Parse 3.8:
مع وصول Parse 3.9، تغيرت خاصية objectId إلى معرّف للتوافق. إذا لم تكن بحاجة إليها، فإن الصيغة هي نفس صيغة 3.8:
خاتمة
مع تطور Parse جنبًا إلى جنب مع المنصات والتنسيقات الأخرى بمرور الوقت، كان من الطبيعي أن يستمر Parse في التغيير من أجل تبسيط التطوير والحفاظ على الاتساق وقابلية التشغيل البيني.
مع ظهور معايير جديدة، كان على Parse تطبيق تغييرات حتى لا يختلف عن المكونات الرئيسية التي يتكامل معها.
وبصفتي مستخدم متعطش لـ Parse، أتوقع عن نفسي بعض التغييرات الإضافية مع مرور الوقت. تغييرات جيدة. تغييرات منطقية وتسمح للجميع بتحقيق أهدافهم.
نحن في Back4app فخورون بالمساعدة في هذا التطور، وننصح كل من يستخدم GraphQL بتحديث Parse إلى الإصدار 3.9 مع استعلامات وطفرات GraphQL الخاصة بك. سوف تستفيد من لغة استعلام أكثر اتساقًا.
الإصدار 4.0 في الفرن. ما الذي سيأتي به؟
ما هي التغييرات التي أجراها GraphQL على مر الزمن؟
طرأت تغييرات رئيسية لاحقة.
تكامل الكود السحابي
تبسيط الاستخدام
سهولة الاستخدام
استخدام تقنيات جديدة
بناء جملة متناسق
هذه بعض التغييرات التي أُجريت مع مرور الوقت.
ما هي الحاجة إلى إجراء تغييرات في طفرة خلق الأشياء؟
كان الاتساق هو المحور الرئيسي لإجراء التغييرات. الآن، عليك إنشاء الفئة أولاً في Parse 3.9، ثم إنشاء الكائنات. لذا، تم التركيز على الاتساق في هذا التحديث.
هل كان من الجيد إجراء تغييرات في العديد من الجوانب؟
نعم، كان من الضروري إجراء تغييرات. ظهرت معايير جديدة، وكان لدى مستخدمي Parse توقعات كبيرة. إنهم يريدون رؤية التغيير نحو الأفضل، وقد فعل Parse الشيء نفسه. سيستمر تحديثه ليكون إصدارًا جيدًا في المستقبل أيضًا.