إذا كان لديك بالفعل خبرة في البرمجة الكلاسيكية أو نظام أساسي آخر بدون رمز / رمز منخفض ، فستكون الكثير من المفاهيم مألوفة.

من غير المحتمل أن تكون الحلول الأخرى التي لا تحتوي على تعليمات برمجية ومنخفضة الكود ، تم تصميم AppMaster بنهج كلاسيكي لبناء التطبيقات. العنصر الأساسي في AppMaster هو مشروع ، وليس تطبيقًا كما هو الحال في الأنظمة الأساسية الأخرى. يمكن أن تتكون المشاريع من العديد من تطبيقات الويب والجوال والخلفية. بنية الحل - خادم العميل (ليس وحدة متجانسة كما هو الحال في Bubble أو الأنظمة الأساسية المماثلة).

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

كيف تبدأ؟

بالنسبة لمعظم المشاريع ، سوف تحتاج إلى إنشاء الواجهة الخلفية والويب ، أو الخلفية والجوال أو حتى جميع أنواع التطبيقات.

هام . تأكد من تنفيذ معظم منطقك في تطبيق الواجهة الخلفية. لا تضع أبدًا منطقًا مهمًا في الويب أو تطبيقات الجوال حيث لا تتحكم فيها. الواجهة الأمامية مخصصة لتصور البيانات وجمع المعلومات من مدخلات المستخدم فقط.

الطريقة الأكثر مباشرة هي البدء بإنشاء تطبيق الواجهة الخلفية.

تطبيقات الخلفية

الواجهة الخلفية الخطوة 1 . حدد نماذج البيانات الخاصة بك في Backend Data Models Designer. يمكنك التفكير في كل نموذج كجدول في قاعدة بيانات SQL (مع العلاقات). في AppMaster ، لا تُستخدم نماذج البيانات فقط لتعريف جداول قاعدة البيانات الأساسية ولكن أيضًا كإعلان عن الهيكل عبر المشروع. على سبيل المثال ، إذا كان منطقك يستخدم نموذج البيانات "المستخدم" ، فيمكنك التأكد من أن أي بنية من هذا النوع ستحتوي على نفس مجموعة الحقول.

انقر بزر الماوس الأيمن على لوحة مصمم نماذج البيانات لإنشاء نموذج جديد واسحب من حد نموذج إلى حد نموذج آخر لإنشاء علاقة. انقر فوق العلاقة أو حقل النموذج لتحريرها.

كن حذرًا مع خصائص الحقل مثل Unique أو Not NULL أو Index: إذا قمت بتطبيق سياسة NOT NULL أو Unique على قاعدة البيانات الحالية بقيم فارغة أو مكررة ، فسيفشل ترحيل مخطط قاعدة البيانات في النهاية.

الخلفية الخطوة 2 . إنشاء عمليات تجارية للتطبيق الخاص بك. عملية الأعمال (BP) من حيث منصة AppMaster هي مجرد مصطلح فريد لوظيفة في البرمجة الكلاسيكية.

يحتوي كل BP الخلفي على كتلتين إلزاميتين: البداية والنهاية. إذا كنت بحاجة إلى تمرير البيانات إلى BP الخاص بك ، فأنت بحاجة إلى تحديد المتغيرات في كتلة Start (ستعمل مثل الوسائط في وظائف من البرمجة الكلاسيكية) وتوصيلها بكتلك داخل BP.

لإرجاع البيانات من BP ، يمكنك إضافة متغيرات إلى كتلة النهاية (مثل وظائف الإرجاع من البرمجة الكلاسيكية).

يوجد نوعان من التوصيلات بين كتل BP:

  • خط سهم أزرق متصل يسمى Flow Connections ويحدد ترتيب تنفيذ الكتلة (أي كتلة يجب تنفيذها بعد ذلك)
  • خطوط رفيعة من ألوان متعددة تسمى الاتصالات المتغيرة التي تحدد روابط البيانات (من مكان الحصول على البيانات - اتصال البيانات بين كتل BP). كل لون هو نوع بيانات مختلف

عادةً ما تسمى الأماكن الموجودة في BP Blocks لوصلات التدفق أو المتغيرة الموصلات. جميع الموصلات الموجودة على الجانب الأيسر من الكتلة هي موصلات داخلية (تستقبل التدفق أو البيانات) ، وعلى الجانب الأيمن توجد موصلات خارجية (تمرر التدفق أو البيانات إلى الأمام).

لإنشاء اتصال ، تحتاج إلى السحب من موصل إلى آخر (اسحب بين الكتل التي تحتاج إلى توصيلها).

بغض النظر عن الجانب الذي ستبدأ في السحب منه ، فإنه سيشكل اتصالاً.

يتحقق محرر BP تلقائيًا من أنواع البيانات للاتصالات المتغيرة ولن يسمح لك بالاتصال إذا كانت أنواع البيانات غير متطابقة ، كما سيمنع أي حلقات أو اتصالات سيئة.

يمكنك استدعاء BP من الآخر - فقط قم بسحب وإسقاط الكتلة المناسبة من اللوحة اليسرى. كثيرًا ما نستخدم هذا النهج لتقليل التعقيد المنطقي وإعادة استخدام نفس المنطق عدة مرات في المشروع.

هناك نوعان من المتغيرات في تطبيقات الواجهة الخلفية والتي يمكنك وضعها في BP لتخزين البيانات مؤقتًا:

  • المتغيرات المحلية - لتخزين البيانات أثناء دورة حياة BP الحالي (الأكثر كفاءة ، في الذاكرة فقط)
  • المتغيرات العالمية - ستخزن بياناتك خلال دورة حياة تطبيق الواجهة الخلفية (أيضًا في الذاكرة فقط ، ستتم إعادة تعيينها بمجرد إعادة تشغيل التطبيق)

قبل أن تتمكن من استخدام المتغير العالمي عن طريق سحبه من اللوحة اليمنى لمحرر BP ، تحتاج إلى إنشاء واحد باستخدام قسم من منطق الواجهة الخلفية.

إذا كان يلزم استدعاء BP الخاص بك من مصدر خارجي عبر API (من الويب الخاص بك ، والهاتف المحمول ، باستخدام ساعي البريد / curl ، من نظام خارجي) ، فأنت بحاجة إلى إرفاق BP بنقطة النهاية.

الخطوة الخلفية 3. إنشاء نقاط النهاية. في AppMaster ، نستخدم نفس نهج REST API الكلاسيكي لنقاط النهاية. بينما يدعم AppMaster ليس فقط نقاط نهاية واجهة برمجة تطبيقات REST ولكن أيضًا WebHooks ونقاط نهاية WSS ، سنركز على النوع الأول.

عند إنشاء نقاط النهاية ، يرجى الالتزام بمعيار REST API من حيث الطرق (GET ، POST ، PUT ، PATCH ، DELETE) ، الحمولات (استخدم JSON) ، وعناوين URL (بدون أحرف غير ASCII ، بدون مسافات ، وتبدأ وتنتهي بـ خفض).

عملية إنشاء نقاط النهاية بسيطة للغاية ومباشرة: حدد BP ، وحدد URL وطريقة REST ، وإذا كنت بحاجة إلى ترخيص على نقاط النهاية - تحقق من إعدادات البرامج الوسيطة.

بمجرد أن تصبح نماذج البيانات والعمليات التجارية ونقاط النهاية جاهزة ، فقد حان وقت النشر - اضغط على زر النشر! عادةً ، في أقل من 30 ثانية ، ستأخذ AppMaster Platform جميع مخططاتك (نعم ، في الواقع ، كل ما قمت به هو إنشاء مخططات للبرنامج المستقبلي) ، وإنشاء كود المصدر ، وتجميعه ، وحزمه إلى صورة عامل التشغيل ، ونشره في AppMaster cloud. عند انتهاء عملية النشر ، يمكنك فتح وثائق REST API (OpenAPI / Swagger) واختبار نقاط النهاية الخاصة بك مع طلبات Swagger المضمنة أو باستخدام أدوات الطرف الثالث مثل Postman أو Insomnia.

هام . إذا كنت تستخدم اشتراك Learn & Explore ، فسيقوم برنامج Resource Saving Daemon الخاص بنا بإيقاف حاوية التطبيق بعد 30 دقيقة من عدم نشاطك في Studio. للتشغيل مرة أخرى - انقر فوق تبديل خطة النشر أو النشر مرة أخرى.

تطبيقات الويب

عندما يتم تخطيط وإنشاء الواجهة الخلفية بشكل صحيح ، فقد حان الوقت للانتقال إلى الواجهة الأمامية. سنبدأ بتطبيق الويب.

الخطوة الأولى لتطبيق الويب . قم بإنشاء تطبيق ويب إذا لم يكن لديك تطبيق في المشروع. اعتبارًا من الآن ، لدينا نوعان من مصممي تطبيقات الويب: الحالي والجديد (في مرحلة تجريبية). الاختلاف الرئيسي هو مقدار التخصيص. يتمتع الجيل الحالي من WebApp Designer بقدرات تخصيص محدودة للغاية لواجهة المستخدم ، ولكنه بسيط وسهل إنشاء واجهات واجهة مستخدم قياسية للوحات الإدارة وبوابات العملاء. يحتوي الإصدار الجديد (حاليًا في مرحلة تجريبية) على تخصيص كامل لمظهر وملء واجهة المستخدم - نهج flexbox مع تخطيطات من SPA (طريقة Vue ، React). يمتلك كلا المصممين عمليات أعمال مضمنة ، بما في ذلك المشغلات ومجموعة من الكتل المفيدة.

الخطوة الثانية لتطبيق الويب . ابدأ في تصميم واجهة المستخدم لتطبيق الويب الخاص بك عن طريق سحب عناصر واجهة المستخدم وإفلاتها من اللوحة العلوية (المصمم الحالي) أو اللوحة اليسرى (المصمم الجديد). بالنسبة لبعض العناصر التي تحتوي على تعداد بالداخل (مثل الجداول والقوائم) ، ستحتاج إلى تحديد نموذج البيانات أثناء مرحلة الإسقاط الأولي لضبط العنصر تلقائيًا.

هناك نوعان من العمليات التجارية في تطبيقات الويب: Trigger و Standard. تتوفر المشغلات لكل عنصر من عناصر واجهة المستخدم والنطاق على مستوى التطبيق (مشغلات التطبيق). للوصول إلى مشغل عنصر واجهة المستخدم ، حدد العنصر ، وفي علامة التبويب BP ، أنشئ عنصرًا. على عكس معايير BP القياسية ، تحتوي المشغلات على كتل بدء متعددة: كتلة واحدة لكل حدث ولا توجد كتلة نهاية. نظرًا لأن المشغلات لا تُرجع أبدًا أي قيم ، فلا داعي لكتل ​​النهاية. لا يزال بإمكانك إنشاء عمليات أعمال قياسية في تطبيقات الويب ، ولكن الطريقة الوحيدة لتنفيذها هي الاتصال بها من المشغلات. هذه طريقة جيدة لنقل المنطق المستخدم بشكل متكرر إلى قواعد بيانات الويب القياسية واستدعائها من المشغلات.

هام . يرجى تذكر أن BPs الخلفية ستعمل داخل تطبيقات الواجهة الخلفية ، وسيتم تشغيل تطبيق الويب BP في متصفحات المستخدمين ، وسيكون تقليل عبء العمل على الويب مفيدًا لتجربة المستخدم.

هناك نوعان من المشغلات المهمة جدًا على مستوى التطبيق. على سبيل المثال ، يتم تشغيل التطبيق onLaunch عندما يتم تشغيل تطبيق في المتصفح للتو. هذا هو أفضل مكان للتحقق مما إذا كان المستخدم قد تمت مصادقته أم لا ، وإذا لم يكن الأمر كذلك ، فقم بإعادة التوجيه إلى الصفحة الصحيحة (إذا كنت بحاجة إلى المصادقة على الإطلاق).

لا تنس حفظ مخطط تطبيق الويب الخاص بك ونشر مشروعك لمشاهدة التغييرات.

تطبيقات الهاتف الجوال

عندما تحتاج إلى إنشاء تطبيق جوال ، فإن العملية هي نفسها مع تطبيق الويب: إنشاء شاشات ، ووضع عناصر واجهة المستخدم ، وإنشاء مشغلات عناصر واجهة المستخدم ، وضبط التطبيق عند التشغيل ، وستكون جاهزًا للانطلاق. لا توجد معاينة ويب لتطبيقات AppMaster للجوال ، ولكن يمكنك تثبيت تطبيق AppMaster Developer للجوال لنظامي Android و IOS لمعاينة تطبيقاتك مباشرة مع جميع الميزات المتعلقة بالأجهزة مثل BLE و NFC وما إلى ذلك.

عندما تنتهي من تطوير تطبيق الهاتف المحمول الخاص بك ويكون جاهزًا للنشر ، فإن AppMaster لديه معالج نشر خاص متاح من قائمة السياق في قائمة جميع تطبيقات الهاتف المحمول في المشروع. بالنسبة لنظام Android ، سيقوم AppMaster بإنشاء ملفات APK و AAB يمكن أن تكون.

ملخص

AppMaster هو IDE كبير حيث يمكنك تخطيط تطبيقاتك باستخدام مخططات متقدمة في مصمم نماذج البيانات ومحرر عمليات الأعمال ومصممي الويب والجوال.

التعليمات

لماذا نحتاج إلى مشاريع ذات تطبيقات متعددة لكل مشروع؟

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

  • مشاريع معقدة: مثل سيارات الأجرة عند تطبيق واحد للركاب وآخر للسائقين الذين يعملون بنفس الواجهة الخلفية
  • قم بإنشاء تطبيقات خلفية متعددة لموازنة عبء العمل وإجراء التغييرات بسهولة وأقل خطورة

بينما يمكنك بالفعل إنشاء العديد من تطبيقات الويب والجوّال لكل مشروع ، ما زلنا نعمل على تقديم تطبيقات خلفية متعددة لكل مشروع.

ما هي مزايا وعيوب التطبيقات التي تم إنشاؤها؟

تتمثل المزايا الأكثر وضوحًا وملاحظة في الأداء العالي بشكل ملحوظ ، وقابلية التوسع ، والقدرة على الحصول على الملفات الثنائية للتشغيل في مكان العمل ، وكود المصدر لاجتياز الشهادات وعمليات التدقيق. نستخدم أحدث إصدار من لغة البرمجة Go لإنشاء تطبيقات خلفية. يوفر Go الكثير من أداء التطبيقات المترجمة ، والتجميع المتقاطع لبنى أنظمة تشغيل ووحدة معالجة مركزية متعددة ، وبساطة عامة من خلال الحفاظ على المرونة.

العيوب الأكثر شيوعًا هي الحاجة إلى إعادة إنشاء التطبيق وإنشائه مرة أخرى في كل مرة عندما تقوم بإدخال تغييرات على المخططات الخاصة بك وعادة ما يستغرق الأمر حوالي 35-45 ثانية في المتوسط ​​للمشروعات متوسطة الحجم. أيضًا ، هناك بعض التعقيدات والتكاليف الإضافية نظرًا لأننا نحتاج إلى تشغيل التطبيقات في السحابة لدينا: كل تطبيق نقوم بتشغيله في حاوية عامل الإرساء يستهلك وحدة المعالجة المركزية وذاكرة الوصول العشوائي (حتى في حالة الخمول) ، ويتطلب ترحيل مخطط قاعدة البيانات (نقوم بذلك تلقائيًا).

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

ما هي التكنولوجيا المستخدمة في تطبيقات الويب؟

نقوم بإنشاء تطبيقات الويب باستخدام إطار عمل Vue3 مع TypeScript (TS). تعمل تطبيقات الويب في مجموعة من أوضاع SPA و SSG. ستتم إضافة العرض من جانب الخادم (SSR) لاحقًا ولمصمم تطبيق الويب الجديد فقط.

ما هي التكنولوجيا المستخدمة في تطبيقات الهاتف المحمول؟

تم تصميم تطبيقات الهاتف المحمول الخاصة بنا باستخدام نهج تصريحي يحركه الخلفية: نحن نستخدم قاعدة كود برمجية أصلية بالكامل (الأكثر أصالة) من Swift و SwiftUI لـ IOS و Kotlin و Jetpack Compose لنظام Android. تقوم تطبيقات الأجهزة المحمولة تقنيًا بتحميل التكوين والشاشات عبر الشبكة عند الطلب باستخدام JSON و Protobuf لتحقيق أقصى أداء. هناك العديد من الفوائد لهذا النهج: يمكنك تغيير التطبيقات في الوقت الفعلي دون الحاجة إلى نشر إصدارات محدثة من التطبيقات إلى AppStore أو Play Market ، ويمكنك العمل دون اتصال بالإنترنت تمامًا ، والوصول إلى جميع ميزات الأجهزة. نحن لا نستخدم تقنية HTML / JS / ReactNative أو PWA في تطبيقات الهاتف المحمول الخاصة بنا. يجب توزيع تطبيقات الأجهزة المحمولة التي تم إنشاؤها في AppMaster عبر AppStore أو Play Market أو أي منصة توزيع أخرى (من الناحية الفنية ، يمكنك مشاركة ملفات apk / aab لنظام Android ، ولكن هذا يتطلب الكثير من الجهد).

أين تستضيف التطبيقات بشكل افتراضي؟

لقد أنشأنا AppMaster Cloud فوق البنية التحتية لـ AWS لتقديم الخدمة الأكثر موثوقية وقابلية للتطوير لعملائنا. افتراضيًا ، يمكن للعملاء الذين لديهم أي اشتراك استخدام واحدة من ثلاث مناطق أساسية: أمريكا الشمالية (الولايات المتحدة) ، وأوروبا (ألمانيا) ، وآسيا. بالنسبة لخطط الاستضافة المخصصة ، تتوفر لدينا معظم مناطق AWS (خارج المواقع الأساسية). إذا كنت بحاجة إلى بلد معين لاستضافة طلبك - فأخبرنا بذلك.

كيف يمكنني الحصول على حزمة التطبيق أو البرنامج الثنائي أو الكود المصدري لتطبيقاتي؟

للحصول على ملفات أو حزم ثنائية ، يجب أن يكون لديك اشتراك تجاري على الأقل. يمكن تنزيل تطبيقات الواجهة الخلفية من متجر القطع الأثرية كملفات ثنائية أو سحبها عبر Docker pull من السجل الخاص بنا (مثل Docker Hub). يمكن أيضًا تنزيل حزم المحمول والويب من متجر القطع الأثرية. يمكنك تنزيل حزم تطبيقات الأجهزة المحمولة مع أي اشتراك باستثناء Learn & Explore. للحصول على الكود المصدري للتطبيق ، يجب أن يكون لديك اشتراك مؤسسة. من خلال اشتراك المؤسسة ، ستحصل على رمز مصدر كامل لتطبيقات الويب والخلفية ولكن قاعدة رموز محدودة لتطبيقات الأجهزة المحمولة نظرًا لأننا نستخدم نهجًا يستند إلى الواجهة الخلفية هناك.

ما الفرق بين النموذج والنموذج الافتراضي؟

نستخدم المصطلح Model للإشارة إلى الهيكل الذي سننشئ له جداول في قاعدة بيانات وسنقوم تلقائيًا بإنشاء كتل DB مسبقًا لإجراء العمليات الأساسية على جدول قاعدة البيانات مثل البحث وإنشاء السجلات وما إلى ذلك. النماذج الافتراضية هي نفسها ، باستثناء أننا سوف لا تنشئ جداول ولن تكون هناك كتل قاعدة بيانات. كانت النماذج الافتراضية واحدة من أكثر الميزات المطلوبة من قبل معظم المطورين. حالة الاستخدام الأكثر شيوعًا للنماذج الافتراضية هي عندما تحتاج إلى إنشاء بنية (مثل الكائنات في JS أو JSON) واستخدامها للطلبات الخارجية أو عناصر واجهة المستخدم أو نقاط النهاية. من الغريب أن تظهر النماذج المحددة في تطبيقات الواجهة الخلفية تلقائيًا في تطبيقات الويب والجوّال على أنها افتراضية: في تطبيقات الويب والجوّال تحتاج إلى معرفة أي بنية بيانات لتتمكن من العمل معها.

كيف يمكنني العمل مع النماذج في العمليات التجارية؟ كيفية استخراج الحقول وما إلى ذلك.

لكل نموذج ، نقوم بإنشاء كتل الإنشاء والتوسيع مسبقًا. سيقوم Make بجمع الحقول إلى Model Record ، وسوف يقوم Expand باستخراج الحقول من Model Record. يرجى ملاحظة أن هذه الكتل لا تغير البيانات الأولية التي يتم تمريرها إلى مدخلات الكتل.

كيف يمكنني تحديد قيمة للمتغيرات المحلية أو العالمية؟

لن تؤدي جميع الكتل التي ستستخدمها إلى تغيير البيانات الأولية عند تمريرها إلى الإدخال. الكتلة الوحيدة التي تغير البيانات هي Set Variable: قم بتوصيل المتغير والقيمة وبعد تنفيذ الكتلة ، ستحصل على القيمة الخاصة بك داخل المتغير. يمكن أن يكون للمتغيرات العالمية في تطبيقات الجوال والويب ثبات وستظل قائمة عند إعادة تشغيل التطبيق إذا تم تعيين العلامة المناسبة.

كيف يمكنني إجراء استدعاء API لنظام خارجي؟

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

  • استخدام HTTP Request block هو أسهل طريقة للقيام بذلك ، يمكنك استخدامه في أي BP الخلفي
  • استخدام مصمم واجهة برمجة التطبيقات الخارجية لإنشاء طلب أولاً ثم استخدام الكتل المصنّعة داخل عمليات BP الخاصة بك.

بينما يمكنك استخدام حظر طلب HTTP للاتصال بالأنظمة الخارجية ليس فقط في تطبيقات الواجهة الخلفية ولكن أيضًا في الويب والجوال ، يجب أن يكون لديك سبب للقيام بذلك: عندما يريد تطبيق الواجهة الأمامية إجراء مكالمة إلى الجهاز في الشبكة المحلية ، أو إذا كان ذلك حسب التصميم لنظام الطرف الثالث.

ما أنواع الطلبات والبروتوكولات المدعومة عند استدعاء الأنظمة الخارجية؟

اعتبارًا من الآن ، ندعم طلبات REST API مع حمولات JSON أو XML أو نص عادي أو حمولات ثنائية. لم يتم دعم gRPC حتى الآن ، ولكننا نعمل بنشاط على تقديمه في الأشهر القادمة باستخدام مصمم API الخارجي الجديد الخاص بنا.

هل تدعم التطبيقات التي تم إنشاؤها بواسطة AppMaster WebSockets؟

نعم ، يمكنك إنشاء نقاط نهاية WSS في تطبيق الواجهة الخلفية واستخدامها للتواصل داخل تطبيقات الويب أو الأجهزة المحمولة. أيضًا ، يمكنك تحديد هياكل الحمولة الخاصة بك باستخدام النماذج أثناء إنشاء نقطة نهاية WSS. لم يتم تنفيذ التواصل مع الأنظمة الخارجية باستخدام WebSockets.

كيف يمكنني الاتصال بنقطة النهاية الخلفية من تطبيق ويب أو جوال؟

لكل نقطة نهاية قمت بإنشائها في تطبيق الواجهة الخلفية ، يقوم النظام الأساسي بإنشاء كتلة متطلبات الخادم لتطبيقات الويب والجوال. فقط ضع تلك الكتلة في أي مشغل واتصل بها. يمكنك مراقبة تنفيذ كتل طلب الخادم في وحدة تحكم مطور المتصفح ، علامة تبويب طلبات الشبكة. في تطبيقات الأجهزة المحمولة ، يمكنك استخدام السجلات (يجب تمكينها أولاً في إعدادات تطبيق AppMaster Developer).

هل يمكنني إنشاء مصادقة وتسجيل مخصصين؟

بالتأكيد ، يمكنك تعطيل وحدة المصادقة المدمجة تمامًا وصياغة حل مخصص بالكامل. ستحتاج إلى إنشاء BP منفصل في تطبيق الواجهة الخلفية الذي سيتعامل مع جر رمز المصادقة (عادةً من رأس الطلب) والتحقق وفقًا لقواعدك. يمكنك الحصول على رؤوس الطلبات باستخدام BP block Get Request Headers . يرجى ملاحظة أنه بمجرد تعطيل المصادقة المضمنة ، لن تتمكن من استخدام كتلة Get Current User . أيضًا ، يمكنك استخدام أي معرف أو رقم هاتف أو معرف آخر بدلاً من البريد الإلكتروني باستخدام وحدة المصادقة القياسية.

هل هناك أي طريقة لإنشاء عمليات ذات مؤشر ترابط آمن للعدادات الموثوقة وحالات التنفيذ الأخرى المطلوبة؟

يدعم AppMaster وضع مؤشر ترابط واحد لتنفيذ عملية الأعمال عندما يتم تنفيذ جميع استدعاءات عملية الأعمال بترتيب صارم ، واحدًا تلو الآخر. يمكن أن يؤدي هذا الوضع إلى جزاء الأداء في حالات عبء العمل المرتفع ، ولكن في معظم الحالات ، لا يتسبب في أي تدهور ملحوظ في الأداء. يرجى ملاحظة أن مكدس المكالمات (قائمة الانتظار) لهذا الوضع محدود.

2FA مع الرسائل القصيرة أو البريد الإلكتروني أو OTP؟

نعم ، يمكنك ضبط منطق المصادقة الخاص بك ليشمل طرق المصادقة الثنائية. لاستخدام الرسائل القصيرة أو البريد الإلكتروني ، يجب عليك الاتصال بمزود خارجي مثل Twilio. أسهل طريقة هي تمديد الجلسات وتضمين حقول إضافية للتحكم في 2FA في الجلسة. في الربع الثالث من عام 2023 ، سنقدم وحدة OTP المستندة إلى الوقت والتي ستعمل مع Google و Microsoft Authenticator.

هل يمكنني استخدام الواجهة الخلفية التي تم إنشاؤها بواسطة AppMaster مع تطبيقات الويب أو الأجهزة المحمولة الأخرى؟

نعم ، تحتوي تطبيقات الواجهة الخلفية التي تم إنشاؤها بواسطة AppMaster على نقاط نهاية REST API قياسية. لكل تطبيق ، يتم إنشاء وثائق REST API (OpenAPI / Swagger) تلقائيًا ويتم تقديمها على نقطة نهاية منفصلة.

هل يمكنني استخدام القوالب لإنشاء مشاريع أو تطبيقات؟

ليس لدينا قوالب بعد ، ولكن هذا شيء سنطلقه في المستقبل القريب. تعد مشاريع AppMaster أكثر تعقيدًا من WebFlow أو Bubble ونحتاج إلى مزيد من الوقت لتنفيذها.

ما نوع قاعدة البيانات التي يدعمها AppMaster؟

يعمل تطبيق الواجهة الخلفية المُنشأ من AppMaster مع أي قواعد بيانات متوافقة مع PostgreSQL بدءًا من PG12 ، لكننا نوصي باستخدام أحدث إصدار متاح من PostgreSQL DB (15.3 في وقت هذا المستند). تم التخطيط لدعم MSSQL و MariaDB و MySQL و SQLite وستتم إضافته في نهاية عام 2023 / أوائل عام 2024.

كيف يمكنني الوصول مباشرة إلى قاعدة البيانات لتعديل السجلات؟

لا يدعم AppMaster الوصول المباشر إلى قاعدة البيانات للتطبيقات التي تتم استضافتها في AppMaster Cloud. إذا كنت تستخدم استضافة محلية ، فيمكنك الوصول إلى قاعدة البيانات باستخدام أي أداة مرئية مثل PGAdmin أو باستخدام أداة سطر الأوامر pgsql. في المستقبل ، سنضيف ميزة للسماح للعملاء بتحرير قاعدة البيانات مباشرة.

هل هناك أي تعاون في الوقت الفعلي؟ هل يمكننا العمل كفريق في نفس المشروع؟

لدينا تعاون في الوقت الحقيقي في مصمم الويب الجديد فقط. يستخدم مصمم الويب الجديد (تجريبي) مسودات الشبكة مع بروتوكول نوع البيانات المتماثل الخالي من التعارض (CRDT) لتغطية جميع حالات الاستخدام وإعطاء إدارة الحالة (Ctrl + Z ، تراجع العمليات). سنقوم تدريجياً بنقل CRDT إلى محرر BP ومصمم نماذج البيانات خطوة بخطوة في المستقبل. إذا كنت بحاجة إلى العمل كفريق ، فالرجاء عدم تحرير مخطط نموذج البيانات أو نفس BP أو نفس تطبيق الويب / الجوال لأنه قد يؤدي إلى فقدان البيانات.

ما هي الميزات الهامة التي قد يفتقر إليها AppMaster؟

  • مصمم Visual SQL . بينما يتم دعم معظم العمليات الأساسية مثل البحث باستخدام المرشحات والصلات ، احصل على سجل واحد عن طريق المعرف والتحديث والتصحيح والحذف والحذف الناعم ، ولكن من أجل مرونة وأداء أفضل ، نحن نعمل على Visual SQL Designer وسيتم إصداره في أكتوبر 2023.
  • الخدمات المصغرة للخلفية . نحن نعمل بنشاط على تنفيذ العديد من التطبيقات الخلفية لكل مشروع. اعتبارًا من الآن ، يمكنك إنشاء تطبيق خلفي واحد فقط لكل مشروع.
  • لا يوجد SSR لتطبيقات الويب حتى الآن . بالنسبة لتطبيقات الويب ومواقع الويب الأكثر تحسينًا ، تضيف SSR مزايا إضافية لتحسين محركات البحث. ايتا نوفمبر 2023.
  • دعم gRPC لطلبات API الخارجية . نخطط لإضافة gRPC مع حمولة ناقلة وخيارات ضغط لتوسيع إمكانيات التوصيل البيني بين الأنظمة.
  • قوالب المشاريع وتطبيقات الويب والجوال . نحن نعمل على تقديم القوالب. سنضيف قوالب تطبيقات الويب كخطوة أولى في سبتمبر 2023. لا تحتوي قوالب المشروع بأكملها على الوقت المتوقع للوصول حتى الآن.
Was this article helpful?

AppMaster.io 101 حلقة دراسية مكثفة

10 وحدات
2 أسابيع

لست متأكدا من أين تبدأ؟ ابدأ في الدورة التدريبية المكثفة للمبتدئين واستكشف AppMaster من الألف إلى الياء.

ابدأ الدورة
Development it’s so easy with AppMaster!

هل تريد المزيد من المساعدة؟

حل أي مشكلة بمساعدة خبرائنا. وفر الوقت وركز على بناء تطبيقاتك.

headphones

اتصل بالدعم

أخبرنا عن مشكلتك ، وسنجد لك حلاً.

message

دردشة المجتمع

ناقش الأسئلة مع مستخدمين آخرين في محادثتنا.

الانضمام إلى المجتمع