Node.js

Roy
Уже с Приветом
Posts: 1234
Joined: 24 Nov 1999 10:01
Location: Seattle

Node.js

Post by Roy »

Что-то в последнее время все чаще сталкиваюсь с node.js и сопутствующими технологиями.

Что скажут знающие люди - Node.js набирает обороты или это очередной пузырь?
Стоит ли подучить Node или это пустая трата времени? Какие frameworks перспективны?

Спасиба!
Mmodel
Уже с Приветом
Posts: 8193
Joined: 27 Mar 2016 23:56

Re: Node.js

Post by Mmodel »

Индусы - Java, Из азии - Python, Ruby, остальной мир Node либо Ruby либо вообще PHP.
Sierra2k
Уже с Приветом
Posts: 1686
Joined: 18 Jun 2006 19:40
Location: СНГ->USA

Re: Node.js

Post by Sierra2k »

Roy wrote: 29 Oct 2017 19:10 Что-то в последнее время все чаще сталкиваюсь с node.js и сопутствующими технологиями.

Что скажут знающие люди - Node.js набирает обороты или это очередной пузырь?
Стоит ли подучить Node или это пустая трата времени? Какие frameworks перспективны?

Спасиба!
Вместе с Node.JS стоит учить JavaScript ES2016 + React.js/Angular. А так да, заметил что node.js пробивается даже в government sector.
Mmodel
Уже с Приветом
Posts: 8193
Joined: 27 Mar 2016 23:56

Re: Node.js

Post by Mmodel »

А чем кстати node хуже java, ruby, python?
Вот недавно с одним спецом зошли в тупик, node ничем нехуже python, я думал всё время что для AI python лучше потомучто он declarative
Окозалось в python даже нет lambda
Stantmn
Уже с Приветом
Posts: 150
Joined: 07 Apr 2014 17:40
Location: Westlake Village, CA

Re: Node.js

Post by Stantmn »

на самом деле мало node.js на рынке, намного меньше чем java и .net
чистых фронтендеров больше хотят
User avatar
SUPER
Уже с Приветом
Posts: 604
Joined: 23 Jun 2016 19:49
Location: SFBA

Re: Node.js

Post by SUPER »

Stantmn wrote: 12 Dec 2017 18:40 на самом деле мало node.js на рынке, намного меньше чем java и .net
чистых фронтендеров больше хотят
Хотят React or Angular 2? У меня на работе нет возможности с ними заниматься. А вот с jQuery можно. Стоит ли мне углублять знание jQuery? А что насчёт PHP?
User avatar
fruit6
Уже с Приветом
Posts: 4205
Joined: 10 Jan 2004 01:22
Location: n-sk -> MD -> VA

Re: Node.js

Post by fruit6 »

PHP IS HOT! HOTTER than even COBOL!
User avatar
SUPER
Уже с Приветом
Posts: 604
Joined: 23 Jun 2016 19:49
Location: SFBA

Re: Node.js

Post by SUPER »

Ок задам вопрос по другому.. Чо лучше: углублять старые знания или гнаться за новинками? Вот видите Node.js не очень нужен на рынке
Mmodel
Уже с Приветом
Posts: 8193
Joined: 27 Mar 2016 23:56

Re: Node.js

Post by Mmodel »

на рынке больше нужен python нежели Node.js
дело в том что наварится кроме как с ML несчего,
а python по синтаксису даже хуже node, но он дешевле на серверах получается
Mmodel
Уже с Приветом
Posts: 8193
Joined: 27 Mar 2016 23:56

Re: Node.js

Post by Mmodel »

SUPER wrote: 12 Dec 2017 19:31
Stantmn wrote: 12 Dec 2017 18:40 на самом деле мало node.js на рынке, намного меньше чем java и .net
чистых фронтендеров больше хотят
Хотят React or Angular 2? У меня на работе нет возможности с ними заниматься. А вот с jQuery можно. Стоит ли мне углублять знание jQuery? А что насчёт PHP?
Angular2 и 4+ муть хорошая, главным образом используется в компаниях где много индусов потомучто это typescript, а он как java, а индусы все сидят на java
С Angular1 немного имеет общего
User avatar
valchkou
Уже с Приветом
Posts: 4185
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: Node.js

Post by valchkou »

Roy wrote: 29 Oct 2017 19:10 Что-то в последнее время все чаще сталкиваюсь с node.js и сопутствующими технологиями.

Что скажут знающие люди - Node.js набирает обороты или это очередной пузырь?
Стоит ли подучить Node или это пустая трата времени? Какие frameworks перспективны?

Спасиба!
из личного опыта.
есть у нас большой проект на ноде, все было замечательно пока клиенты не подросли и не понадобилось распараллеливать запросы и обрабатывать гигабайты данных. Как некий прокси для json нода видимо хорошее решение.

Но все же близко не стоит с тем что можно сделать на спринг-бут(java) и тем более когда к апе нужно прикрутить что то из современного мира типа MQ, kaffka, storm, spark, cassandra или еще какую нить бигдатую фитчу. Ущербность нод платформы особенно становится заметной, когда начинаешь строить микросервис инфраструктуру под сервисы. Под ноду мало чего сделано из коробочки, в отличие от огромного количества бесплатных фреймворков и приложение под спринг. Питон тут становится в ряд с нодой.
А если брать Java9/spring-boot2, то ноде будет вообще нечего предложить акромя языка.
Короче нода популярность уже набрала, подучить не помешает наверное.
Но я лично для себя не вижу как её можно монетизировать в сравненни с java/distributed systems/bigdata
Stantmn
Уже с Приветом
Posts: 150
Joined: 07 Apr 2014 17:40
Location: Westlake Village, CA

Re: Node.js

Post by Stantmn »

у меня как раз node.js и angular и вот 80% всех вакансий приходит по чисто фронту - angular или React.
10% node.js и 10% PHP + Angular. Но это в ЛА, может в других регионах по другому.
XAOC
Уже с Приветом
Posts: 1650
Joined: 26 Jan 2006 20:42

Re: Node.js

Post by XAOC »

А мы в DC area уже много месяцев не можем найти хороших nodejs/reactjs пограмистов. Все они на вест косте обитают. Если есть кто на примете, свисните в приват.


Sent from my iPhone using Tapatalk
Бубновый Валет
Уже с Приветом
Posts: 489
Joined: 01 Nov 2017 21:42

Re: Node.js

Post by Бубновый Валет »

Node.js бывает разный. Бывает фронтэнд - там думать особо не надо. Среда исполнения - твой браузер. Что ты там нагородишь - будет запущено все равно в одном процессе. Обычно логика страницы не важна. Reactjs в общем-то довольно простой инструмент.

А бывает бэкэнд. Это уже совершенно другая история. Когда тебе нужно приложение, которое должно обрабатывать большое кол-во запросов в секунду (или хотя бы не тормозить), то задача ИМХО усложняется. И усложняет это дело асинхронная природа JavaScript'а. Вот этот callback hell сначала заменили на promises, потом на async/await. Но асинхронным он все равно остался. Пройти обычным циклом и выполнить асинхронную операцию над всеми элементами - даже на такой простой задаче могут быть свои косяки. А дебажить это еще то удовольствие.

В свое время пожалел, что выбрал Node.js для backend'a вместо более простого (как оказалось) и понятного golang.
Mmodel
Уже с Приветом
Posts: 8193
Joined: 27 Mar 2016 23:56

Re: Node.js

Post by Mmodel »

Бубновый Валет wrote: 13 Dec 2017 07:35 А бывает бэкэнд. Это уже совершенно другая история. Когда тебе нужно приложение, которое должно обрабатывать большое кол-во запросов в секунду (или хотя бы не тормозить), то задача ИМХО усложняется. И усложняет это дело асинхронная природа JavaScript'а. Вот этот callback hell сначала заменили на promises, потом на async/await. Но асинхронным он все равно остался. Пройти обычным циклом и выполнить асинхронную операцию над всеми элементами - даже на такой простой задаче могут быть свои косяки. А дебажить это еще то удовольствие.
У node.js ведь есть virtual thread pool?
Ещё есть async.js, то там хоть делай ватерфолом хоть паралельно.

Всёже таинственной эта технология оставалась и остаётся

Мне покрайне мере видно что в nodejs часто суют палки в колёса в разные версии
Stantmn
Уже с Приветом
Posts: 150
Joined: 07 Apr 2014 17:40
Location: Westlake Village, CA

Re: Node.js

Post by Stantmn »

Бубновый Валет wrote: 13 Dec 2017 07:35 И усложняет это дело асинхронная природа JavaScript'а. Вот этот callback hell сначала заменили на promises, потом на async/await. Но асинхронным он все равно остался. Пройти обычным циклом и выполнить асинхронную операцию над всеми элементами - даже на такой простой задаче могут быть свои косяки. А дебажить это еще то удовольствие.
на node.js и express легко и быстро строить простые rest сервисы, коими и яаляется 95% всех приложений. а асинхронность как раз в большинстве случаев это плюс к производительнсоти приложения в целом. хотя бывают проблемы, согласен :-)
Зато писать легко и быстро и на одном языке :good:
NPE
Новичок
Posts: 21
Joined: 22 Sep 2015 07:09

Re: Node.js

Post by NPE »

Бубновый Валет wrote: 13 Dec 2017 07:35Что ты там нагородишь - будет запущено все равно в одном процессе.
В ноде тоже JS однопроцессорный если что. Но есть к примеру Napa.js райтайм https://github.com/Microsoft/napajs. Как раз если нагородишь говно на UI, то пользователи это в первую очередь почувствуют, хотя не для всех проектов пользователи являются приоритетом (где-то просто распилить бюджет нужно). В наше время во фронтенде как раз думать нужно, и очень следить за трендами. Теперь ведь стейт на сервере не хранят, а все на клиентской стороне, там и логики и кода уйма в наше время.
Бубновый Валет wrote: 13 Dec 2017 07:35И усложняет это дело асинхронная природа JavaScript'а. Вот этот callback hell сначала заменили на promises, потом на async/await. Но асинхронным он все равно остался. Пройти обычным циклом и выполнить асинхронную операцию над всеми элементами - даже на такой простой задаче могут быть свои косяки. А дебажить это еще то удовольствие.
Используйте async/await, там код дебажить не сложно, TypeScript например генерирует вполне нормальный код на выходе. TypeScript никто не отменял (как для UI, так и для ноды), очень помогает держать в голове меньше скриптового хлама (тк там не просто код пишешь, но и контрибутишь в структуру кода).
User avatar
valchkou
Уже с Приветом
Posts: 4185
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: Node.js

Post by valchkou »

NPE wrote: 13 Dec 2017 18:39 тк там не просто код пишешь, но и контрибутишь в структуру кода.
а можно немного по подробнее что означает "контрибутишь в структуру кода"
если можно на маленьком примере кода
спасибо
Mmodel
Уже с Приветом
Posts: 8193
Joined: 27 Mar 2016 23:56

Re: Node.js

Post by Mmodel »

Сам Node многопроцессорный, а у front-end допустим у mozilla есть workers
NPE
Новичок
Posts: 21
Joined: 22 Sep 2015 07:09

Re: Node.js

Post by NPE »

Mmodel wrote: 13 Dec 2017 19:43 Сам Node многопроцессорный, а у front-end допустим у mozilla есть workers
Я имел ввиду однопоточный конечно-же, поэтому то и возимся с асинхронностью. Web Workers это часть стандарта, завезено не только у мозиллы.
valchkou wrote: 13 Dec 2017 19:16
NPE wrote: 13 Dec 2017 18:39 тк там не просто код пишешь, но и контрибутишь в структуру кода.
а можно немного по подробнее что означает "контрибутишь в структуру кода"
если можно на маленьком примере кода
спасибо
Это когда медленнее запрягаешь, то потом прямее едешь. То есть это не просто написание скриптового кода, но также работа над структурой кода (есть интерфейсы, типы, mapped типы, ожидается inference тип результата выполнения функции - во flow оно уже вроде есть), включая типизацию всего что возможно (пока не все возможно что хочется, но TypeScript активно развивается, здесь с типизацией все посложнее чем допустим в жаве, тк TS работает поверх скриптина который дает очень много сводобы изначально), работу над сигнатурами методов/функций и тд. Это полезно по крайней мере для long-term проектов. Ну и в целом в голове меньше держать нужно, как в случае чистого JS, когда все сначала нужно загрузить в голову для анализа допустим при более-менее комплексном рефакторинге, тогда как в случае TS структура кода выражена в самом коде, то есть это уже не просто скриптинг, и если чего поломаешь, то код просто не скомпилируется. Примеры кода можно найти в любом TS проекте на гитхабе (там правда не всегда достаточно плотно все типизировано, кто на что горазд) или в официальной доке, суть в том что типизируется все что возвожно, чтобы компилятор помогал замечать потенциальные проблемы с кодом по максимуму на ранней стадии, а не только в рантайме (самый просто пример - ты просто не можешь вызвать определенную функцию с неверным параметрами). Ну очевидно также получаем нормальный автокомплит, понятно что он уже работает не на уровне давайте попытаемся угадать какие у нас здесь методы просто делая парсинг текстовых файлов (а например полные сигнатуры методов угадать не получится) - очень полезно например для библиотек - в доку или исходники можно и не смотреть как в случае чистого JS кода как правило сразу не очевидно какие там методы доступны в коде, какие параметры они ожидают и тд. Также получаем гарантированно точно работающий авторефакторинг, и прочие плюшки связанные со строгой типизацией. Есть разные опции компилирования, напрмер флаг strictNullChecks помогает недопускать NPE (точнее undefined в случае JS) особенно в случае команды с разного уровня народом в ней, обычно предпочитаю включать все в стрикт режим (есть уже группирущий флаг strict). В сети много статей по поводу мотивирования решения использовать TS, можно гуглануть по кивордам типа "why we moved to / chose typescript".
Mmodel
Уже с Приветом
Posts: 8193
Joined: 27 Mar 2016 23:56

Re: Node.js

Post by Mmodel »

del
User avatar
valchkou
Уже с Приветом
Posts: 4185
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: Node.js

Post by valchkou »

NPE wrote: 13 Dec 2017 21:01 Это когда медленнее запрягаешь, то потом прямее едешь.
из вас получится отличный преселз консалтер.
Я вас кусочек кода попросил а вместо этого получил рекламную статью с маркетинговыми лозунгами :D
идея понятна, запрягать придется на протяжении всего пути, а если это делать на приличной скорости,
чтобы все таки успеть в пункт назначения, то процесс превращается в смертельный цирковой трюк,
который может исполнить только самый достойный джигит
Mmodel
Уже с Приветом
Posts: 8193
Joined: 27 Mar 2016 23:56

Re: Node.js

Post by Mmodel »

напрмер флаг strictNullChecks помогает недопускать NPE (точнее undefined в случае JS)
что там с этим undefined и null? Они мне мусолят, мусолят на интервью, и я в этоге так и непонял зачем такой разговор о такой фигне так актуален с этим TypeScript
NPE
Новичок
Posts: 21
Joined: 22 Sep 2015 07:09

Re: Node.js

Post by NPE »

valchkou wrote: 13 Dec 2017 21:36
NPE wrote: 13 Dec 2017 21:01 Это когда медленнее запрягаешь, то потом прямее едешь.
из вас получится отличный преселз консалтер.
Я вас кусочек кода попросил а вместо этого получил рекламную статью с маркетинговыми лозунгами :D
идея понятна, запрягать придется на протяжении всего пути, а если это делать на приличной скорости,
чтобы все таки успеть в пункт назначения, то процесс превращается в смертельный цирковой трюк,
который может исполнить только самый достойный джигит
Уверен вы понимаете, что подобрать лаконичный "кусочек" когда, который отразил бы в полной мере большую часть предмета довольно трудоемкая задача, я не готов повестить на подобные провокации. Если вам доводилось работать с большой JS кодовой базой, то полагаю именно в цирковых трюках у вас опыт имеется, TypeScript же помогает уменьшать необходимость вытворять трюки и делать сроки более предсказуемыми ввиду более строгой структуры кода.
Mmodel wrote: 13 Dec 2017 22:07
напрмер флаг strictNullChecks помогает недопускать NPE (точнее undefined в случае JS)
что там с этим undefined и null? Они мне мусолят, мусолят на интервью, и я в этоге так и непонял зачем такой разговор о такой фигне так актуален с этим TypeScript
Ничего особенного, тупая прямая проверка на возможный undefined на уровне компилятора. Я бы не сказал что это супер актуально, просто один из небольших бонусов инструмента
Stantmn
Уже с Приветом
Posts: 150
Joined: 07 Apr 2014 17:40
Location: Westlake Village, CA

Re: Node.js

Post by Stantmn »

NPE так красиво пишет, в рекламщики надо идти :)
я бы так рассказывать умел на англицком, давно бы нашел новую работу на 150 тыщ :D

Return to “Работа и Карьера в IT”