Window.pipedriveLeadboosterConfig = { القاعدة: 'leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', الإصدار: 2, } ؛(الدالة () { var w = نافذة إذا كان (w.LeadBooster) { console.warn('LeadBooster موجود بالفعل') } وإلا { { w.LeadBooster = { q: [], على: دالة (ن، ح) { { هذا.q.push({ t: 'o'، n: n، n: n، h: h }) }, الزناد: الدالة (n) { هذا.q.push({ t: 't'، n: n: n }) }, } } })() StimulusReflex - طريقة سريعة لإنشاء تطبيقات تفاعلية - The Codest
The Codest
  • نبذة عنا
  • الخدمات
    • تطوير البرمجيات
      • تطوير الواجهة الأمامية
      • تطوير الواجهة الخلفية
    • Staff Augmentation
      • مطورو الواجهة الأمامية
      • مطورو الواجهة الخلفية
      • مهندسو البيانات
      • مهندسو السحابة
      • مهندسو ضمان الجودة
      • أخرى
    • استشاري
      • التدقيق والاستشارات
  • الصناعات
    • التكنولوجيا المالية والمصرفية
    • E-commerce
    • أدتك
    • التكنولوجيا الصحية
    • التصنيع
    • الخدمات اللوجستية
    • السيارات
    • إنترنت الأشياء
  • القيمة مقابل
    • CEO
    • CTO
    • مدير التوصيل
  • فريقنا
  • دراسات الحالة
  • اعرف كيف
    • المدونة
    • اللقاءات
    • ندوات عبر الإنترنت
    • الموارد
الوظائف تواصل معنا
  • نبذة عنا
  • الخدمات
    • تطوير البرمجيات
      • تطوير الواجهة الأمامية
      • تطوير الواجهة الخلفية
    • Staff Augmentation
      • مطورو الواجهة الأمامية
      • مطورو الواجهة الخلفية
      • مهندسو البيانات
      • مهندسو السحابة
      • مهندسو ضمان الجودة
      • أخرى
    • استشاري
      • التدقيق والاستشارات
  • القيمة مقابل
    • CEO
    • CTO
    • مدير التوصيل
  • فريقنا
  • دراسات الحالة
  • اعرف كيف
    • المدونة
    • اللقاءات
    • ندوات عبر الإنترنت
    • الموارد
الوظائف تواصل معنا
السهم الخلفي العودة إلى الوراء
2021-06-22
تطوير البرمجيات

StimulusReflex - طريقة سريعة لإنشاء تطبيقات تفاعلية

The Codest

بافيل موسزينسكي

Software Engineer

ما هو StimulusReflex؟ قادنا نهج HTML عبر الأسلاك الشائع جدًا في الوقت الحاضر إلى إنشاء أطر عمل ومكتبات ترسل HTML عبر الأسلاك بدلًا من استخدام JSON. StimulusReflex هو واحد منها.

إنها طريقة جديدة لإنشاء واجهة مستخدم تفاعلية في Ruby on Rails.
يعمل StimulusReflex على توسيع إمكانيات Rails و Stimulus من خلال التقاط تفاعلات المستخدم وتمريرها إلى Rails عبر مآخذ الويب في الوقت الفعلي. تتم إعادة عرض الصفحات بسرعة ويتم إرسال جميع التحديثات إلى العميل عبر CableReady.

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

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

لماذا يجب علينا استخدام StimulusReflex؟

الأمر بسيط، وهو التركيز على تطوير المنتج بدلًا من إدخال تغييرات متسقة في JavaScript. أيضًا, المنعكس التحفيزي تحتوي التطبيقات على تطبيقات بسيطة وموجزة وواضحة الكود والاندماج بسلاسة مع Ruby on Rails. وهذا يسمح لفرق RoR الصغيرة بالقيام بأشياء كبيرة حتى بدون معرفة كبيرة بـ React, Vue أو حلولها الحديثة JavaScript.

كيف يعمل StimulusReflex؟

الانعكاس

الانعكاس هو تحديث واجهة مستخدم للمعاملات يتم عبر اتصال مفتوح دائم بالخادم. يعيِّن StimulusReflex الطلبات إلى الانعكاس الفصل. الانعكاس الفصول في التطبيق/ردود الفعل الدليل.

فئة PostReflex <تطبيقReflex
 نهاية


إذا أنشأنا صنف Reflex مع مولد، يمكننا أن نرى أن صنفنا يحتوي على هذا التعليق:

# جميع مثيلات Reflex تتضمن CableReady::Broadcaster وتعرض الخصائص التالية:
  #
  # - الاتصال - اتصال ActionCable,
  # - القناة - قناة ActionCable,
  # - الطلب - وكيل ActionDispatch::طلب اتصال المقبس,
  # - جلسة العمل - مخزن ActionDispatch::جلسة عمل للزائر الحالي,
  # - فلاش - مخزن ActionDispatch::Flash::FlashHash للطلب الحالي,
  # - عنوان url - عنوان URL للصفحة التي أدت إلى رد الفعل,
  # - البارامز - المعلمات من أقرب نموذج للعنصر (إن وجدت),
  1TPTP63T - العنصر - كائن يشبه التجزئة يمثل عنصر HTML الذي أدى إلى رد الفعل,
  # - موقّع - يستخدم معرّفًا عالميًا موقّعًا لتعيين مجموعة البيانات المنسوبة إلى نموذج، على سبيل المثال، element.sign[:foo],
  # - غير موقّع - يستخدم معرّفًا عالميًا غير موقّع لتعيين مجموعة بيانات منسوبة إلى نموذج، على سبيل المثال، element.unsigned[:foo],
  # - كابل_جاهز - كابل_جاهز خاص يمكن بثه إلى الزائر الحالي (لا حاجة إلى أقواس),
  # - reflex_id - معرف UUIDv4 الذي يعرّف كل منعكس بشكل فريد.

كما نرى، هناك عدد قليل من الخصائص التي يمكن استخدامها في صفنا. الأكثر إثارة للاهتمام في البداية ستكون العنصر التي تحتوي على جميع سمات عنصر DOM لوحدة التحكم في المحفز بالإضافة إلى خصائص أخرى، مثل اسم العلامة, تم الفحص و القيمة.

المنعكس التحفيزي يعطينا أيضًا مجموعة من عمليات الاستدعاء للسماح لنا بالتحكم في عملياتنا الانعكاسية:

  • قبل_الانعكاس
  • حول_المعكوس
  • ما بعد_الانعكاس

كما ترى، التسمية مشابهة جدًا لاستدعاءات السجل النشط.

إعلان منعكس في HTML مع سمة البيانات

أسرع طريقة لتمكين الإجراءات الانعكاسية هي باستخدام انعكاس البيانات السمة. يتبع بناء الجملة تنسيق المحفز: [DOM-event] -> [ReflexClass] #[action]

"="">وثائق StimulusReflex. تحية لجميع الأشخاص المشاركين في تطوير StimulusReflex!

في هذا المثال، فإن انعكاس البيانات أشارت السمة إلى بوسترفكس وفئة الزيادة على طريقة انقر فوق الحدث. هنا مررنا أيضًا مُعرّف الوظيفة-الموقع-المتصل التي يمكننا استخدامها لاحقًا في فئة الانعكاس من خلال العنصر.dataset.dataset[:post_id].

صنف PostsReflex <تطبيقReflex
تعريف الزيادة
مشاركة = Post.find.find(element.dataset[:post_id])

post.increment! :أعجبني
النهاية
النهاية

الأشكال

بشكل افتراضي, المنعكس التحفيزي تحديث الصفحة بأكملها (تحويل الصفحة). بعد إعادة معالجة إجراء وحدة التحكم، وتصيير قالب العرض وإرسال HTML الخام إلى متصفحك، يستخدم StimulusReflex مورفودوم مكتبة للقيام بأقل عدد من تعديلات DOM اللازمة لتحديث واجهة المستخدم في بضعة أجزاء من الثانية.

المنعكس التحفيزي تتميز بثلاثة أوضاع تشغيل متميزة:

تحويل الصفحة - إجراء تحديث صفحة كاملة,
مورف المحدد - يستبدل محتوى عنصر ما,
لا شيء مورف - تنفيذ الدوال التي لا تقوم بتحديث صفحتك (على سبيل المثال، استدعاء موظفك).

لتغيير ما بعدReflex#increment يمكننا ببساطة استخدام طريقة مورف واستهداف الجزئية التي نريد تحديثها.

تعريف الزيادة
مشاركة = Post.find.find(element.dataset[:post_id])
زيادة المنشور :إعجابات

مورف "#P63Tposts_#{post.id}"، تصيير(جزئي: 'post'، محلي: { المشاركات: post })
نهاية

أفكاري

هذه المقدمة القصيرة جدًا كافية لبدء رحلتك مع القضبان التفاعلية باستخدام المنعكس التحفيزي. أليس من الرائع أن تكون قادرًا على إنشاء تطبيق SPA تفاعلي ببضعة أسطر من روبي وبدون JavaScript؟ بالنسبة لي، فكرة HTML عبر الأسلاك بأكملها مثيرة للاهتمام، وسأتعمق بالتأكيد في هذا الموضوع في المستقبل. في الوقت الحالي، أوصيكم بشدة بما يلي وثائق StimulusReflex. تحية لجميع الأشخاص المشاركين في تطوير StimulusReflex!

اقرأ المزيد:

لماذا يجب عليك (على الأرجح) استخدام Typescript

كيف لا تقتل مشروعاً بممارسات الترميز السيئة؟

استراتيجيات جلب البيانات في NextJS

مقالات ذات صلة

تطوير البرمجيات

إنشاء تطبيقات ويب مستقبلية: رؤى من فريق خبراء The Codest

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

ذا كوديست
تطوير البرمجيات

أفضل 10 شركات لتطوير البرمجيات في لاتفيا

تعرّف على أفضل شركات تطوير البرمجيات في لاتفيا وحلولها المبتكرة في أحدث مقالاتنا. اكتشف كيف يمكن لهذه الشركات الرائدة في مجال التكنولوجيا المساعدة في الارتقاء بأعمالك.

thecodest
الحلول المؤسسية وحلول التوسعة

أساسيات تطوير برمجيات جافا: دليل للاستعانة بمصادر خارجية بنجاح

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

thecodest
تطوير البرمجيات

الدليل الشامل للاستعانة بمصادر خارجية في بولندا

إن الطفرة في outsourcing في بولندا مدفوعة بالتقدم الاقتصادي والتعليمي والتكنولوجي، مما يعزز نمو تكنولوجيا المعلومات والمناخ الملائم للأعمال.

ذا كوديست
الحلول المؤسسية وحلول التوسعة

الدليل الكامل لأدوات وتقنيات تدقيق تكنولوجيا المعلومات

تضمن عمليات تدقيق تكنولوجيا المعلومات وجود أنظمة آمنة وفعالة ومتوافقة. تعرف على المزيد حول أهميتها من خلال قراءة المقال كاملاً.

The Codest
ياكوب جاكوب جاكوبوفيتش CTO وشريك مؤسس CTO

اشترك في قاعدة معارفنا وابقَ على اطلاع على آخر المستجدات في قطاع تكنولوجيا المعلومات.

    نبذة عنا

    The Codest - شركة دولية لتطوير البرمجيات لها مراكز تقنية في بولندا.

    المملكة المتحدة - المقر الرئيسي

    • المكتب 303 ب، 182-184 شارع هاي ستريت نورث E6 2JA
      لندن، إنجلترا

    بولندا - مراكز التكنولوجيا المحلية

    • مجمع مكاتب فابريتشنا المكتبي، أليجا
      بوكوجو 18، 31-564 كراكوف
    • سفارة الأدمغة، كونستروكتورسكا
      11, 02-673 02-673 وارسو، بولندا

      The Codest

    • الصفحة الرئيسية
    • نبذة عنا
    • الخدمات
    • دراسات الحالة
    • اعرف كيف
    • الوظائف
    • القاموس

      الخدمات

    • استشاري
    • تطوير البرمجيات
    • تطوير الواجهة الخلفية
    • تطوير الواجهة الأمامية
    • Staff Augmentation
    • مطورو الواجهة الخلفية
    • مهندسو السحابة
    • مهندسو البيانات
    • أخرى
    • مهندسو ضمان الجودة

      الموارد

    • حقائق وأساطير حول التعاون مع شريك خارجي لتطوير البرمجيات
    • من الولايات المتحدة الأمريكية إلى أوروبا: لماذا تقرر الشركات الأمريكية الناشئة الانتقال إلى أوروبا؟
    • مقارنة مراكز تطوير التكنولوجيا في الخارج: تك أوفشور أوروبا (بولندا)، آسيان (الفلبين)، أوراسيا (تركيا)
    • ما هي أهم التحديات التي تواجه CTOs ومديري تكنولوجيا المعلومات؟
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • شروط استخدام الموقع الإلكتروني

    جميع الحقوق محفوظة © 2025 بواسطة The Codest. جميع الحقوق محفوظة.

    arArabic
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish it_ITItalian jaJapanese ko_KRKorean es_ESSpanish nl_NLDutch etEstonian elGreek arArabic