Где вы используете Node.js?

Начал интересоваться Node.js уже достаточно давно. Сегодня написал пост, о том с чего начать изучать эту технологию (кому интересно — thinking.bohdanvorona.name/to-learn-node-js) и вот за одно решил спросить у сообщества. Так сказать «провести опрос».

В каких проектах и зачем вы используете Node.js? Как давно известны с этой технологией? Довольны ли использованием?

👍НравитсяПонравилось0
В избранноеВ избранном0
LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

товариш працює над веб файл менеджером, в основі node.js
cloudcmd.io

платежный процессинг + обвязка, полет нормальный

Использую как Publish/subscribe сервер для мультиплеера ( github.com/...torment/NoobHub )

Использовали как рабочую среду при блиде SPA приложений(отпимизация, минификация, упаковка). Как полноценную замену стека бекенд технологий не расмматривали, здесь платформы и языки с развитой системой типов и многопоточностью вне конкурнеции по многим причинам.

После неудачного опыта с RavenDB, следующий проект реализуем на MEAN стеке. Веб сайт и мобильное приложение для родительских организаций США. Пока в середине пути, но код, выражаясь образно, отлетает от пальцев -)
PS Второй проект, где клиент полностью на Angular: все, что захотел, просто берется и делается.

Использую 2 года как основную серверную платформу для всех проектов, по опыту скажу, что если хорошо выбирать модули и не тянуть в проект что-попало, то все отлично.

Используем несколько лет уже в продакшине — в основном, веб-сокеты и разная обработка данных (взять отсюда, обработать, переформатировать, положить туда).

На node.js не пишу, хотя знаком давно с этой технологией и интересуюсь современным JS. Но! Пишу на Erland и поэтому node.js в этом контексте хорош как мотиватор. Вот такой юз кейс. Если хочется что-то на коленке смастерить, то беру обычный Perl. Там более чем годные инструменты, тот же websocket или даже server sent events и прочая асинхронщина.

Использую Node в разных компаниях (в основном продуктовых и RnD) последние 3-4 года. Полет нормальный. Насколько я понимаю, в аутсорсе часто технологический стек диктует заказчик, поэтому темпы роста использования Node.js там пониже.

Обычно разговор идет не «где используем Node.js», а «нужно ли нам использовать Не Node.js». Т.е. Node идет как технология по умолчанию для решения задач. Но если задача специфическая, то берем что-то другое.

Плюсы Node.js:
— JavaScript
— низкий порог вхождения. API компактный и более-менее консистентный, модули маленькие и легкие в изучении, развертывание простое для большинства DevOps (просто процессы, слушающие соккет — проще быть не может).
— активное сообщество
— легкий поиск кандидатов. Скажем, найти питон-разработчика может быть и проще, чем человека с опытом Node, но питониста еще нужно убедить прийти к нам, «продать» ему вакансию и проект. А Node оказывается таким козырем, тк желающих на нем программировать достаточно много, а проектов еще не на столько много, чтобы сильно привередничать. Плюс, принцип «JavaScript знают все» действительно работает.
— быстрый цикл разработки. Процесс быстро стартует, тесты быстро пробегаются, динамическая типизация позволяет быстрее писать API-провайдеры и API-клиенты, чем на той же Java или .NET.

Недостатки:
— JavaScript
— легко наг0внокодить
— если есть сложные проблемы с производительностью и потреблением памяти, то инструментарий для их решения либо неудобен, либо находится в зачаточном состоянии
— часто инженерная культура разработчиков на Node хромает по сравнению с теми, кто выбрал ту же Java и Scala.

Обычно на ноде пишут интеграционные сервисы, API-сервера (http и realtime), небольшие утилиты (дашборды, админские штучки, внутренние инструменты). Что-то большое и разухабистое на нем писать смысла нет — кодовая база будет хиреть быстрее, чем бы вам хотелось, а времени тратить на рефакторинг не всегда удобно. Скажем, если у вас система с SQL-хранилищем, rest-сервисами и большим количеством сущностей, то гораздо быстрее и проще сделать это на Ruby on Rails. А если у вас чисто контентный сайт, то гораздо проще взять CMS какую-нибудь.

Спасибо за столь развёрнутый ответ!

админские штучки, кстати, предпочитаю писать на питоне (при том что проекты на ноде) — у ноды часто вылазят бока там, где ее редко используют, например большой файл открыть (сразу).

Я тоже предпочитаю использовать python. Можно узнать примеры таких админских штучек, которые пишутся на ноде?

Сборка для фронтенда и CI решения. Вообще, благодаря ноде, фронтендщики ворвались на сервера ))) Хорошо это или плохо, это уже другой вопрос

В основном как дополнительный модуль к общей системе, выполняющий роль сервера сообщений (чат, статусы и любая подобная инфа в режиме реального времени) и изредка таск-менеджера.

Подписаться на комментарии