NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: PHP a co dal? Jak na ideální refresh?

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
katrincsak
Člen
Avatar
katrincsak:10.4.2015 15:14

Zdravím,

delší dobu přemýšlím jaký jazyk zvolit k PHP, zároveň tak aby to splnilo moje požadavky. Zjišťuji, že samotné php má i své nevýhody z důvodu procesu zpracování. Bez žádosti na server nezískám aktuální data. Např.

  • Bych rád přetáhnutím na obrazovce získal data, nebo kliknutím na nějaké tlačítko, získal rovnou vložený zápis bez refreshe.

Zřejmě to bude java, jQuery a js ... Které z toho? Nebo něco jiného ?


  • Zatěžuje to hodně? Za úkol je každých 5s se ptát databáze "už je to hotové?"..Wedos např. umožňuje pouze 5 procesů. Dále mě napadlo data uložit do session a tak by se to neptalo serveru. Samozřejmě když by session neexistoval, tak by si to načetl. Nebo jak řešíte, abych např. kliknul spustit a ono za minutu samo napsalo, je to hotové bez refreshe? (časovač umím..time()..).
echo "<script>setTimeout(function () { location.reload(1); }, " . Nastaveni::OBNOVA_1 . "); </script>";
 
Odpovědět
10.4.2015 15:14
Avatar
Richard
Člen
Avatar
Richard:10.4.2015 15:27

jQuery je dobré a elegantní řešení (pokud chceš zůstat u php), s čistým Javascriptem by to taky šlo, ale zbytečně by sis to komplikoval.

Server to zatěžuje minimálně, jeden dotaz za 5s je nic, pokud bys posílal x dotazů za sekundu, už by to mělo vliv, ale jde o to kolik lidí tu aplikaci bude používat.

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
10.4.2015 15:27
$action = $_GET['Life']; | Když dáš mínus, napiš proč!
Avatar
Odpovídá na katrincsak
Martin Mandík:10.4.2015 15:30

Pro získávání dat bez refreshe-
Jestli jsem to pochopil správně, zřejmě budeš potřebovat Ajax(zkus zagooglit)
Budeš komunikovat se serverem, ale uživateli se nerefreshuje stránka :)
//Asi jsem to pochopil jinak, ale snad ti i tohle pomůže :)

Editováno 10.4.2015 15:31
 
Nahoru Odpovědět
10.4.2015 15:30
Avatar
katrincsak
Člen
Avatar
Odpovídá na Richard
katrincsak:10.4.2015 15:34

U PHP bych rád zůstal, aspoň na dlouhý čas minimálně než se ho řádně naučím, přeci jen pak lépe pochopím i další. jQuery je samostatně ale asi k ničemu ne? Jediný co jsme našel, že jQuery je defakto jen knihovna.

Proč bych si to s Javascriptem komplikoval? Má ale trošku flexibilnější využití ne?

V plánu je více lidí, pracuju na hře. Ale to spíše proto, že se díky tomu hodně učím a na víc mě to maximálně baví. Rovnou tak řeším i chyby které mohou nastat.

Editováno 10.4.2015 15:37
 
Nahoru Odpovědět
10.4.2015 15:34
Avatar
katrincsak
Člen
Avatar
Odpovídá na Martin Mandík
katrincsak:10.4.2015 15:35

Každá informace, každý názor se mi opravdu hodí. Když mi pomůžete se nasměrovat, tak si už zbytek dohledám. Ale Java, js a jQuery mi přijde skoro jedno a to samé...Na Ajax se rád podívám

Editováno 10.4.2015 15:36
 
Nahoru Odpovědět
10.4.2015 15:35
Avatar
Richard
Člen
Avatar
Odpovídá na katrincsak
Richard:10.4.2015 15:41

jQuery je nadstavba nad javascriptem, spoustu řeší elegantně za tebe, její využití na webu je mocné.

S jquery můžeš velice jednoduše (jednotky řádků) sledovat nějaký event (hover, klik, keyup) a navázat na ní nějakou akci (třeba jednoduchý refresh, nebo na pozadí získat data a ta vypsat, nebo získat od serveru json s příkazy co se mají provést).

Jde použít čistý Javascript, ale vývojem strávíš několikanásobek času úplně zbytečně, jde použit Java, ale proč by to proboha někdo dělal.. Na to co popisuješ je jak šitej jQuery.

Nahoru Odpovědět
10.4.2015 15:41
$action = $_GET['Life']; | Když dáš mínus, napiš proč!
Avatar
katrincsak
Člen
Avatar
Odpovídá na Richard
katrincsak:10.4.2015 15:46

Asi se opravdu podívám na to jQuery, pakliže to bude přesně řešit co potřebuji. Aspoň se současnou prací v PHP a vychytáním některých nedostatků.

  • Tím jQuery tedy vyřeším zřejmě ten refresh a zbytečnou zátěž serveru, která by mohla nastat. Paráda, děkuji ;-)
 
Nahoru Odpovědět
10.4.2015 15:46
Avatar
Michal Žůrek - misaz:10.4.2015 17:56

jQuery má tu výhodu, že je většinou nasazená všude ale absolutně nesouhlasím s tím, že by kód v klasickému JS bez jQuery byl nějak výrazně delší.

 
Nahoru Odpovědět
10.4.2015 17:56
Avatar
Tomáš123
Člen
Avatar
Odpovídá na katrincsak
Tomáš123:11.4.2015 8:23

Prenos údajov medzi serverom a užívateľom bez znovu načítania stránky zabezpečuje Ajax. jQuery je iba kvantum JavaScriptu. Nevýhodou je to, že knižnica často obsahuje aj niečo, čo nevyužiješ, čo spomalí načítavanie stránky. Keď si to ručne odprogramuješ v JavaScripte, môžeš dosiahnuť úspory. Všetko čo je v jQuery sa dá aj pomocou JS.

Doporučoval by som ti naučiť sa JavaScript. Na veľké veci, ktorých hotové riešenia sú dostupné potom budeš môcť využiť jQuery a neskôr prejsť na Ajax, ktorý je akousi kombináciou JS a PHP.

Editováno 11.4.2015 8:24
Nahoru Odpovědět
11.4.2015 8:23
Keby nebolo Internetu Exploreru, nebolo by dnešného internetu.
Avatar
1Pupik1989
Člen
Avatar
1Pupik1989:11.4.2015 11:06

Vše se odvíjí od návrhu aplikace v tomto případě hry. XMLHttpRequest v dnešní době umí skoro každý prohlížeč. Takže jQuery.Ajax mi připadá spíš jen jako zbytečně velký obal objektu. Díky metodám querySelector a querySelectorAll už také není nutné používat jQuery. Musíš si prvně rozmyslet co všechno od toho javascriptu chceš a jaký typ hry to bude. Podle toho se zařídit. Pokud to bude 3D hra, tak jQuery nemá vůbec smysl a sáhneš třeba po ThreeJS. Pokud bude 2D, tak je spoustu různých enginů pro 2D hry. JQuery bych v tomto případě úplně vynechal.

 
Nahoru Odpovědět
11.4.2015 11:06
Avatar
Odpovídá na 1Pupik1989
Michal Žůrek - misaz:11.4.2015 11:18

jQuery má spíše než na hry význam u různých doplňků webových stránek. Tam se něco jako prepend() sem tam hodí, protže ne každý je schopný si prependChild napsat.

 
Nahoru Odpovědět
11.4.2015 11:18
Avatar
1Pupik1989
Člen
Avatar
Odpovídá na Michal Žůrek - misaz
1Pupik1989:11.4.2015 14:12

Přesně tak to bylo myšleno. Pokud bude vykreslovat přes canvas, tak jQuery bude jen kupa kódu navíc. Vklidu si vystačí s metodou getElementsBy­TagName nebo getElementById. Zbytek už bude o metodách kontextu.

 
Nahoru Odpovědět
11.4.2015 14:12
Avatar
Jurajs
Člen
Avatar
Jurajs:11.4.2015 14:24

Ahoj , když tady mluvíte o jQuery, tak se zeptam...Jednou jsem viděl napsanou hru v jQuery (byl to myslím PONG), myslíte, že tahle knihovna není na to vhodná? Spíše asi šáhnout po nějaké enginu pro 2D hry jak říkáte...? Díky moc předem za odpovědi.

 
Nahoru Odpovědět
11.4.2015 14:24
Avatar
Odpovídá na Jurajs
Michal Žůrek - misaz:11.4.2015 18:39

pong je minimalistický základ, je to takový example, že to jde, a kecalové si to i (celkem oprávněně) obkecají jak se na to jQuery hodí, ale jakoukoliv složitější hru budeš dělat přes plátno a tam je ti jQuery na prd.

 
Nahoru Odpovědět
11.4.2015 18:39
Avatar
katrincsak
Člen
Avatar
katrincsak:12.4.2015 16:29

V plánu je udělat hru spíše formou manageru. Řekněme že něco dost podobného po technické stránce jako "Divoké kmeny", Shake & Fight, Gladiator atp... Maximálně nějaké animace tam budou a rád bych to zpestřil tím, že z bodu A do bodu B přesunu objekt. např. věc z inventáře na postavu. Ale jinak nic konkrétně pohybového.

Tady celkem čtu, že JavaScript by nemusel být tak úplně k zahození? Rád bych se vrhnul do něčeho co mi problémy vyřeší a samozřejmě, abych na základě toho mohl později rozvíjet další znalosti. Myslím, že PHP pomalu začínám ovládat docela dobře. Teď jen zvolit správný jazyk, který bych k tomu mohl "beze změn" napojit.

 
Nahoru Odpovědět
12.4.2015 16:29
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 15 zpráv z 15.