» »

Web stran z veliko input polji

Web stran z veliko input polji

Jure14 ::

Torej pripravljam eno web stran, nič kompliciranega, nekaj šifrantov in ena "glavna" stran, kjer se eni parametri vnašajo.
Težava pa je v velikosti in številu polj.
Na steani je cca 100 vrstic, v vsaki je 5 polj za vnos patametrov (številke) in še 3 polja, kjer se samo prikažejo izračuni.
Torej ko uporabnik v eno polje vnese vrednost, bi rad, da se takoj izračunajo (ažurirajo) vrednosti v tistih 300 calculated poljih.
Gre pa za enostavne operacije, seštevanje, množenje, povprečja.

Kako se tega lotit?
Malo me skrbi, da bo server počepnil, pa odziv bo tudi počasen, če ob vsakem vpisu vse pošljem na server in izračunam sploh ko bo nekaj 100 uporabnikov.

Lp j.

Ziga Dolhar ::

https://dolhar.si/

GupeM ::

To je najbolje delati na uporabniški strani. To pomeni, da uporabiš javascript. Tako serverja ne boš obremenjeval, saj bo vse delal uporabnikov računalnik.

Ko pa uporabnik zadevo potrdi z gumbom recimo, pa vse vpisane podatke pošlješ na server, ta še enkrat vse poračuna in nekam shrani. Če bi rad bil ziher, lahko shranjene podatke uporabniku še enkrat pokažeš, da jih še enkrat preveri, nato pa potrdi, popravi ali prekliče zadevo.

link_up ::

Pomoje je JS ravno za take zadeve najbolj ustrezen.
In and Out

styrian ::

To se najenostavneje naredi z https://docs.google.com/spreadsheets

GupeM ::

styrian je izjavil:

To se najenostavneje naredi z https://docs.google.com/spreadsheets

Odvisno. Če moraš v kakšno bazo shranjevati, potem to ni nujno najboljše. Sicer pa ja... Verjetno res najbolj preprosto.

Zgodovina sprememb…

  • spremenil: GupeM ()

ales85 ::

Še enkrat, če boš shranjeval v bazo, moraš v vsakem primeru še enkrat izračunati, če rabiš dejanske/točne vrednosti. Torej v javascriptu lahko izračunaš "informativne" vrednosti, katerih pa ponavadi ni pametno uporabiti za shranjevanje, ker lahko uporabnik vrednosti spremeni in pošlje kaj drugega.

kuall ::

Jure14 je izjavil:

Kako se tega lotit?
Malo me skrbi, da bo server počepnil, pa odziv bo tudi počasen, če ob vsakem vpisu vse pošljem na server in izračunam sploh ko bo nekaj 100 uporabnikov.

Lp j.

saj ni treba vse poslati. pošlješ samo 1 vrstico na server z ajax+js. tam izračunaš, shraniš v bazo, pošlješ nazaj autocalculated fields v json-u, z js spet updataš samo to vrstico, ne osvežiš cele strani. to bo delalo super hitro in uporabniki bodo zadovoljni. itak pa je vrstico pametno takoj shraniti na server, da se ne izgubi uporabnikovo delo.

Zgodovina sprememb…

  • spremenilo: kuall ()

LukiYo ::

Ajax...a to še obstaja?

kuall ::

zakaj pa ne bi

LukiYo ::

Če programiraš za internet explorer?

ales85 ::

LukiYo je izjavil:

Če programiraš za internet explorer?

IE, a to se obstaja? Se MS ga ne deploya vec lol. Pustimo zdaj izjeme...

kuall ::

kolikor vem vse večje strani uporabljajo ajax: facebook, twitter, instagram. kaj so novejše alternative pa nisem na tekočem, že več let nisem web developer.
nek fetch je baje. ok pa naj uno uporabi, če dela tako dobro kot ajax in če ga podpirajo vsi brskalniki.

Zgodovina sprememb…

  • spremenilo: kuall ()

ales85 ::

Websockets so lahko alternativa. Ampak sicer pa se vedno Ajax za "klasiko". Kako je wrappano, je pa druga zgodba.

LukiYo ::

Ok, če nisi web že več let... Ja, vsaj tolk dolgo ga ni več. Tako, kot jquery-ja in še česa iz tiste dobe.

Fetch je request clienta na server, ki vrne response v promise. Websockets je svoj (ne http) protokol za obojestransko komunikacijo med clientom in serverjem, odvisno od namena....

ales85 ::

LukiYo je izjavil:

Ok, če nisi web že več let... Ja, vsaj tolk dolgo ga ni več. Tako, kot jquery-ja in še česa iz tiste dobe.

Fetch je request clienta na server, ki vrne response v promise. Websockets je svoj (ne http) protokol za obojestransko komunikacijo med clientom in serverjem, odvisno od namena....

Tule si pa zabredel. Fetch je se vedno Ajax. Kar ti zelis povedati je, da je fetch asinhrona implementacija/wrapper Ajax. Ceprav lahko pogledas kaj pomeni Ajax, pa bos morda presenecen.

Zgodovina sprememb…

  • spremenil: ales85 ()

kuall ::

ajax se še na veliko uporablja, luki.

x v ajax pomeni xml, kar pa je dandanes json namesto xml. mogoče se ne imenuje ajax je pa ista tehnologija.

kar se pa web socketov tiče pa strici na internetih tole povedo:

Mixing WebSockets with AJAX is quite typical. For example, in a stock trading application, WebSockets can be used for pushing real-time price updates to the page , while AJAX might be used to retrieve the contents of a drop-down menu that is clicked.

torej ajax se še vedno uporablja za primere, kot ga rabi stric op.

Zgodovina sprememb…

  • spremenilo: kuall ()

LukiYo ::

ales85 je izjavil:


Tule si pa zabredel. Fetch je se vedno Ajax. Kar ti zelis povedati je, da je fetch asinhrona implementacija/wrapper Ajax.


Ne razumem kaj si ti hotel povedat, da sem jaz hotel povedat :)

Opisal sem fetch, opisal sem websockete. Pred tem pa opazko omembe ajaxa, ki je zastarel izraz za (XML) asinhrono komunikacijo s serverjem na XMLHttpRequest tehnologiji. V tistih časih so se uporabljali razni jquery ajax-i, asp.net ajax-i in podobni XMLHttpRequest wrapperji, ki se sedaj ne več (morda 1% ali če supportiraš IE, ki ne podpira fetch). Zakaj bi se, če se da isti problem rešit z izboljšanim api-jem (fetch) elegantneje, z manj kode, s promisi, itd.

Mi je pa osebno vseeno, če še vedno uporabljate jquery ajax XMLHttpRequeste, mogoče bo le mal smešno izpadlo na kakem razgovoru (dobronamerno).

https://developer.mozilla.org/en-US/doc...

With interactive websites and modern web standards, Ajax is gradually being replaced by functions within JavaScript frameworks and the official Fetch API Standard.

kuall ::

ok fetch je nadgradnja ajaxa. smo se nekaj naučili, čeprav ne rabimo tega.
in glede na to da IE ni več uradno podprt ni več razloga, da se programira za njega.
ni pa nič narobe, če uporabiš ajax, za uporabnika ne bo razlike.

LukiYo ::

Bo pa razlika v kodi. V vrsticah je fetch < xhr < $.ajax. Znanje slednjih dveh mu tudi nič ne koristi, saj se v modernih projektih ne uporabljajo več, morda xhr za kako specifiko.

kuall ::

baje fetch tudi veliko hitreje parsa vrnjen json v svojem threadu, tak da ja je boljša izbira.
https://stackoverflow.com/questions/708...

Stikalo ::

Zanj če sprašuje, kako to narediti ni super pomembno ali je funkcija malo hitrejša ali ne. Web socketi se pa za enkrat še ne uporabljajo pogosto. Še facebook sem videl da uporablja pooling in recimo naredi request na vsake 5 sek in čaka doklen ne dobi nekega sporočila. Zanimivo.

Drugače pa pripročam, če boš delal to web formo da uporabiš nek framework za izdelavo - npr vuejs in uporabiš recimo axios knjižnjico za povezovanje. To dela dobo. Bolj pomombno je, da obrazec lepo zgleda in da boš to hitro naprogramiral, mogoče če je polj super veliko jih dinamično generiraš, ali pa obliki tabele. Sploh če praviš da bi se rezultati dinamično updejtali je za to kakšen vuejs super.

hbgqzR ::

Drugace se veliko polj/zapisov naredi z N kopijami vrstice (cetudi ni spreadsheet-like) in xy/rc poimenovanju id-jev polj, s smiselno 'serializacijo' (po moznosti) v js na klientu?

Zgodovina sprememb…

  • spremenilo: hbgqzR ()

MH0 ::

LukiYo je izjavil:

Bo pa razlika v kodi. V vrsticah je fetch < xhr < $.ajax. Znanje slednjih dveh mu tudi nič ne koristi, saj se v modernih projektih ne uporabljajo več, morda xhr za kako specifiko.

Nekaj delaš narobe. Vseh milijavžent ajax klicev zamenjam za fetch na samo enem mestu in ta majhna sprememba v proxy classu nima vpliva na kodo.

Lonsarg ::

Če uporabiš Blazor lahko vse to delaš v C# in se bo kalkuliralo lokalno na računalniku preko WebAssembly. Dodatni plus je da lahko kar isto C# kodo uporabiš še server-side :)

Edini minus tega pristopa bo večji page, tak da initial load bo malo počasnejši kar zna za nekatere bit dealbreaker.

Zgodovina sprememb…

  • spremenil: Lonsarg ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

JS frameworks: knockoutJS, angularJS, react, ...

Oddelek: Programiranje
417330 (4175) kuall
»

jquery ajax problem

Oddelek: Izdelava spletišč
81490 (1112) miko22
»

AJAX kratke naloge

Oddelek: Izdelava spletišč
192299 (1766) Yacked2
»

[PHP/JavaScript] tic tac toe

Oddelek: Programiranje
171696 (1429) illion
»

[php] preverjanje online uporabnikov

Oddelek: Programiranje
262085 (1741) cobrica

Več podobnih tem