NodeJS - przyszlosc?

0

Witam
Wiem, że tematy tego typu były na forum ale ostatnimi czasy nie widziałem nic na temat a jak wszyscy wiemy, technologie i świat IT idzie do przodu w bardzo szybkim tempie.
Chciałbym spytać doświadczonych programistów o to jak obecnie postrzegają tą technologię razem z jej wszystkimi dodatkami (express, socket.io etc.). Z praktycznie wszystkich benchamrków jakie widziałem wynikało, że PHP pod względem szybkości bije na głowe, możliwości w zasadzie też daje takie same, a jeśli czegoś brakuje myśle, że w najbliższej przyszłości się pojawi bo technologia jest cały czas rozwijana i stosunkowo młoda. Więc mam takie pytanie - czy wart odchodzić od PHP na rzecz nodeJS? Mam pełną świadomość, że nie należy całkowicie ignorować PHP ale czy jeśli mamy taką możliwość to warto skorzystać z nodeJS? Sprawa jest oczywista w aplikacjach realtime typu czaty, gry, jakies aplikacje webowe, ale co sadzicie o stronach CRUD? Czy obecnie wszelkie stronki nie dążą do pełnej interaktywności z użytkownikiem co za tym idzie relacjami realtime?

Za wszelkie odpowiedzi z góry dziękuje i mam nadzieję na ciekawą dyskusję
Pozdrawiam
Eluzive

1

NodeJS to bardzo ciekawy twór. Cała jego struktura, zbudowana na eventach została dobrze przemyślana. W stosunku do PHP, część rzeczy nie jest powtarzana - takich jak ładowanie pluginów, ładowanie zmiennych środowiskowych, łączenie się z bazą danych itp. To pozwala na oszczędzenie sporej ilości czasu.

Jedyną rzeczą, która odpycha mnie od NodeJS'a to sam JavaScript.
Niestety, bardzo ciężko się w nim pisze tak, aby jakość kodu była na wysokim poziomie. Sama asynchroniczność powoduje trochę bajzel w kodzie. Harmony to ma trochę poprawić (klasy, await, w sumie też yield (generatory) mogą ułatwić asynchroniczność - ale na chwilę obecną tylko generatory z tej listy są już dostępne).

Dlatego też na chwilę obecną nie wyobrażam sobie pisanie czegoś w Nołdzie bez użycia TypeScript (wedle mojej opinii), który pozwala trzymać czystość i obiektywność w kodzie, a odpowiednie IDE pozwoli na precyzyjne podpowiadanie składni.

A co do PHPa to nie należy go tak szybko przekreślać. Weź pod uwagę, że powstał twór jak hhvm, który dodaje trochę mocy do pehapa. Kolejną rzeczą , ciekawą jest moduł events dla PHP - pozwala on stosować PHP tak samo jak NodeJS'a. Łatwość i przejrzystość kodu PHP + eventy ? Jak dla mnie fajna sprawa.

0

A tak na marginesie... wspomniałeś o poziomie kodu i TypeScript. A miałeś może styczność z którymś z popularnych frameworków w JS (jQuery, Ember, Angular, Backbone)? Który w twojej opinii jest najprzyjemniejszym środowiskiem pracy?
Dla niektórych zaletą zastosowania node'a może też być jako taka spójność aplikacji, bo wtedy jakby nie było całość postawiona jest w jednym języku.
A nie wiecie może jak przedstawia się node od strony bezpieczeństwa?

0

Frameworki, któe wymieniłeś to są po stronie klienta. Do NodeJSa ich za bardzo nie użyjesz - całkiem inna logika ich jest. Ale jeśli miałbym wybierać to oczywiście AngularJS + Angular UI (z ui route). Bardzo przyjemny, dużo tutoriali, duży support i gwarancja od gugla.

Node od strony bezpieczeństwa.... hmm, co masz na myśli dokładnie? Bo bezpieczeństwo webaplikacji jest w rękach programisty :)

0

Wiem, że to technologie client-side dlatego wspomnialem "na marginesie" ;).
Mówiąc o bezpieczeństwie miałem na myśli w sumie czy względnie łatwo jest wyszukać i wykorzystać lukę w kodzie początkującego-średnio zaawansowanego programisty która pozwoliłaby na zaszkodzenie aplikacji. No i czy nie ma jakichś sytuacji które mogą zajść w kodzie przy jakimś popularnym problemie a które byłyby skłonne stwarzać zagrożenie. Mam nadzieję, że w miarę widać co mam na myśli.

PS. Tutaj znalazłem listę hostingów które pozwalają nam na uruchomienia naszej aplikacji w nodeJS bez potrzeby bawienia się z VPSem. Tutaj stety niestety punkt na konto PHP bo jednak maszyn z Apachem lub inna aplikacja (nginx :) ) emulującą skrypty php jest nieporównanie więcej.
https://github.com/joyent/node/wiki/Node-Hosting

1

Więc mam takie pytanie - czy wart odchodzić od PHP na rzecz nodeJS? Mam pełną świadomość, że nie należy całkowicie ignorować

raczej "czy warto kurczowo trzymać się PHP?" ;)

0

Warto poczytać opinie dużych graczy, którzy wdrożyli Node'a na produkcję. W Polsce takich projektów nie jest dużo w porównaniu do innych technologii.
CRUD-y pisze się bardzo szybko, w połączeniu z jakimś generatorem zysk czasowy jest duży i można się skupić bardziej na interfejsie niż backendzie. Współpracuję z programistami Javy i niestety czasami idzie to jak krew z nosa.
A co do krytyki JS - często spotykam się z brakiem zrozumienia tego języka. Lubię nowe zabawki z ES6, ale jednocześnie kocham ten język ze wszystkimi jego wadami i bez tych "usprawnień". ;) A przeszedłem ze środowiska Pythona, więc niektórzy mogliby uznać to za krok wstecz.

0

Witam a wie może ktoś z was jak zainstalować hhvm na linuxie w ovh jest kilka wersji do wyboru
Proszę o pomoc i z góry dziękuje

0

Aplikacje typu CRUD i realtime napiszesz tak na prawdę we wszystkim. Pytanie czy rozumiesz mechanizm obsługi requestów w PHP a w node.js. Tutaj raczej bym powiedział o liczbie obsługiwanych requestów przez aplikację. Gdzieś w sieci jest artykuł o tym dlaczego np. PayPal przeszedł na node.js - poszukaj sobie.
Po za node.js jest jeszcze moim zdaniem fajniejsza "zabawka" - vert.x. Teraz wchodzi powoli wersja vert.x3 i tam się trochę zmieni co do obecnej wersji.
Żeby to wszystko zrozumieć musisz poznać mechanizm obsługi requestów dla tych frameworków/platform. Jakbyś był zainteresowany to właśnie rozpoczynam pisać pracę magisterską i jak napiszę wstęp to mogę Ci udostępnić wyjaśnienie tych różnic.

1 użytkowników online, w tym zalogowanych: 0, gości: 1