تخطي إلى المحتوى
العودة إلى المدونة
Release#منتج#widgets#أتمتة

وصّل widgets: سطح واحد، جملة واحدة، وزر اختبار

كل ما يمكن توصيله بـ widget يعيش الآن خلف صندوق بحث واحد — widgets أخرى، connections، bots وagents. صف التوصيل بلغة عادية، وأطلق حدثاً حقيقياً لاكتشاف أي طرف معطل.

The Nexow Team3 دقيقة قراءة
وصّل widgets: سطح واحد، جملة واحدة، وزر اختبار

link ينقل أحداثاً بين widgetين: غيّر الرمز في واحد والآخر يتفاعل. فعّل Two-way ويبقيان متزامنين في الاتجاهين. الفرق بين شاشة مليئة ببلاطات منفصلة وشاشة تتصرف كآلة واحدة.

الفكرة كانت جيدة. إيجادها لم يكن، ولا معرفة إنها تعمل. كلاهما مُصلَح في هذا الإصدار.

سطح واحد، و«All» تعني الكل فعلاً

المُنتقي كان مقسماً على sub-tabs — Widgets وSources — ما يعني نصف المخزون مخفياً دائماً خلف مفتاح toggle يجب أن تعرف الضغط عليه. widget وحده على شاشته أظهر شبكة فارغة، بلا تلميح أن bots وagents وconnections موجودة.

الآن صندوق بحث واحد وصف filters نوع فوق كل شيء: widgets أخرى على هذه الشاشة، في هذا workspace أو في مكان آخر؛ data connections؛ bots؛ agents. All يعرض الكل.

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

إصلاح صدق صغير في نفس المنطقة: الحالة الفارغة تنتظر الآن bots وagents stores أن تجيب قبل الادعاء أنه لا شيء للتوصيل، تعرض Looking… في الأثناء، وكل chip filter يحمل عدده الخاص. شبكة فارغة تعني «ما زال loading» كذبة كانت الواجهة ترويها باستمرار.

آليتان، سؤال واحد

وراء ذلك المُنتقي الواحد شيئان مختلفان حقاً:

  • widget آخر → glue link مُولَّد بالذكاء الاصطناعي. كود حقيقي، بتاريخ إصداراته، يعمل في runtime مخفي، يُعيِّن ما يُصدِر A إلى ما يتوقعه B.
  • connection أو bot أو agent → attachment خفيف، سجل لما علّمه rebuild كود widget نفسه أن يفعل. مُنسَّق لا تلقائي، لذا تصفح خمس sources متتالية يكلف rebuild واحداً لا خمسة.

معرفة أي واحد تريد، قبل أن تقول ما تريده فعلاً أن يحدث، سؤال أول سيء. لذا تبويب Links يفتح الآن بـ composer: صف التوصيل.

«زامِن الرمز في الاتجاهين مع الرسم البياني.» «عندما أنقر صفاً هنا، صفِّ widget الآخر.» «اعرض إشارات bot تنبيهات السعر في هذا widget.»

planner يقرأ نفس المخزون الذي يعرضه المُنتقي ويحلّ الآلية والطرف المقابل — «price bot» يصبح id. يحلّ فقط؛ لا يُولّد أبداً. codegen streaming المكلف ما زال يعمل حيث كان دائماً، بزر Stop خاص وتاريخ إصدارات خاص.

إذا فضّلت الإشارة بنفسك، المُنتقي ما زال يفعل ذلك — ويُعلّم الآن ما wire إليه already، لذا pick ثانية تقرأ «already linked» بدلاً من تكرار الأول silently. pick مرة أخرى يحدّث التوصيل الموجود بدلاً من إضافة صف duplicate، والbadge يقول ذلك قبل أن تدفع rebuild.

«اختبار»: أي طرف معطل فعلاً؟

حتى هذا الإصدار link كان write-only. وصفته، دفعت codegen، غادرت editor ولمست widgets الحقيقية لمعرفة إن حدث شيء. عندما لا، لم تكن طريقة لمعرفة أي جزء خطأ — widget لا يُصدِر، link لا ي map، أو widget الآخر لا يستمع.

editor لديه الآن شريط اختبار. اختر topic وقيمة، اختر أي طرف يتظاهر بالemit (مُعرَّض فقط على link ثنائي الاتجاه، لأن link أحادي الاتجاه سيبلّغ دائماً nothing من الجانب البعيد)، وأرسل. event يدخل runtime link الحقيقي وينفّذ connect(ctx) المُولَّد — لا simulation — والحكم يميّز كل طريقة يمكن أن يخرج فارغاً:

  • هذا link لا يعمل. فعّله — أو ليس له كود بعد.
  • عمل لكن لم يُعدِّ شيئاً لذلك topic. mapping خطأ؛ تبويب Logs فيه التفاصيل.
  • أُرسل «symbol» إلى Chart. يعمل.
  • أُعدِّي، لكن widget ليس على الشاشة لاستقباله. ليس bug — الطرف الآخر على شاشة أخرى.

testing يبقى على القائمة بدلاً من bounce إلى مكان آخر، وrecorder يُ arm فقط بينما الشريط على الشاشة، لذا link يُ forward tick stream لا يدفع instrumentation.

الهادئون

links ثنائية الاتجاه ست echo إلى الأبد بلا مساعدة، لذا delivered value يُذكَّر والbounce-back المطابق يُ drop مرة — canonical A↔B mirror loop ينكسر، بينما genuinely new value ما زال يمر. links وattachments replicate عبر tabs وأجهزتك بدلاً من العيش في واحد، لذا حذف واحد elsewhere يعرض الآن حالة gone في editor بدلاً من السماح بالحفظ في nothing. وعندما rebuild يفشل، يقول ذلك ويشير إلى تبويب Builder، بدلاً من spinner حيث يجب أن تكون إجابة.

تغيير آخر في الطريق: التطبيق يُ rename حول الكلمة التي يستخدمها الناس already. Link يصبح wire، وMy wiring يبقى exactly حيث هو.

شغّل Nexow، افتح تبويب Links لأي widget، وصف ما يجب أن يحدث عند النقر على شيء. ثم اختبر قبل المغادرة.

بناء أول أداة في الدقيقة التالية

المعاينة حية ومجانية للمحاولة. لا تسجيل ولا إعداد — فقط صِف ما تريد رؤيته.

الوقت المتبقي0:00