• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Node.js i express.js jak wygląda zainteresowanie w Polce i czy to jest technologia która szybko nie zniknie

Object Storage Arubacloud
+1 głos
1,218 wizyt
pytanie zadane 6 maja 2019 w JavaScript przez kevin Mądrala (5,010 p.)
Cześć, mam do Was pytanie odnośnie node.js i frameworka expressjs czy to jest coś co zaraz nie zniknie? Istnieje wiele bardzo popularnych frameworków do php javy i czym na ich tle wyróżnia się node.js i express ? Przykładowy test php vs node.js https://thinkmobiles.com/blog/php-vs-nodejs/ Z tego testu wynika że php jest szybszy od node ale node.js to przecież środowisko uruchomieniowe więc nie wiem jak mam rozumieć ten test. Tutaj kolejny i przedstawia framework expressjs https://medium.com/@mihaigeorge.c/web-rest-api-benchmark-on-a-real-life-application-ebb743a5d7a3 jak widać wygląda to obiecująco. Ale jak wygląda to w praktyce? Jaka w Polsce jest społeczność node.js/expressjs? Czy w Polsce na technologia jest popularna? Jest nią jakieś zainteresowanie? Czy dalej w dużej większości Java/C# ? W pracy piszę w php i szukam pewnej odskoczni do doszkalania się na własną rękę aby nie być programistą co zna tylko i wyłącznie jeden język i technologię więc zastanawiam czy nie warto zainteresować się nodejs/expressjs
komentarz 6 maja 2019 przez BT101 Stary wyjadacz (12,540 p.)

Ciekawe czy użyli clustera w tym teście "multi threaded tasks", dziwne, że aż taka różnica PHP vs Node w szybkości.

Edit

a teraz widzę

  • CPU – 1 core, 2GHz

2 odpowiedzi

+2 głosów
odpowiedź 6 maja 2019 przez Tomek Sochacki Ekspert (227,510 p.)
Node ma swoje konkretne wykorzystanie, np. w aplikacjach real time, bazujących na websocket itp., do tego node jest przydatny aby wytawić SSR dla apek SPA, nawet jeśli API masz np. w Javie to i tak często SSR robi się właśnie w node.

Pracuję przy paru apkach z API w node (głównie express) jak i w Javie/Kotlinie (Spring) i w sumie node wcale nie jest zły do takich zastosowań. Wszystko zależnie od potrzeb. Jak masz np. małą apkę SPA z SSR w node to nie ma w sumie potrzeby pchać się w opaździerzenie całego środowiska dla PHP czy Javy itp. jak te parę endpoitów można sobie wystawić właśnie w node.
komentarz 6 maja 2019 przez kevin Mądrala (5,010 p.)
Ja właśnie trochę nie rozumiem tego "nie jest taki zły". Napisałem sobie bardzo proste api z autoryzacją JWT czyli nic skomplikowanego ale powiem szczerze że mi się to nawet spodobało. Tylko co jest z tym nie tak że "nie jest taki zły" i czy w Polsce jest bardzo często używany ? I rozumiem że w SSR to króluje właśnie node i express ?
komentarz 6 maja 2019 przez Tomek Sochacki Ekspert (227,510 p.)
po wiem tak - mam okazję siedzieć obecnie przy większej apce, gdzie spora część API jest w Javie/Kotlinie, ale czasami są jakieś pomniejsze endpointy powystawiane w node... i szczerze, tak zupełnie subiektywnie po prostu lepiej mi się pracuje z API w Springu niż w express nodowym... ale to w 100% subiektywna opinia, nie umniejszająca nic node.

I drugi aspekt, o jakim nie napisałem, ale zrobił do Comandeer - cały świat frontowy dziś bez node się nie ogarnie :) zarządzanie pakietami itp. itd. do tego electron itp. Choć tutaj przyznam, że jakiś czas temu robiłem podchody do electrona i jednak Java mi się bardziej podoba do takich apek... tak samo jak nie mogłem się przekonać do rozwiązań JSowych na alki mobilne... jakoś Kotlin mi tutaj bardziej odpowiada... jest to więc temat mocno subiektywny i chyba nikt nie da Ci 100% obiektywnej odpowiedzi :)
+2 głosów
odpowiedź 6 maja 2019 przez Comandeer Guru (600,730 p.)
Node.js w obecnym momencie jest nie do ruszenia. I to nawet nie dlatego, że to dobre środowisko backendowe. Akurat ten aspekt Node jest obecnie o wiele mniej ważny. Ważniejsze jest to, że Node.js stanowi podstawę niemal wszystkich narzędzi do tworzenia frontendu oraz jest środowiskiem uruchomieniowym JavaScriptu, które służy choćby do uruchamiania aplikacji Electronowych. Zresztą (niemal) cała zawartość rejestru npm jest konsumowana właśnie przez Node.js.

Nawet jakby się chciało od Node.js uciec, to, jeśli choć trochę siedzi się w webdevie, to jest po prostu niemożliwe. W pewnym momencie zawsze pojawi się w bardziej złożonym projekcie. Czy to dobrze, czy źle – to już zupełnie osobna kwestia.
komentarz 6 maja 2019 przez kevin Mądrala (5,010 p.)
Tak, js node jest wszędzie i np. do mnie to bardzo przemawia ale jak właśnie jest z backendem ? Czy nabierając jakiegoś doświadczenia na własną rękę w expressjs/node to w Polsce nie muszę się jakoś specjalnie martwic o jakieś dodatkowe zlecenie poza pracą ? Wiem że to głównie zależy od doświadczenia bo będąc w czymś dobrym to pracę się znajdzie, ale tym pytaniem chciałem się bardziej rozeznać jak wygląda zapotrzebowanie w Polsce na expressjs ?
1
komentarz 6 maja 2019 przez Comandeer Guru (600,730 p.)
Może niekoniecznie Express.js, ale backend w Node.js pisze się jak najbardziej (np. u nas w firmie). Niemniej większość frameworków backendowych w Node.js ma te same założenia, więc znając jeden łatwo przestawić się na inny.
komentarz 6 maja 2019 przez kevin Mądrala (5,010 p.)
Dobra coraz bardziej się przekonuje :) Ale czemu Mongo ? Mam wrażenie że MySQL jest gorzej wspierane przez express, prawdę mówiąc mogę na dzień dzisiejszy to stwierdzić tylko i wyłącznie na podstawie ilości kursów expressjs i mysql. Ciężko mi coś znaleźć na temat mysql. Jest knex i z tego co rozumiem to jest to tylko query builder więc tworzę osobny plik i zwracam export const z połączeniem do bazy, a później używam do tworzenia zapytań a bookshelf jest to orm dla express i wymaga instancji knexa. Ale nie wiem czemu mam wrażenie że główną bazą jest Mongo ale tak jak mówiłem mogę to stwierdzić tylko i wyłącznie po ilości tutoriali
1
komentarz 7 maja 2019 przez Comandeer Guru (600,730 p.)

Bo tak się złożyło, że szczyt hype'u na Node.js w backendzie przypadł na ten sam okres, w którym był szczyt hype'u na NOSQL i… tak wyszło, po prostu ;)

Biblioteki do obsługi SQL-a w Node.js są (np. Sequelize), więc można sobie wybrać bazę tak, jak się powinno: pod konkretne zastosowanie.

komentarz 7 maja 2019 przez kevin Mądrala (5,010 p.)
I ta biblioteka mnie przekonała, dzięki :) Kolejna różnica pomiędzy aplikacją np. w Symfony to taka że aplikacja w node potrzebuje nod'a jako srodowiska w którym się uruchomi. Czyli jeżeli nawet na zdalnym serwerze (jakimś vps) chcę sobie postawić api na expressjs to wpisuję w katalogu projektu node server.js i uruchamia się serwer na ustawionym porcie. Ale jeżeli zamkne terminal to zgaśnie serwer ponieważ proces nie działa tle. Widziałem managery wspomagające takie jak nodeamon, pm2 które uruchamiają noda jako proces w tle. pm2 o ile dobrze przeczytałem jest darmowy tylko jako "Production Process Management". Czy używanie jego jest powszednie ? Czy króluje moda na postawienie wszystkiego na dockerze i obrazie uruchomienie serwera jako node server.js ?
komentarz 7 maja 2019 przez Comandeer Guru (600,730 p.)
To już zaleźy od potrzeb, stawiałem aplikacje zarówno przy pomocy pm2/forever, jak i przy pomocy Dockera. Obydwie rzeczy są powszednimi praktykami, ale myślę, że konteneryzacja staje się obecnie popularniejsza.
komentarz 7 maja 2019 przez kevin Mądrala (5,010 p.)

Rozumiem, ale żeby już nie zakładać osobnego wątku ponieważ pytanie jest w pewnym sensie związane z Twoją odpowiedzią a wątek miał dotyczyć przyszłości i popularności tej technologii. Tworząc aplikacje w express najpierw muszę wykonać polecenie npm init. Podaję swoje dane i dochodzę do wpisania nazwy pliku zamiast index.js w package.json wpis ten widnieje jako: "main": "index.js". Rozumiem że podając tam informację "name", "version", "description" później w dowolnym edytorze tekstu mogę je zmienić nie bojąc się że aplikacja przestanie działać. Ale przeczytałem gdzieś na internecie że w tym pliku index.js (podajemy taki w package.json) powinno się definiować const app = require('express'); oraz dodawać routy a uruchomienie serwera powinno się ustawiać serwer powinno się ustawiać w pliku serwer.js w którym jest tylko app.listen(PORT, function() {}); Zgadza się czy tutaj coś namieszałem ?

komentarz 8 maja 2019 przez Comandeer Guru (600,730 p.)

Plik podany w main to ten plik, który będzie używany, gdy ktoś zrobi require( 'nazwa-twojego-pakietu' ). Jego zawartość jest dowolna.

Podobne pytania

0 głosów
2 odpowiedzi 1,072 wizyt
0 głosów
0 odpowiedzi 774 wizyt
pytanie zadane 29 kwietnia 2017 w JavaScript przez moofi Początkujący (470 p.)
0 głosów
2 odpowiedzi 742 wizyt

92,539 zapytań

141,382 odpowiedzi

319,481 komentarzy

61,928 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...