(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-5LHNRP9'); StimulusReflex – fljótleg leið til að búa til reactive-forrit - The Codest
The Codest
  • Um okkur
  • Þjónusta
    • Hugbúnaðarþróun
      • Framhliðþróun
      • Bakendaþróun
    • Staff Augmentation
      • Framhliðaráþrófarar
      • Bakhliðaráþróunaraðilar
      • Gagnaverkfræðingar
      • Skýjaverkfræðingar
      • Gæðatryggingartæknimenn
      • Annað
    • Það er ráðgjafi
      • Endurskoðun og ráðgjöf
  • Iðnaðargreinar
    • Fjártæknifyrirtæki og bankastarfsemi
    • E-commerce
    • Adtech
    • Heilbrigðistækni
    • Framleiðsla
    • Flutningar
    • Bifreiða
    • Internet hlutanna
  • Gildi fyrir
    • CEO
    • CTO
    • Afhendingarstjóri
  • Teymið okkar
  • Case Studies
  • Vitið hvernig
    • Blogg
    • Fundir
    • Vefnámskeið
    • Auðlindir
Starfsferilmöguleikar Hafðu samband
  • Um okkur
  • Þjónusta
    • Hugbúnaðarþróun
      • Framhliðþróun
      • Bakendaþróun
    • Staff Augmentation
      • Framhliðaráþrófarar
      • Bakhliðaráþróunaraðilar
      • Gagnaverkfræðingar
      • Skýjaverkfræðingar
      • Gæðatryggingartæknimenn
      • Annað
    • Það er ráðgjafi
      • Endurskoðun og ráðgjöf
  • Gildi fyrir
    • CEO
    • CTO
    • Afhendingarstjóri
  • Teymið okkar
  • Case Studies
  • Vitið hvernig
    • Blogg
    • Fundir
    • Vefnámskeið
    • Auðlindir
Starfsferilmöguleikar Hafðu samband
Aftur ör Farðu aftur
2019-04-24
Hugbúnaðarþróun

StimulusReflex – fljótleg leið til að búa til reactive-forrit

The Codest

Pawel Muszynski

Software Engineer

Hvað er StimulusReflex? Nokkuð vinsæl nútímaleg HTML-nálgun yfir netið leiddi til þess að við þróuðum rammasöfn og bókasöfn sem senda HTML yfir netið í stað þess að nota JSON. StimulusReflex er eitt þeirra.

Hér er tómt.

Þetta er nýr háttur til að búa til reactíft notendaviðmót í Ruby on Rails.
StimulusReflex eykur möguleika Relsar og Stimulus með því að fanga notendaviðskipti og senda þau til Rails í gegnum rauntíma WebSockets. Síður eru fljótt endurstilltar og allar uppfærslur sendar til viðskiptavinarins í gegnum CableReady.

CableReady gerir kleift að búa til rauntímauppfærslur með því að kalla fram DOM-breytingar á viðskiptavinasíðunni, atburði og tilkynningar í gegnum Aðgerðarsnúna. Ólíkt Ajax eru aðgerðir ekki alltaf settar af stað af notandanum; í öðrum vafra, til dæmis, geta þær einnig verið settar af stað af verkamönnum.

örvun-viðbragð var upphaflega innblásið af LiveView frá Phoenix (sem er valkostur við SPA). Markmið StimulusReflex hefur alltaf verið að gera byggingu nútímalegra forrita með Rails sem mest afkastamikla og ánægjulega lausn sem völ er á. Og að mínu mati er þetta nákvæmlega það sem þeim tókst hér.

Af hverju ættum við að nota StimulusReflex?

Það er einfalt, að einbeita sér að þróun á vara í stað þess að kynna samræmdar breytingar í nútíma JavaScript. Einnig, örvun-viðbragð Forrit eru einföld, hnitmiðuð og skýr. kóði og samþætta hnökralaust við Rúbín á Rails. Þetta gerir kleift smá Réttur til afturkomu teams til að gera stórkostlega hluti jafnvel án mikillar þekkingar á React, Vue eða nútímalegum JavaScript-lausnum þeirra.

Hvernig virkar StimulusReflex?

Reflex

Reflex er viðskiptavinaviðmótsuppfærsla sem fer fram yfir varanlega opna tengingu við netþjóninn. StimulusReflex kortleggur beiðnir til Reflex flokkur. Reflex Tímarnir eru í app/viðbrögð skrá.

class PostReflex < ApplicationReflex
 endHljóðskrift


Ef við bjóum til Reflex-flokk með generator, sjáum við að flokkurinn okkar inniheldur þessa athugasemd:

Allar Reflex-dæmigerðir innihalda CableReady::Broadcaster og bjóða upp á eftirfarandi eiginleika:
- connection – ActionCable-tengingin,
- channel – ActionCable-rásin,
- request – ActionDispatch::Request-umboðsmaður fyrir sokkatengingu,
  #   - session – geymsla ActionDispatch::Session fyrir núverandi gest,
  #   - flash – ActionDispatch::Flash::FlashHash fyrir núverandi beiðni,
  #   - url – URL síðunnar sem kallaði fram reflex-ið,
  #   - params – breytur úr næsta formi elementsins (ef einhver er),
  #   - element – Hash-lík hlutur sem táknar HTML-elementið sem kallaði fram viðbragðið,
  #     - signed – notar undirritað Global ID til að kortleggja gagnasafn sem tilheyrir líkani, t.d. element.signed[:foo],
  #     - unsigned – notar ósýndan Global ID til að kortleggja gagnasafn sem tilheyrir líkani t.d. element.unsigned[:foo],
  #   - cable_ready – sérstakt cable_ready sem getur sent út til núverandi gesta (ekki þarf hornklofa),
  #   - reflex_id – UUIDv4 sem auðkennir einstaklega hvern Reflex.HljóðskriftHljóðskrift

Eins og við sjáum eru fáir eiginleikar sem hægt er að nota í bekknum okkar. Sá áhugaverðasti í byrjun verður þáttur Eiginleiki sem inniheldur alla eiginleika DOM-þátta Stimulus-stýrisins sem og aðra eiginleika, eins og Nafn merkis, Athugað og gildi.

örvun-viðbragð gera líka okkur sett af afturköllunarfallum sem gera okkur kleift að stýra ferlum viðbragða okkar:

  • áður en taugaviðbragð
  • umhverfisviðbragð
  • eftir-taugaviðbragð

Eins og þú sérð er nafngiftin mjög svipuð og hjá Active Record Callbacks.

Að tilkynna reflex í HTML með data-eiginleika

Hraðasta leiðin til að virkja Reflex-aðgerðir er með því að nota gagnaspeglun eiginleiki. Setningafræði fylgir Stimulus-sniði: [DOM-atburður]->[ReflexClass]#[aðgerð]

"Skjölun StimulusReflex. Kveðja til allra sem tóku þátt í þróun StimulusReflex!

Í þessu dæmi, the gagnaspeglun eiginleiki benti á Eftir-reflex flokk og aukning aðferð á smelltu viðburður. Hér komumst við líka í gegnum gagnapóstauðkenni sem við getum síðar notað í Reflex-flokknum í gegnum element.dataset[:post_id].

class PostsReflex < ApplicationReflex
def increment
post = Post.find(element.dataset[:post_id])

post.increment! :likes
end
end

Breytingarmyndir

Að sjálfgefinni stillingu, örvun-viðbragð uppfærir alla síðuna (síðubreyting). Eftir að hafa endurunnnið aðgerðina í stýritækinu, birt sýnarmyndsniðmátið og sent hrátt HTML til vafrans þíns, notar StimulusReflex myndbreytingardómur bókasafn sem gerir sem fæstar nauðsynlegar DOM-breytingar til að endurnýja notendaviðmótið þitt á aðeins nokkrum millisekúndum.

örvun-viðbragð er með þrjá ólíka starfshætti:

Síðubreyting – framkvæmir uppfærslu alls síðunnar,
Valmyndarbreyting – skiptir út efni þáttar,
Ekkert formbreyting – framkvæmir aðgerðir sem uppfæra ekki síðuna þína (til dæmis að kalla starfsmann þinn).

Til að breyta okkar Eftir-endurkast#-aukning aðferð, getum við einfaldlega notað myndbreyting Lykilorð og miða á þann hluta sem við viljum uppfæra.

def increment
post = Post.find(element.dataset[:post_id])
post.increment! :likes

morph "#posts_#{post.id}", render(partial: 'post', locals: { posts: post })
end

Hugsanir mínar

Þessi nokkuð stutta inngangur er nægjanlegur til að hefja ferðalag þitt með reactive Rails með því að nota örvun-viðbragð. Er það ekki frábært að geta búið til reactive SPA-forrit með aðeins nokkrum Ruby-línum og án JavaScript? Fyrir mig er þessi hugmynd um HTML yfir netið spennandi, og ég mun örugglega kafa ofan í þetta efni í framtíðinni. Fyrir nú stendur mæli ég eindregið með því fyrir þig StimulusReflex skjöl. Kveðja til allra sem komu að þróun StimulusReflex!

Lesa meira:

Af hverju þú ættir (líklega) að nota TypeScript

Hvernig á ekki að drepa verkefni með slæmum forritunarvenjum?

Stefnur við gagnaleit í NextJS

Tengdar greinar

Myndskreyting af heilbrigðisforriti fyrir snjallsíma með hjartatákni og hækkandi heilsufarsgrafík, merkt með The Codest-merkinu, sem táknar stafræna heilsu og HealthTech-lausnir.
Hugbúnaðarþróun

Heilbrigðis-hugbúnaður: gerðir og notkunartilvik

Tólin sem heilbrigðisstofnanir treysta á í dag líta ekkert út eins og pappírsskjöl frá fyrri áratugum. Heilbrigðisforrit styðja nú heilbrigðiskerfi, sjúklingameðferð og nútímalega heilbrigðisþjónustu á klínískum og...

THECODEST
Yfirlitsmynd sem sýnir hnignandi súlurit með uppstrekktri ör og gullmynt sem táknar kostnaðarhagkvæmni eða sparnað. The Codest-merkið birtist í efra vinstra horni með slagorðinu "In Code We Trust" á ljósgráum bakgrunni.
Hugbúnaðarþróun

Hvernig á að stækka þróunarteymið án þess að fórna gæðum vörunnar

Ertu að stækka þróunarteymið þitt? Lærðu hvernig á að vaxa án þess að fórna gæðum vörunnar. Þessi leiðarvísir fjallar um merki um að kominn sé tími til að stækka, uppbyggingu teymisins, ráðningar, forystu og verkfæri—og hvernig teymið getur...

THECODEST
Hugbúnaðarþróun

Búðu til vefumsóknir sem þola framtíðina: innsýn frá sérfræðiteymi The Codest

Uppgötvaðu hvernig The Codest skarar fram úr við að búa til stigstækar, gagnvirkar vefumsóknir með nýjustu tækni, sem bjóða upp á hnökralausa notendaupplifun á öllum kerfum. Lærðu hvernig sérfræðiþekking okkar knýr fram stafræna umbreytingu og viðskipti...

THECODEST
Hugbúnaðarþróun

Topp 10 hugbúnaðarþróunarfyrirtæki í Lettlandi

Kynntu þér fremstu hugbúnaðarþróunarfyrirtæki Lettlands og nýstárlegar lausnir þeirra í nýjustu grein okkar. Uppgötvaðu hvernig þessir tækniforingjar geta hjálpað til við að efla fyrirtækið þitt.

thecodest
Lausnir fyrir fyrirtæki og vaxtarfyrirtæki

Grunnatriði í Java hugbúnaðarþróun: Leiðarvísir að árangursríkri útvistun

Kannaðu þessa ómissandi leiðbeiningu um árangursríka outsourcing Java hugbúnaðarþróun til að auka skilvirkni, afla aðgangs að sérfræðiþekkingu og tryggja árangur verkefna með The Codest.

thecodest

Gerðu þig áskrifanda að þekkingargrunni okkar og vertu upplýstur um sérfræðiþekkingu upplýsingatæknigeirans.

    Um okkur

    The Codest – Alþjóðlegt hugbúnaðarþróunarfyrirtæki með tæknimiðstöðvar í Póllandi.

    Bretland - Höfuðstöðvar

    • Skrifstofa 303B, 182-184 High Street North E6 2JA
      Lundúnir, England

    Pólland - staðbundin tæknimiðstöðvar

    • Fabryczna skrifstofugarður, Aleja
      Herbergi 18, 31-564 Kraków
    • Brain Embassy, Konstruktorska
      11, 02-673 Varsjá, Pólland

    The Codest

    • Heim
    • Um okkur
    • Þjónusta
    • Case Studies
    • Vitið hvernig
    • Starfsferilmöguleikar
    • Orðabók

    Þjónusta

    • Það er ráðgjafi
    • Hugbúnaðarþróun
    • Bakendaþróun
    • Framhliðþróun
    • Staff Augmentation
    • Bakhliðaráþróunaraðilar
    • Skýjaverkfræðingar
    • Gagnaverkfræðingar
    • Annað
    • Gæðatryggingartæknimenn

    Auðlindir

    • Staðreyndir og goðsagnir um samstarf við utanaðkomandi hugbúnaðarþróunaraðila
    • Frá Bandaríkjunum til Evrópu: Af hverju ákveða bandarísk sprotafyrirtæki að flytja til Evrópu?
    • Samanburður á tæknifjarkerfisþróunarmiðstöðvum: Tech Offshore Europe (Pólland), ASEAN (Filippseyjar), Eurasia (Tyrkland)
    • Hvert eru helstu áskoranir CTO-a og CIO-a?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Website terms of use

    Höfundarréttur © 2026 af The Codest. Öll réttindi áskilin.

    is_ISIcelandic
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian es_ESSpanish nl_NLDutch etEstonian elGreek pt_PTPortuguese cs_CZCzech lvLatvian lt_LTLithuanian is_ISIcelandic