إنتقل إلى المحتوى الرئيسي

تشغيل تطبيق استوديو بمفرده

الهدف​

افتح التطبيق الذي رسمته بوصفه تطبيقًا قائمًا بذاته — من قائمة الغلاف، ولا شيء حوله سوى الشريط العلوي للمنصّة.

لماذا هذا موجود​

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

الطريقان كلاهما حقيقي، وتختار لكل تطبيق:

طريقة الوصولكيف يبدومتى
بمفرده، من قائمة التطبيقاترسمك، بعرض كامل، بلا شريطحين يكون التطبيق هو الشاشات المرسومة نفسها
داخل تنقّل تطبيق مبني على النموذجشريط جداول إلى جانب رسمكحين يكون الرسم صفحة هبوط فوق السجلات — انظر فتح تطبيق استوديو من تطبيق مبني على النموذج

المتطلبات​

  • تطبيق استوديو رسمته وحفظته — انظر ارسم شاشة استوديو.
  • البيئة التي بُني فيها، أو بيئة استُورد حلّه إليها.

الخطوات​

  1. افتح غلاف المنصّة وتأكّد أن مُنتقي البيئة على البيئة التي فيها تطبيقك.
  2. في قائمة التطبيقات، ابحث عن تطبيقك. تحت أيقونته مكتوب تطبيق الاستوديو.
  3. اضغطه. يفتح التطبيق على شاشة البدء — تلك المسمّاة في يفتح على داخل المصمّم.
  4. تنقّل فيه بالأزرار التي رسمتها. كل navigate("…") يأخذك إلى تلك الشاشة.

شريط العنوان جزء من الأمر​

لكل شاشة عنوانها: /apps/<تطبيقك>/<اسم الشاشة>. وهذا ليس زخرفًا —

  • زرّ الرجوع في المتصفّح يعيدك إلى الشاشة السابقة، لا إلى خارج التطبيق؛
  • التحديث يعود بك إلى الشاشة التي كنت عليها؛
  • الرابط الذي تنسخه يفتح عليها لمن ترسله إليه.

اسم الشاشة في العنوان هو الاسم المكتوب على الإطار، فشاشة اسمها Order details تُقرأ Order%20details — وهي طريقة المتصفّح في كتابة المسافة.

ما لا يحمله الرابط هو القيمة المسلَّمة بـ navigate("Details", { id }). فهذه تسافر في اللحظة نفسها بين شاشتين؛ والوصول بالرجوع أو بالتحديث أو برابط ملصوق يفتح الشاشة بلا screen.params. وإذا لزم أن تكون الشاشة قابلة للوصول بحسب ما تعرضه، فتلك صفحة بوّابة بعنوان مصمَّم، لا تسليم يدوي.

من يستطيع فتحه​

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

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

لا يظهر التطبيق في قائمة تطبيقات الشخص إلا إذا كان مسموحًا له بفتحه. لتسليم تطبيق إلى الآخرين، حدّده تحت تطبيقات الاستوديو واختر مشاركة. إنها اللوحة نفسها المستخدمة للتطبيق المعتمد على النموذج: حدّد الأدوار التي صُمّم التطبيق لها، وتُسمّي من يحصل عليه من يصلهم ذلك. راجع تسليم تطبيق إلى من سيستخدمونه.

ملء النافذة: إخفاء شريط المنصة​

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

ارسم هذه الأشياء داخل التطبيق أوّلًا. ما يزيله الخيار هو الطريق الوحيد للخروج من المنتج، فالتطبيق الذي يحلّ محلّ الشريط عليه أن يحمل ما كان الشريط يحمله:

ماذا في شريط المنصةماذا ترسم الشاشة
المستخدم الحالي وصورتهuser.name وuser.email، وصورة يكون ربط الصورة فيها user.photo
فاتح وداكنsetTheme("dark") / setTheme("light")، وui.theme لقراءة الوضع الحالي
تسجيل الخروجsignOut()
منتقي البيئةلا شيء — وهذا سبب إبقاء الشريط لأي شيء يستعمله صانع

نموذج مكتب الدعم يفعل ذلك كلّه؛ افتحه وانظر إلى شريطه العلوي.

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

نقله إلى بيئة أخرى​

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

حل المشكلات​

  • التطبيق ليس في القائمة. — أنت في البيئة الخطأ، أو لم يُستورد حلّه هنا. ابدأ بمنتقي البيئة.
  • يفتح على الشاشة الخطأ. — يفتح على في المصمّم هو ما يسمّي شاشة البدء. افتح التطبيق في المصمّم وتحقّق منه ثم احفظ.
  • زرّ يقول إن هذا التطبيق لا يملك شاشة بهذا الاسم. — أُعيدت تسمية الإطار بعد كتابة المعالج. الرسالة تسمّي ما طُلب؛ أعِد الاسم القديم أو صحّح المعالج.
  • التطبيق يقول إنه تعذّر فتحه. — لا إذن لدورك عليه. فتح التطبيق إذن كسائر الأذونات؛ اطلبه ممّن يدير أدوار الأمان.
  • الرجوع يخرج من التطبيق بدل الشاشة السابقة. — وصلت إلى تلك الشاشة مباشرة (رابط ملصوق، أو تحديث)، فلا شيء قبلها في تاريخ هذا التطبيق.
  • لا سبيل للخروج من التطبيق. — إخفاء شريط المنصة مفعّل والتطبيق لا يرسم خروجًا خاصًّا به. أطفئه، أو أضف زرًّا يستدعي معالجه signOut().
  • الصورة في شريطي العلوي فارغة. — لا صورة لذلك الشخص في ملفه، وهي الحالة المعتادة. اربط الظهور للصورة بـuser.photo != "" وارسم خلفها دائرة ملوّنة، كما يفعل النموذج.

سيناريوهات ذات صلة​