Jak mám programovat v Node.js?

Jak mám programovat v Node.js?
« kdy: 24. 05. 2019, 19:43:03 »
Delam v Jave a pokousim se o javascript.

Nevim proste jak na to, uz jsem udelal nejake ty cvicne kalkulacky, zkousel jsem to v reactu, a ted jsem si chtel zkusit udelat si kompletne backend v node.js, ale je to porad ta sama pisnicka.

Dam priklad. Na zacatku vseho bych si rad udelal domenovy model, protoze jsem tak zvykly - nekde prece sakra musim mit definovane s jakymi daty vlastne budu pracovat, to by v tom byl jinak binec.

No takze si udelam slozku domain a tam si davam 1 file per class. Jenze jsem se zrovna zasekl u te veci, ze si potrebuju specifikovat fieldy mych domenovych trid a nemuzu tak specifikovat daotvy typ. Co s tim jako mam delat kdyz tam nemuzu mit ani datovy typ? Tak napr. budu tam chtit mit typ predstavujici datetime s casovou zonou. Co s tim, kdyz to tam nemuzu specifikovat? Jak bude potom nejaky kolega programator, nebo ja za par mesicu, vedet, co ty jednotlive atributy trid vlastne predstavuji?

Takze jsem se tu chtel poradit a idealne bych chtel videt nejaky poradnejsi backend v node.js, nejaky example toho, jak to ma vypadat - neco jako je Petclinic, cokoliv, zadny Hello world porad, ale normalni projektik ktery obsahuje tak 30 trid a pouziva alespo nejakou in-memory databazi.

Kde ho vezmu?
« Poslední změna: 26. 05. 2019, 21:44:52 od Petr Krčmář »


Re:Jak mam programovat v Node.js?
« Odpověď #1 kdy: 24. 05. 2019, 19:55:39 »

Re:Jak mam programovat v Node.js?
« Odpověď #2 kdy: 24. 05. 2019, 19:58:42 »
Pozri sa na nestjs.com framework. Je to Node.js MVC framework ktorý rovno využíva TypeScript - keďže zjavne chceš dátové typy. Odtiaľ pochopíš viacero vecí, aj prístup JS k modularite kódu.

Re:Jak mam programovat v Node.js?
« Odpověď #3 kdy: 24. 05. 2019, 20:13:23 »
Pokud chcete používat typy, nemůžete psát v jazyce, který typy nemá. Pokud chcete používat JavaScriptové prostředí a  Node.js a zároveň chcete používat typy, pište v TypeScriptu.

gill

  • ****
  • 270
    • Zobrazit profil
    • E-mail
Re:Jak mam programovat v Node.js?
« Odpověď #4 kdy: 24. 05. 2019, 22:08:39 »
Tak napr. budu tam chtit mit typ predstavujici datetime s casovou zonou. Co s tim, kdyz to tam nemuzu specifikovat?

vestavěný typ Date v javascriptu obsahuje časovou zónu

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

Co s tim, kdyz to tam nemuzu specifikovat?

co nemůžeš specifikovat?

nejdřív bych se naučil javascript a až potom řešil nodejs.





gill

  • ****
  • 270
    • Zobrazit profil
    • E-mail
Re:Jak mam programovat v Node.js?
« Odpověď #5 kdy: 24. 05. 2019, 22:19:57 »
Pokud chcete používat typy, nemůžete psát v jazyce, který typy nemá.

javascript má typy hodnot.

Kit

  • *****
  • 704
    • Zobrazit profil
    • E-mail
Re:Jak mam programovat v Node.js?
« Odpověď #6 kdy: 24. 05. 2019, 22:24:16 »
Pokud chcete používat typy, nemůžete psát v jazyce, který typy nemá.

javascript má typy hodnot.

Přesně. V Javascriptu není typ atributem proměnné, ale hodnoty, která je v ní uložena.

Re:Jak mam programovat v Node.js?
« Odpověď #7 kdy: 24. 05. 2019, 22:29:16 »
Pokud používáš nějaké IDE tak doporučuji použít jsdoc, napíšeš si datové typy k objektům, funkcím, třídám,... a editor ti bude napovídat. Ukázky jsou na wiki:

https://en.wikipedia.org/wiki/JSDoc


Re:Jak mam programovat v Node.js?
« Odpověď #8 kdy: 24. 05. 2019, 23:03:42 »
Pokud používáš nějaké IDE tak doporučuji použít jsdoc, napíšeš si datové typy k objektům, funkcím, třídám,... a editor ti bude napovídat. Ukázky jsou na wiki:

https://en.wikipedia.org/wiki/JSDoc

Vyborne, super rada, diky :-)

Re:Jak mam programovat v Node.js?
« Odpověď #9 kdy: 24. 05. 2019, 23:11:01 »
1. Robit backend v node.js ma vyznam iba vtedy ked tie kniznice vyuzijes/zdielas aj s frontendom. Ak to nepotrebujes tak neries ani backend v javascripte.
2. Na cisty JS sa dnes uz pozera skor ako na assembler. Pouzi lepsie jazyky, ktore sa do JS transpiluju. Pre zaciatocnikov bude najlepsi TypeScript.
3. Nejaky ten cas sa s tebou bude tahat Javovska minulost. Budes sa snazit v node spravit nieco na co si zvyknuty v Jave. Nic s tym nespravis, ale proste si budes musiet zvyknut mysliet inac. V podstate zabudni na Javu a co z nej poznas :-) Takze skor nez zacnes nieco robit tak sa poriadne nauc JS a TS. Mozno sa ti tie jazyky zdaju jednoduche a ze ich zvladnes raz dva. Bohuzial jednoduchost jazyka je tu kompenzovana dizajn patternami a to chvilu potrva kym sa ti dostanu do krvi.
4. S frameworkami opatrne, React a podobne zalezitosti ries az ked budes ovladat jazyk. A vyhni sa Angularu.
« Poslední změna: 24. 05. 2019, 23:12:53 od Fuki Fuki »

Mlocik97

  • *****
  • 831
  • Ubunťák, JS dev.
    • Zobrazit profil
    • E-mail
Re:Jak mam programovat v Node.js?
« Odpověď #10 kdy: 24. 05. 2019, 23:31:15 »
@Fuky fuky _4. a ja naopak Angular odporúčam. Mne to prijde jeden z najlepších frameworkov a pritom mi prijde jednoduchý.

Re:Jak mam programovat v Node.js?
« Odpověď #11 kdy: 24. 05. 2019, 23:36:03 »
Přidám se k ostatním:
  • začni s TypeScriptem, tam si můžeš datové typy definovat co hrdlo ráčí a samotný kód je přitom v podstatě přímo samotný Javascript (na rozdíl od některých víc "fancy" transpilovaných jazyků)
  • vyhýbej se třídám a používej interface - a to především u datových struktur, protože na rozdíl od Javy má v TypeScriptu interface fieldy a dá se vytvořit přímo, bez implementující třídy
Myslím že to do začátku stačí, za chvíli přestaneš chtít psát Javovský kód

Re:Jak mam programovat v Node.js?
« Odpověď #12 kdy: 24. 05. 2019, 23:47:04 »
Napadlo me toto, co kdybych udelal design tak, ze nebudu definovat domenovy model v aplikaci, ale budu ho mit definovan jen v databazi a v aplikaci budu mit jen DAO vrstvu?

 Me se TypeScript vubec nelibi, ja radeji budu delat v tom JS.
« Poslední změna: 24. 05. 2019, 23:49:15 od PetrK »

Re:Jak mam programovat v Node.js?
« Odpověď #13 kdy: 25. 05. 2019, 01:33:19 »
Nebylo by lepší použít nějaký jazyk nad jvm? Mě js svět k srdci nepřirostl - nejde jen o jazyky ale i o ten ekosystém a kulturu.

BoneFlute

  • *****
  • 1 981
    • Zobrazit profil
Re:Jak mam programovat v Node.js?
« Odpověď #14 kdy: 25. 05. 2019, 01:50:13 »
Napadlo me toto, co kdybych udelal design tak, ze nebudu definovat domenovy model v aplikaci, ale budu ho mit definovan jen v databazi a v aplikaci budu mit jen DAO vrstvu?

Myslím, že to vůbec není špatný nápad.