Jak začít s Node.js?

Jak začít s Node.js?
« kdy: 30. 10. 2024, 16:48:30 »
Jako letitý programátor, který píše převážně v C pro embendded sektor jsem se rozhodl rozšířit si obzory a proniknout do tajů vývoje webových aplikací.  Aby to nebyl takový kulturní šok byla má představa něco jako webové rozhraní pro laboratorní měřák. Tedy nějaký jednodeskový Linux který na jedné straně po UART komunikuje s měřákem a po LAN umožnuje zobrazit data z měřáku včetně grafů, nastaveni atd.
Zkrátím to kvůli grafům jsem se podíval na Javascript a kvůli Javascriptu a unifikaci na node.js.
Už Javascript mi přišel jako spíš špatný vtip, který spáchali nějací zhulení chovanci z ústavu, kteří to vyvíjeli podle toho jak kvalitní matroš ráno dostali od ošetřujícího personálu.
Proměnné definujeme klíčovým slovem var. Změna var nepoužívejte let a const. Na konci řádku piště středník nebo nepište, hlavně, že na definování funkcí máme x způsobů a typová kontrola je sprosté slovo.
Fakt děs běs.
Pak přišel node.js, příjemně překvapilo, že to vlastně funguje i bez instalace a první Hello Word jsem měl za 20s.  Pa to začalo. Vlastně jsem nenašel vzorový projekt, kde v node vytvořili klidně jednostránkou aplikaci s html, css, js na serveru a js na frontendu  a bylo to nějak slušně okomentovno.
NPM prý velká výhoda node.js, asi ne pro mě, at jsem sáhl na co sáhl vždy tam bylo něco deprecated, plus SQLite ma mpn, ale od verze 22.5 i přímou ezperimentání podopru , prostě bordel.

Poradíte?
Kde najít příklad vývoje skutešné minalistické aplikace krok za krokem?


Re:Node.js peklo nebo ráj, jak začít?
« Odpověď #1 kdy: 30. 10. 2024, 17:23:48 »
node.js neni ani peklo, ani raj, ale p*covina :-)

ja nemam rad js, ale obcas musim sahnout na frontend a myslim, ze se na server js tahat nemel.
no ale zase kdyz uz node.js existuje tak pro ceckare je ta syntaxe zkousnutelna lepe nez treba python.
takze mi jako ceckar node.js, deno, deno2 pripada celkem v pohode, ne ze bych to mel rad.

treba se koukni na engine v8, ktery je schovany v node.js

a pristupuj k syntaxi a k js jako ke skriptovacimu "cecku" :-)

Re:Jak začít s Node.js?
« Odpověď #2 kdy: 30. 10. 2024, 17:25:29 »
kdyz si chci pohrat a udelat webovou sluzbu tak radeji v golang, ten je od lidi co kdysi udelali cecko.
takze zkus radsi golang.

Mlocik97

  • *****
  • 900
  • Ubunťák, JS dev.
    • Zobrazit profil
    • E-mail
Re:Jak začít s Node.js?
« Odpověď #3 kdy: 30. 10. 2024, 17:47:14 »
Citace
Už Javascript mi přišel jako spíš špatný vtip, který spáchali nějací zhulení chovanci z ústavu, kteří to vyvíjeli podle toho jak kvalitní matroš ráno dostali od ošetřujícího personálu.

Ako asi každý jazyk. Každý jazyk má nejaký "quirk", niečo, čo nedáva logiku. V JavaScripte (ak ho skutočne vieš) ale dáva zmysel všetko. Možno najdivnejšia vec je typeof null === "object".

Citace
Proměnné definujeme klíčovým slovem var. Změna var nepoužívejte let a const. Na konci řádku piště středník nebo nepište, hlavně, že na definování funkcí máme x způsobů a typová kontrola je sprosté slovo.

Preto existuje ESLint, a zároveň to nie je až taký problém. Ohľadom var vs let a const, tak sa pozri na iné jazyky a ich podobné "toto môžem urobiť viacerými spôsobmi" a "toto je nekonzistentné".

Typová kontrola? Na to existuje práve TypeScript (a TSC umožňuje aj typovú kontrolu JS kódu, tzv. typovo-kontrolovaný JavaScript). A vieš že v C je možné definovať funkciu X spôsobmi tiež? A aj v Golang, v Pythone, v (dosať si akýkoľvek jazyk).

Citace
NPM prý velká výhoda node.js, asi ne pro mě, at jsem sáhl na co sáhl vždy tam bylo něco deprecated, plus SQLite ma mpn, ale od verze 22.5 i přímou ezperimentání podopru , prostě bordel.

To mi chceš povedať že absolútne nič nie je deprecated v C? Dobrý vtip. To mi chceš povedať že API každej knižnice má byť naveky stejné? Vždycky sa niečo deprecatuje. V každom jazyku.

Citace
node.js neni ani peklo, ani raj, ale p*covina :-)
Node.JS je tak dobrý ako C, Python, Golang či čokoľvek iné. (okrem Javy a PHP, čo je teprve peklo a pičovina). Asi si neuvedomujete že každý prog. jazyk je tvorený len syntaxou a API. A všetko ostatné je už správanie konkrétneho compiléra, runtime alebo iného nástroja, ktorý jazyk prevádza na funkčnosť. Takže ak sa jazyk dá kritizovať tak len na základe nekonzistentnosti API (prípad PHP) či obskurdnej syntaxe (prípad Javy, i keď tu je problém aj boilerplate).

Citace
ja nemam rad js, ale obcas musim sahnout na frontend a myslim, ze se na server js tahat nemel.

A ja si myslím že C, C++ či Rust nemal vzniknúť a je to humus v porovnaní s Assemblerom.

Citace
kdyz si chci pohrat a udelat webovou sluzbu tak radeji v golang, ten je od lidi co kdysi udelali cecko.

súhlasím, Golang je fajn, a ak mu vadí JS, tak nech použije čo mu nevadí.

Re:Jak začít s Node.js?
« Odpověď #4 kdy: 30. 10. 2024, 18:24:14 »
Pokud chcete JavaScript mimo prohlížeč, zvolil bych spíš Deno. Je od původního autora Node.js, ale navrhl ho s tím, co by po těch deseti letech udělal lépe. A Deno 2 je plně kompatibilní s Node.js.

Ale pokud víte od začátku, že je na JavaScriptu všechno blbě, nemá smysl zkoušet nic.


Re:Jak začít s Node.js?
« Odpověď #5 kdy: 30. 10. 2024, 18:44:29 »
Ja sa k JS dostanem len zriedka, keďže web robím len veľmi zriedka okrajovo, ale minule som robil nejaký worker pre cloudflare v JS a celkom sa mi páči, že sa JS vyvíja, odkedy má async, await, lambdy, je to pre mňa čo robím hlavne C# príjemné prekvapenie. Pravda najhoršie je, že chýbajú typy, ale na to je dnes TypeScript (ten som ale ešte ani poriadne nevidel)

hknmtt

  • ***
  • 109
    • Zobrazit profil
    • E-mail
Re:Jak začít s Node.js?
« Odpověď #6 kdy: 30. 10. 2024, 18:58:52 »
Odporucam JS len na front-end a spravit api backend v inom jazyku(php, ruby, python, go, rust, java, c# .. uplne hocico proste), pripadne robit rovno html render na backende ako kedysi a na front-end dat len old school jQuery alebo inu lahku JS kniznicu na zakladne naimacie a "dynamickost". Aj moderne js weby/aplikacie robi vela server-side renderingu dnes, lebo proste JS je JS. A ta absencia typov je dost katastrofa, ked clovek rozbehne nieco do produkcie a nerobi len MVP. Jasne, je tu TypeScript, ale aj ten dost upada v pouzivanosti.

Ako Cckar mas na vyber toho dost. Go bude mat najrychlejsi development time, ale zase rust, zig, odyn a ine jazyky s vlastnym memory managementom budu v pohode.

Re:Jak začít s Node.js?
« Odpověď #7 kdy: 30. 10. 2024, 19:00:49 »
Ja sa k JS dostanem len zriedka, keďže web robím len veľmi zriedka okrajovo, ale minule som robil nejaký worker pre cloudflare v JS a celkom sa mi páči, že sa JS vyvíja, odkedy má async, await, lambdy, je to pre mňa čo robím hlavne C# príjemné prekvapenie. Pravda najhoršie je, že chýbajú typy, ale na to je dnes TypeScript (ten som ale ešte ani poriadne nevidel)
Lambdy má JavaScript odjakživa.

tecka

  • ***
  • 159
    • Zobrazit profil
    • E-mail
Re:Jak začít s Node.js?
« Odpověď #8 kdy: 30. 10. 2024, 19:29:23 »
Jako letitý programátor bys měl zvládnout projít základní syntaxi, číst dokumentaci k modulům a funkcím, formulovat dotazy pro Google a zbytek přirozeně odkoukat. Kritika JavaScriptu je pochopitelná, není to nejpříjemnější jazyk, ale solidní základy pro cokoliv se dají zvládnout za víkend bez brečení na rootu. Ale možná pojem "letitý" v tvém případě znamená, že si občas v létě něco namatláš.

Re:Jak začít s Node.js?
« Odpověď #9 kdy: 30. 10. 2024, 20:28:05 »
No já bych s ním na serveru nezačínal. A to i přesto, že na frontendu mám celkem rád Vue a tedy heavy JS apky.

Ale pokud už chceš, tak doporučuji psát v syntaxi ECMAScript 2015 (aka ES6) a tím si tu syntaxi trochu ustálit. Kód v ES6 je trochu příčetnější. Také doporučuji se vyhnout callbackům a psát plně v Promises/ async / await.

I já jsem si zkusil jsem cvičně v NodeJS udělat několik hobby projektů. Přišlo mi zajímavé mít vlastně FE a BE v jednom. A proklínám se za to dodnes. Proč?

Primárně protože jsou knihovny strašně nestabilní. Pokaždé, když chci cokoliv změnit, tak musím nejprve updatovat milión knihoven a doufat, že tam někde není nějaká změna, co to celé rozkurví. A to se stane velmi často. 

Backend v javě / kotlinu / php poběží roky s minimálními změnami knihoven. NodeJS max měsíc.



ZAJDAN

  • *****
  • 2 087
    • Zobrazit profil
    • E-mail
Re:Jak začít s Node.js?
« Odpověď #10 kdy: 30. 10. 2024, 22:21:41 »
Ruby on Rails
uděláte v tom backend i frontend.
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

alex6bbc

  • *****
  • 1 672
    • Zobrazit profil
    • E-mail
Re:Jak začít s Node.js?
« Odpověď #11 kdy: 30. 10. 2024, 22:57:18 »
asi se to presunulo k obecnejsi diskuzi.

musim delat v praci c++, ale stve me komplexita, zase jsem si hral s c a zase jsem se zamiloval.
protoze se mi vic libi c a mam rad lidi od plan9, kteri zacali s alefem a z toho vznikl golang, tak golang dam jako druhy za c. ale zase jako c++kar jsem si hral s rustem a ten me spis nazlobil, syntaxe je takova pythonova, pro ceckare neintuitivni. kouknes dovnitr boxu a je to podivne, je to podivne, je to podivne.

Re:Jak začít s Node.js?
« Odpověď #12 kdy: 31. 10. 2024, 07:51:38 »
Lambdy má JavaScript odjakživa.
Myslel som arrow syntax