Wpis z mikrobloga

Wydaje mi się, że #nodejs ma dwie głowne zalety:
- ten sam język ( #javascript ) na "froncie" i "backendzie"
- asynchroniczność, a co za tym idzie wydajność
Zastanawiam się nad przyszłością #nodejs. Owszem zyskuje on na popularności, ale nie wiem właściwie dlaczego. Przecież np. takie Pythonowe Tornado też całkiem nieźle sobie radzi z asynchronicznością, tak jak i Javowe Netty. Czy zaleta posiadania "full stack developers" i jednego "webowego" języka ogrywa aż tak wielką rolę?

Liczę na ciekawą dyskusje.
#programowanie
  • 59
@ufik78: Nie sądze aby znajomość Node dawała jakieś większe motywacje do bycia fullstackdeveloperemznającymwszystkieframeworkiJS. To bardziej kwestia podejścia, jak ktoś zna technologie backendową X na dobrym poziomie i zechce się zająć frontem to javascriptowy syntax mu raczej nie będzie robił żadnej różnicy. Poza tym sam sobie po części odpowiedziałeś na pytanie, ale nie przesadzajmy też z tą szaloną popularnością. Owszem, zyskuje ale nie ma jakiegoś szaleństwa... no może w Stanach to jest
@ufik78: Według mnie node.js będzie zyskiwać na popularności dzięki Reactowi. Zestaw React + Node pozwala na bardzo łatwe renderowanie JS po stronie backendu. Dodatkowo node jest popularny wśród frontów, którzy myślą że zostaną fullstackami ( ͡º ͜ʖ͡º)
@lukasz1985m: tak jak mówi mirek wyżej, równie dobrze #!$%@? kod możesz tworzyć w innych językach, pusty argument. Zmiany koncepcyjne w sensie jakim? Asynchroniczność to główne założenie tego języka, krytyka wynika głównie z tego, że ludzie nie rozumieją, jak działa eventloop i jakie jest tak naprawdę jego znaczenie. IMO JS to wcale nie głupi język, natomiast dziwna jest jego społeczność, która próbuje z tego języka zrobić coś naprawdę dziwnego. Między innymi dlatego
@lukasz1985m: No nie, właśnie wywołania zwrotne nie do końca od razu wracają, na co przykładem są promisy. Ogólnie, dużo nowych ficzerów ecmascript pomaga lepiej zarządzać pisanym kodem, przykładowo - nie musisz już tworzyć klas operując bezpośrednio na prototypach, a rzeczy asynchroniczne możesz pilnować używając async functions. Co do wątków, to w sumie w JS też są, chociaż bardziej bym to nazwał ich protezą, w większości przypadków nie są potrzebne, bo unika
@lukasz1985m:

Promisy to tylko opakowane wywołania zwrotne, możesz sobie nimi opakować każdy callback; całość wciąż jest zawoalowana przez zbędne API.

Nie, nie zgodzę się. Handler w promisach jest zrzucany na stos wywołań zwrotnych, przez co każda jego obsługa jest w przeciwieństwie do zwykłych callbacków asynchroniczna (nie wspominam tutaj o odsyłaniu callbacków przez setImmediate, albo process.nextTick). Tutaj masz obrazek ilustrujący działanie takiego eventloopa. A tutaj mój skromny artykuł, który i tak nigdy