portaldacalheta.pt
  • Põhiline
  • Tooteinimesed Ja Meeskonnad
  • Ux Disain
  • Protsess Ja Tööriistad
  • Andmeteadus Ja Andmebaasid
Veebi Kasutajaliides

Meet Volt, paljutõotav rubiinraamistik dünaamiliste rakenduste jaoks



Volt on Ruby raamistik, mis on loodud andmerikaste rakenduste jaoks. Nii serveri kui ka kliendi pool on kirjutatud rubiinis (mis seejärel kompileeritakse OPS-i kasutades JS-i), nii et see võimaldab arendajal kirjutada väga dünaamilisi rakendusi, ilma et peaks kirjutama ühtegi Javascripti koodi rida. Kui olete Rubiinifänn nagu mina, meeldib teile see raamistik.

Püüdes muuta veebirakendusi palju dünaamilisemaks, on Javascripti raamistikud nagu Angular.js, Backbone.js ja Ember.js palju populaarsust kogunud. Kuid need raamistikud nõuavad sageli tagarakenduse kasutamist, nii et neid kasutatakse koos veebiraamistikega nagu Ruby on Rails ja Django.



Teisest küljest on Ruby framework Volt võimeline haldama taguotsi ja dünaamilist esiotsa. Kuna mõlemad funktsioonid on selle tuumaga tihedalt integreeritud (tegelikult sarnaneb Volt pigem MVVM-i arhitektuuriga, kasutades andmete sidumise eeliseid), võimaldab see arendajal neid rakendusi kiiresti üles ehitada.



Väga lahe funktsioon, mis karbist välja tuleb, on Volti reaalajas funktsioon. Kui olete kunagi reaalajas rakendusi loonud, teate, et protsess võib olla keeruline - olete tõenäoliselt rakendanud AJAX-küsitlust, veebipesasid, serveriga saadetud sündmusi (SSE) või isegi kasutanud väliseid teenuseid, lisades rakendusele keerukust ja tekitades isegi lisakulusid . Erinevalt teistest raamistikest hoiab Volt ühendust serveriga elus (veebipesade kaudu), nii et Ajaxi iga toimingu taotluste esitamise asemel ajab see muudatused koheselt kõigile klientidele. Selle toimimiseks pole vaja konfiguratsiooni.



Meet Volt, paljutõotav rubiinraamistik dünaamiliste rakenduste jaoks

Voldi kasutamine vestlusrakenduse loomiseks

Selles Ruby-raamistiku õpetuses juhatan teid läbi reaalajas rakenduse loomise, kasutades Volti, ja mis on parem viis kui vestlusrakendus oma võimete demonstreerimiseks, kuna vestlus jääb reaalajas rakenduste esmakordseks kasutamiseks.



Kõigepealt installime Volt ja MongoDB. Viimast protsessi ei käsitleta üksikasjalikult:

gem install volt brew install mongodb mkdir -p /data/db

(loo dbpath)



kuidas mõõta nõudluse hinnaelastsust
chown `id -u` /data/db (change the owner to have the proper dbpath permissions)

Nüüd oleme valmis looma oma esimese rakenduse, nimetame seda vestluseks. Saame seda hõlpsalt teha paari reaga:

volt new chat cd chat

Dokumendi struktuuril on mõningaid sarnasusi Railsiga. Peamine erinevus, mida Rails'i kasutajad märkavad, on see, et meil on rakenduses täiendav kaust, mis sisaldab ülejäänud kaustu, näiteks varasid, kontrollereid, mudeleid ja vaateid. See lisakaust on komponent.



Komponent on rakenduse eraldatud osa. Kõik komponendi sees olevad lehed renderdatakse lehte uuesti laadimata, kuna kõik selle komponendi failid laaditakse esialgse http-päringuga, nii et kui külastame mõne muu komponendi lehte, tehakse uus http-päring ja leht laaditakse uuesti '. Selle näite jaoks kasutagem vaikekomponenti nimega “main”.

scorp vs c corp vs llc

Alustame serverit, käivitades konsoolis käsu 'volt server', ja vaadake, kuidas see brauseris välja näeb, navigeerides saidile localhost: 3000:



volt server

Ärge unustage ka MongoDB käivitamist konsoolis:

mongod

Võime märgata, et Voltiga on kaasas mitu vaikelehte, sealhulgas ‘Kodu’ ja ‘Teave’. Neid saab kohe kohandada.



Teine mainimist väärt asi on sisselogimisnupp lehe paremas ülanurgas. Voltil on raami „volt-user-templates” pärli kaudu integreeritud „kasutaja” funktsionaalsus, mis pakub võimalust kasutajate registreerimiseks ja autentimiseks kohe kastist väljas.

Alustamine

Alustame nüüd oma rakenduse kallal töötamist. Esiteks pole meil vaja lehte „Teave”, et saaksime jätkata ja kustutada järgmise: app/main/views/main/about.html faili, umbes toimingu kohta app/main/controllers/main_controller.rb, eemaldage /about marsruut app/main/config/routes.rb ja nav link app/main/views/main/main.html.

Alustame nüüd asjaga ja alustame kõigi registreeritud kasutajate loetlemisega:

{{ if Volt.user }} { } {{ if user._id != Volt.user._id }} {{user._name}} {{ end }} {{ end }} {{ if params._user_id }} { current_conversation.each do }

{{ message._text }}

{{ end }} {{ if current_conversation.count == 0 }}

You have no messages yet. Start chatting!

{{ else }} {{ end }} Submit {{ end }} {{ else }}

This is a sample application built with Volt to demonstrate its real-time capabilities. Please log in to access it.

{{ end }}

Esiteks kontrollime, kas enne vormi kuvamist on valitud mõni kasutaja, seejärel kuvame kõik praeguse vestluse (vestlus valitud kasutajaga) sõnumid kontrolleri meetodist, mille määratleme natuke, ja allosas kuvame uute sõnumite saatmise vormi.

Pange tähele, et sisendi väärtus on atribuut, mida loome lehekogumismudelis, kuna me ei soovi, et see salvestataks andmekogusse. Nüüd määratleme current_conversation ja send_message kontrolleri meetodid:

def send_message unless page._new_message.strip.empty? _messages <[{ sender_id: Volt.user._id, receiver_id: params._user_id }, { sender_id: params._user_id, receiver_id: Volt.user._id }] }) end

Meetodis send_message lisame kollektsiooni uue sõnumi, kui kiri pole tühi (kontrollime teksti sees, et me ei peaks praegu valideerimisega jamama), siis määrame lehe ._new_message to ‘’ nii tühjendame sisendvälja.

Võiksime lisada selle rea select_conversation lõppu meetod samuti. Praegune vestlusmeetod esitab lihtsalt päringu _messages valitud kasutaja ja praeguse kasutaja vaheliste sõnumite kogu.

Täiendage reaalajas märguandeid

Lõpetuseks sooviksin mingit teatamissüsteemi, et kasutajad saaksid näha, kui teised kasutajad neile sõnumeid edastavad.

Lisame uue kogu nimega _notifications ja loo pärast iga sõnumi saatmist uus:

def send_message unless page._new_message.strip.empty? _messages << { sender_id: Volt.user._id, receiver_id: params._user_id, text: page._new_message } _notifications << { sender_id: Volt.user._id, receiver_id: params._user_id } page._new_message = '' end end def select_conversation(user) params._user_id = user._id unread_notifications_from(user).then do |results| results.each do |notification| _notifications.delete(notification) end end page._new_message = '' end def unread_notifications_from(user) _notifications.find({ sender_id: user._id, receiver_id: Volt.user._id }) end

Samuti peame kustutama märguanded pärast seda, kui kasutaja valib vestluse ja näeb uusi kirju, nii et lisasin selle osa select_conversation meetod.

Lisame märguandeloendi kohe kasutajanime juurde:

{{user._name}} {{ if unread_notifications_from(user).count > 0 }} {{ unread_notifications_from(user).count }} {{ end }}

Nüüd on rakendus valmis, saate avada paar brauserit ja hakata Volt'i reaalajas võimalusi testima.

Volt on kindlasti proovimist väärt

Kuigi Volt raamistik ei ole nii küps ja vastupidav kui enamik aastaid kasutusel olnud populaarseid Ruby raamistikke (Volti hetkel on see veel beetaversioon), tasub seda kaaluda ja uurida.

kuidas deebetkaarti häkkida

Kui olete huvitatud, kasutage seda Ruby raamistiku õpetust, et võtta Volt välja keerutamiseks. Hoidke silma peal edasistel arengutel, kuna Volt näeb isegi selles arengu varases staadiumis välja väga paljutõotav Ruby raamistik.

Valikus on palju lahedaid uusi funktsioone ja ma olen üsna kindel, et Volt muutub järgmise paari aasta jooksul asjakohasemaks, kuna rohkem inimesi hakkab sellega eksperimenteerima. Mitmete uuenduslike funktsioonide tõttu võiksid paljud arendajad Voltisse armuda ja seda järgmiseks kasutada Rubiini projekt .

Androidi arendajate juhend sirvimisotsingu mustri kohta

Mobiilne

Androidi arendajate juhend sirvimisotsingu mustri kohta
2D-kaamerate valdamine ühtsuses: õpetus mängude arendajatele

2D-kaamerate valdamine ühtsuses: õpetus mängude arendajatele

Tagumine Ots

Lemmik Postitused
Äriplaani anatoomia
Äriplaani anatoomia
Ladina-Ameerika ühinemiste ja ühinemiste parimad tavad
Ladina-Ameerika ühinemiste ja ühinemiste parimad tavad
Tarkvara kulude hindamine agiilses projektijuhtimises
Tarkvara kulude hindamine agiilses projektijuhtimises
Andekus pole kaup
Andekus pole kaup
Veebi juurdepääsetavus: miks W3C standardeid sageli eiratakse
Veebi juurdepääsetavus: miks W3C standardeid sageli eiratakse
 
Bränding on surnud, CX Design on kuningas
Bränding on surnud, CX Design on kuningas
Chatbot UX - disaininõuanded ja kaalutlused
Chatbot UX - disaininõuanded ja kaalutlused
Uus ettevõtluslaine
Uus ettevõtluslaine
Optimeeritud järjestikune keskmine kvantimise teisendus
Optimeeritud järjestikune keskmine kvantimise teisendus
Kasutajauuringute väärtus
Kasutajauuringute väärtus
Lemmik Postitused
  • c++ õppimine c-st
  • kuidas kirjutada meediapäringuid
  • kuidas kujundada mobiili jaoks
  • sul on arvutis praegu Windows 7. mis järgmistest põhjustest õigustaks
  • kuidas luua žetoon
Kategooriad
  • Tooteinimesed Ja Meeskonnad
  • Ux Disain
  • Protsess Ja Tööriistad
  • Andmeteadus Ja Andmebaasid
  • © 2022 | Kõik Õigused Kaitstud

    portaldacalheta.pt