Diskuze: Node.js chat aplikace
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Tvůrce
Zobrazeno 7 zpráv z 7.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Tahle problematika live chatu řešeného pomocí NodeJS mě taky dost zajímá a zatím jsem na internetu nedohledal žádné materiály v češtině (angličtinu moc dobře neovládám). Tzn. kdyby někdo ochotný třeba napsal i nějaký seriál zde na ITN, tak bych to také dost ocenil.
Ahoj, na serverovou část můžeš použít kódů z tutoriálů. Ty panely, záložky, to už je otázka frontendu. Na to bych použil asi nějaký hotový framework (ne jQuery), ale třeba Angular2, nebo React, nebo cokoliv jiného.
Ano, dejme tomu že si udělám celý chat který funguje. Jenže ten chat funguje jen když napíšu adresu např. localhost:3000. Tzn že nodeJS vygeneruje svojí celou novou stránku s chatem. Ale jak to mám pak dostat do toho jednoho chatovacího okna aby ten Node negeneroval celou tu stránku ale jen se to týkalo toho elementu?
jj, těch Anglických tutoriálů je plno. Mohl bych ty základy z angličtiny přeložit sem na ITN. jenže to pokročilejší co mi dělá problémy tu stejně nebude
Tak se nebudeš připojovat na locahost, ale na předem definovanou adresu. Ten NodeJS server běží u nějakého poskytovatele, ten ti dá IP adresu a na tuhle adresu se budeš připojovat v klientovi.
Ahoj, tyto chaty jsou obvykle dělané přes websockety je to protokol k tomu určený (ws://) poskytuje totiž full-duplex komunikaci čili client můžeš posílat data na server ale i server může posílat data připojenému uživateli. K tvorbě takové aplikace se používá převážně Node.Js jako backend (server) client pak může být např. webová stránka nebo jakákoliv aplikace, která podporuje ws protokol.
Dokonce jsem zde o tomto napsal seriál, který pojednává o jednoduché knize návštěv, která funguje na principu realtime, tudíž uživatel přidá příspěvek do knihy a ten se přidá okamžitě i všem ostatním uživatelům - sice je tam implementace trochu odlišná nežli by jsi ty chtěl protože client svoje data neposílá rovnou přes ws protokol na server ale posílá je ajaxově na phpčko a phpčko (před odesláním data uloží do DB k pozdějšímu zobrazení) pomocí curlu posílá data na NodeJs server, který následně data pošle všem uživatelům.
Tím chci říct, že ta PHP část by tom vůbec nemusela být a client by data mohl rovnou přes websockety poslat na server a vše by se mohlo dělat na straně NodeJs ale jelikož mám rád PHPčko a rád s ním zpracovávám data tak tam je .
Teď se zaměřím na body, které si uvedl.
První bod už řeší princip websocketů, okénko si jednoduše uděláš v HTML, CSS a přes JavaScript do něj budeš vkládat zprávy, které přišli přes websockety. Adresu taky psát nemusíš, jelikož když se připojuješ přes ws protokol vždy musíš uvést na jaký server se chceš připojit. Takže např. přes JavaScriptovou knihovnu Socket.io se připojíš na server pomocí metody connect které do argumentů dáš adresu server v podobě stringu.
var socket = io.connect("localhost:3000");
shromažďování by šlo udělat na principu, že by se každá zpráva při odeslání socketu zároveň uložila do databáze.
Záložky lze udělat pomocí obyčejného JavaScriptu ale spíše doporučuji použít nějaký framework jako je Angular či Ember.JS nebo knihovnu jako je jQuery či React
Pokud by jsi potřeboval poradit tak mi neváhej napsat do zpráv rád ti poradím.
Zobrazeno 7 zpráv z 7.