يشكل SDK الحد الفاصل بين الخدمة والتطبيقات التي تستخدمها. ويصبح هذا الحد أبسط عندما تصف الكائنات العمليات المفيدة بدلاً من عكس بنية التخزين الداخلية. توضح IaGenify SDK 0.2 هذا الفرق في الملفات والتخزين المتصل.
الملف مورد وليس مساراً على الخادم
يحتاج التطبيق إلى تحديد الملف وقراءته وتحديثه أو حذفه. ولا يحتاج إلى معرفة المجلد الذي توجد فيه بايتاته على جهاز الخدمة. لذلك يركز كائن الملف على معرّف المصدر والعمليات المدعومة.
const file = await api.files.get(sourceId);
console.log(file.sourceId);
file.content = "Revised note";
await file.update();تجعل المعرّفات الثابتة الشيفرة قابلة للنقل. يعمل المرجع نفسه في أداة محلية أو واجهة ويب أو أتمتة من دون معرفة نظام ملفات الخادم.
التخزين المتصل يتيح عمليات مفيدة
ينبغي لمورد التخزين المتصل أن يمكّن التطبيق من استخدام الوصلة. تعرض الواجهة العامة هويته وعملياته؛ ولا يحتاج التطبيق إلى فحص بيانات الدخول كي يسرد التخزين أو يستخدمه.
const storage = await api.storage.get({ id: storageId });
console.log(storage.id);
const files = await storage.run({ action: "list", path: "/reports" });بهذا تتضح المسؤوليات: يختار التطبيق العملية، وتستخدم الخدمة الوصلة المحفوظة لتنفيذها. لا يحتاج البرنامج المستدعي إلى نسخ تفاصيل الاتصال في حالته الخاصة.
واجهة عامة أصغر أسهل في الصيانة
إذا أعاد SDK تفاصيل التنفيذ، فقد تعتمد عليها التطبيقات رغم أنها لم تكن جزءاً من العقد المستقر. وإزالتها لاحقاً قد تكسر تلك التطبيقات. تسهّل الكائنات المركزة توثيق الواجهة وتطويرها بين بيئات التشغيل.
لا يتعلق الأمر بإخفاء وظائف مفيدة، بل بعرضها في المستوى المناسب: معرّفات للمصادر، وطرق للعمليات المدعومة، ونتائج يمكن للتطبيق العمل بها.
المبدأ وراء الإصدار 0.2
يحمل IaGenify SDK 0.2 مبدأً بسيطاً: تتضمن الكائنات العامة ما يحتاج إليه التطبيق من دون إلزامه بمعرفة تفاصيل الخدمة الداخلية.
يوفر SDK الموثوق مراجع ثابتة وإجراءات واضحة، بينما تحتفظ الخدمة بالتحكم في تنفيذها الداخلي.
الأسئلة الشائعة
لماذا أستخدم معرّفاً بدلاً من مسار ملف؟
يظل المعرّف صالحاً بين بيئات التشغيل وتغييرات التخزين؛ أما المسار فيصف تنفيذاً واحداً.
هل يحتاج التطبيق إلى بيانات دخول التخزين المتصل؟
تستخدم الخدمة الوصلة المحفوظة. يستدعي التطبيق العمليات من دون نسخ بيانات الدخول.
هل يغير SDK 0.2 محتوى الملفات؟
لا. يوضح الكائنات العامة والمراجع التي تستخدمها التطبيقات للوصول إلى الملفات والتخزين.
ما المبدأ العام؟
إبقاء عقد SDK مركزاً على موارد معرّفة وعمليات مدعومة.