JS best practices

Programovacie jazyky, rady, poradňa...
mnichovcan
Medium Expert
Medium Expert
Príspevky: 97
Registrovaný: 17 mar 2011, 23:03

JS best practices

Príspevok od používateľa mnichovcan »

Zdravím vas ,

Pred pár mesiacmi som sa tu pytal ako použit socket.io z php a či je Vue js ok .
No ubehol nejaky čas uplne som sa tomu nevenoval kvoli škole a tak ale niečo som predsa spravil. Bola to taka jednoduchá hra kde sa hráč pripiji do miestnosti napr pre 5 ludi a ked sa to naplni (niečo ako Sit n Go v pokry :) ) tak sa hra spustila a hračom sa ukazovali obrazky a mali 4 možnosti kto odpovedal zle vypadol.

No tak použil som tam Node.js , Express , Socket.io , EJS , a Vue.js + Boostrap ono to fungovalo celkom a dao sa to aj hrat sice som to nikde nespustil len na chvilu pre skusku

No ale ja niesom uplne spokojny s kodom a proste s tym že mam pocit že som nepoužil to čo teraz je IN a čo je najlepšie.
Napr na serverom kode som nepoužival ES6 proste žiadne Class , let atd a moja prva otazka je

Mam použivat na servery ES6 priamo ked Node už skoro na 100% podporuje alebo použivat nejaky transpiler napr Babel ?

Dalej čo sa tyka Vue je ok ale čital som vela chvali na React je od facebooku tak a čo som si pozeral dokumentaciu vyzera to fajn teda ked to budem chcet použit na frontend tak asi budem musiet použit Babel (Do toho sa mi moc neche chcem mat "dev stack" čo najjedoduchši)?

React ma nejaky router ale aj Express js ma router neviem či to je to iste alebo nie ale ked použijem v Express ten čo tam je tak ten v reacte už netreba nerozumiem moc tomu že niečo mam aj na servery a niečo aj na frontend vlastne to iste asi.
Ja si sam pre seba hovorim tak že keby som použival nejaky PHP FW tak tiež využijem routovanie len stoho FW bol by som rad keby mi to tu niekto nejak objasnil.


Nakoniec čo mam vlastne použivat ? Ake mate dev stacky vy ? Čo je najlepšie použivat a ako ? Som s toho js ekosystemu fakt v riti :D

Lebo aj ked si niečo napišem a fungujeto tak ma to stale tak vnutorne trapi že to neni proste najlepšie ako sa da
Chcel by som si spravit niečo tak aby ked by som sa napr zaujimal o nejaku pracu a chceli by vidieť nejake zdrojaky tak aby som sa nemusel hambit

Ak si to prečital cele a pochopil si ma a vieš poradiť tak porad pls :D
Tak sa majte zatial tešim sa na rady
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8216
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: JS best practices

Príspevok od používateľa harrison314 »

S toho, co citam po diskusnych forach, tak problem nie je s tvojim frameworkom, je ich milion, lebo ani jeden nie je poriadny a preto vznikaju dalsie a dalsie rovnako nedokoncene.
Skor si myslim, ze je to chyba samotneho javascriptu.

Na Node.js som nerobil (ak neratam nejake example), ale na frondend som pouzival Typescript, aby som sa zbavil callbcask hell (pomocou async await), foreach :D a pridal si tam typy a moznosti refaktoringu.

Inac otazka do plena, jedtvuje nejaky rozumny dovod pouzit Node.js ?
aacid
Hardcore addict
Hardcore addict
Príspevky: 8135
Registrovaný: 22 nov 2006, 21:55
Bydlisko: BA

Re: JS best practices

Príspevok od používateľa aacid »

akurat vcera sa o tom diskutovalo na reddite.

ak robis frontend, tak viac menej nemas inu moznost ako pouzit javascript. a ked uz pouzivas javascript na frontend, preco pouzivat iny jazyk na backend ked nemusis.
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8216
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: JS best practices

Príspevok od používateľa harrison314 »

aacid napísal:ak robis frontend, tak viac menej nemas inu moznost ako pouzit javascript. a ked uz pouzivas javascript na frontend, preco pouzivat iny jazyk na backend ked nemusis.
Lebo iny jazyk je lepsi a pre dany ucel sa hodi viac.
Toto mi pride ako vyhovorka, nie ako padny argument. Mal by som sroby zatlkat kladivom, len pre to, na opacnej strane izby som potreboval zatlct kliniec?
aacid
Hardcore addict
Hardcore addict
Príspevky: 8135
Registrovaný: 22 nov 2006, 21:55
Bydlisko: BA

Re: JS best practices

Príspevok od používateľa aacid »

ja sa s tebou hadat nejdem, len som odpovedal na otazku.

ale ako vies ze sa na to node.js nehodi? ako pises, nerobil si s nim. ja som s nim tiez moc nerobil, len nejake tutorialy ale tak vela ludi to pouziva, asi z nejakeho dovodu. najcastejsi argument je ten co som napisal.
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8216
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: JS best practices

Príspevok od používateľa harrison314 »

Pretoze uz jestvuju alternativy. Dokonca richlejsie ASP.NET Core na Kstleri http://web.ageofascent.com/asp-net-core ... 12-6-gbps/ ,
starsia vec napriklad OWIN (na mojom starom slabom slabom notebooku 8000 requestov za sekundu).

Dokonca som niekde videl alternativu aj pre Javu.

PS. viem,ze sa so mnou nehadas.
aacid
Hardcore addict
Hardcore addict
Príspevky: 8135
Registrovaný: 22 nov 2006, 21:55
Bydlisko: BA

Re: JS best practices

Príspevok od používateľa aacid »

je asi pravda ze node.js je tak trochu hype... ktory uz aj uticha. pamatam si ako som asi rok dozadu pozeral nejaku prezentaciu o node.js a potom som bol taky ze "wow, to je pecka, preco by chcel niekto robit este v niecom inom"...
nakoniec sme backend aj tak robili v c#.

//autoeditácia príspevku (01 Aug 2016, 10:47)
ale aj tak mam javascript celkom rad, ani neviem preco...
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8216
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: JS best practices

Príspevok od používateľa harrison314 »

aacid napísal:je asi pravda ze node.js je tak trochu hype... ktory uz aj uticha. pamatam si ako som asi rok dozadu pozeral nejaku prezentaciu o node.js a potom som bol taky ze "wow, to je pecka, preco by chcel niekto robit este v niecom inom"...
nakoniec sme backend aj tak robili v c#.
Ja tusim v com je to, je to nove stavnate a kazdy o tom hovori. K tomu mas vela JS trolov, nech sa na forach opitas akukolvek otazku, tak sa dozvies, ze Node.js to vie riesit lepsie (pametam si casy, ked bola rovnaka situacia s Ruby :D ).
K tomu je to dost nizkourovnove, tak ma pocit kontroly, volnosti a vykonu. Co obcas laka aj mna.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: JS best practices

Príspevok od používateľa audiotrack »

myslím že node.js nie je vôbec preceňovaný. Má kopec výhod, a to že sa používa v takej miere je len dôsledok toho. Všetko dokážeš spraviť aj v jave alebo c#, ale nie tak rýchlo. Nainštalovať server pre node je záležitosť jedného príkazu a pár sekúnd. Dokážeš mi tak rýchlo rozbehať dot.net? Len kým ho stiahneš ja už budem mať bežiaci nodovy server. Ďalej má veľmi dobrého package manager npm. Takmer na všetko nájdeš kopec modulov. A ich použitie je veľmi jednoduché, vzhľadom na to ako funguje celá npm logika. Taktiež supervisory. V node dokážeš spraviť stále bežiacu službu. Toto keby spravíš v php alebo jave, zachvílu ti to zletí na pamäti. Asynchronne I/O operacie, tiež obrovský benefit... to že javascript pozná skoro každý, a ten kod je čitateľný pre omnoho väčšiu skupinu ľudí ak java alebo c# je podľa mňa jeden z tých najmenších benefitov.

k tej rýchlosti, node beží na engine V8, nejde o javascript aký poznáš z prehliadača. V testoch je rýchlejší ako php alebo java
porovnanie s php a hhvm
porovnanie s Java EE

Ja som v node písal server, čo čítal správy z rabbitMQ a preposielal ich na flume. Plus tam bola nejaká logika okolo toho, lebo ich ešte zgrupoval a posielal po skupinách, validoval a podobne. A trvalo mi to 4 hodiny, bez toho aby som predtým vedel čo i len základy o node. Rozbehanie serveru a naprogramovanie pre úplneho nováčika v node svete behom pol dňa. V jave sa za 4 hodiny nedostaneš o moc ďalej ako rozbehanie prostredia a jednoduché programy
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8216
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: JS best practices

Príspevok od používateľa harrison314 »

audiotrack napísal:Dokážeš mi tak rýchlo rozbehať dot.net?
nemyslim, ze ci cas instalacie servera (pokial to nie je hodina) hra rolu.
Co sa tyka nasadenia, tak IIS to je par klikov, v .NET Core to je "dotnet run".
audiotrack napísal:Ďalej má veľmi dobrého package manager npm.
V .Net svete mas Nuget, ktory vie toho milionkrat viac. Okrem toho ASP.NET Core projekty podpruju okrem nugetov aj NPM, Bower, ....
audiotrack napísal:Takmer na všetko nájdeš kopec modulov.
V inych jazykoch ich nemas?
audiotrack napísal:V node dokážeš spraviť stále bežiacu službu.
Ved ASP.NET alebo JSP/JSF tak funguje defaultne.
audiotrack napísal:Asynchronne I/O operacie, tiež obrovský benefit
To uz vyse roka podpruje .Net aj na urovni jazyka a kompilatora, ziaden callbacka hell. https://msdn.microsoft.com/en-us/library/mt674882.aspx
audiotrack napísal:A trvalo mi to 4 hodiny, bez toho aby som predtým vedel čo i len základy o node.
Ja som bol na tom podobne s ASP.NET MVC 2, za 5 hodin semidinamicku webovu stranku, bez predchadzajucich vedomosti o tejto technologii.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: JS best practices

Príspevok od používateľa audiotrack »

a príde ti trefné argumentovať tu microsoftovým IIS? :) Keď sme pri tých výhodach, node.js spustíš na macu, linuxe aj windowse. Pre tieto tvoje veci potrebuješ platený drahý microsoft, alebo použiť nejaké alternatívy (mono) alebo virtuálne prostredia aby si to spustil na inom os.

bower nemôžeš porovnávať s npm. Npm má dependency tree, a tak vieš používať rôzne verzie balíčkov vrámci projektu. Taktiež vieš sťahovať balíčky pre projekt, alebo pre usera čo odlahčí tvoje projekty, lebo sa naloaduju globálne. Nuget presne nepoznám, ale podla tohto to tiež nie je žiadna sláva, lebo nerieši namespace-i: http://simplyaprogrammer.com/2014/06/wh ... nuget.html

neviem, príde mi to že sa tu doťahujeme o hovne. Ale node.js je veľmi oblúbený, rozšírený, a dobrý. Nezastávam si ho, ale argumentovať proti nemu dotnetom je smiešne. A ako si ty napísal že je plno JS trolov, tak ty si asi jeden z tých .NET trolov.
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8216
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: JS best practices

Príspevok od používateľa harrison314 »

audiotrack napísal:a príde ti trefné argumentovať tu microsoftovým IIS?
Vysie som spominal aj Kestler.
audiotrack napísal:Keď sme pri tých výhodach, node.js spustíš na macu, linuxe aj windowse. Pre tieto tvoje veci potrebuješ platený drahý microsoft, alebo použiť nejaké alternatívy (mono) alebo virtuálne prostredia aby si to spustil na inom os.
.Net Core je multiplatformove ide aj na windowse, linuxe a jablku.
Mono nie je alternativa, mal som posledne mesiace tu cest a kazda tretia metoda nie je iplmenetovana a kazda stvrta funguje inak ako by mala.
audiotrack napísal:bower nemôžeš porovnávať s npm. Npm má dependency tree, a tak vieš používať rôzne verzie balíčkov vrámci projektu. Taktiež vieš sťahovať balíčky pre projekt, alebo pre usera čo odlahčí tvoje projekty, lebo sa naloaduju globálne. Nuget presne nepoznám, ale podla tohto to tiež nie je žiadna sláva, lebo nerieši namespace-i: http://simplyaprogrammer.com/2014/06/wh ... nuget.html
Npm bolo vymslene na stahovanie javascriptu a to robi dobre. Nugety toho vedia podstatne viac, boli vmyslne ako balickovaci system k .Net projektom, vedia tahat aj javascript a podobne veci.
Ale primarne su urcene k tahaniu libiek a ich zavislosti. K tym napespacom co su v clanku, tak autor nugetu ich kludne mohol urobit, nic mu v tom nebrani.
audiotrack napísal:neviem, príde mi to že sa tu doťahujeme o hovne. Ale node.js je veľmi oblúbený, rozšírený, a dobrý. Nezastávam si ho, ale argumentovať proti nemu dotnetom je smiešne. A ako si ty napísal že je plno JS trolov, tak ty si asi jeden z tých .NET trolov.
Ja len hovorim, ze k Node.js jestvuju plnohodnotne alternativy a s normalnym jazykom. Len o nich nik nevie lebo su okamzite heitovane, pretoze java alebo Microsoft.
Napísať odpoveď