Есть сервера, которые стоит написать именно на Java, а не на Node?
Из прочитанных статей я понял, что для REST серверов лучше Node не найти, но выходя за эти рамки, есть сервера, которые на Node сильно уступают серверам, написанным на Java?
Например стриминговый сервер или сервер для чата, он же относится к разряду типичных запрос/ответ и так же на Node будет эффективней?
Если выбирать Java для веба, то в чем она лучшая там?
При прочих равных (грубо равных) выбирают Node, так как порог входа очень низкий, что очень удобно для тех же фронтендеров.
Если же посмотреть вакансии Java, можно обнаружить сплошные highload системы, микросервисные архитектуры и т.д. Игрушечные стартапы и проекты можно на NodeJS писать, однако enterprise только Java. При этом небольшие проекты на Java тоже легко пишутся с помощью экосистемы spring, просто фронтендеры стоят дешевле.
Закидают меня тряпками, но Java будет лучше во всем, но все ещё недостаточно хороша. Для сервер сайд посмотрите на .net, go, rust. Если вам нужно примитивные рест апи сделать, то нода отлично сработает, есть и фреймворки неплохие. Но для чего-то серьёзного по ресурсам не стоит выбирать ноду, имхо
На ноде можно выполнять тяжёлые задачи, передав задачу либо другим потоками либо выполняя задачу асинхроно:
let i = 0;
let start = Date.now();
function count() {
// делаем часть тяжёлой работы (*)
do {
i++;
} while (i % 1e6 != 0);
if (i == 1e9) {
alert("Done in " + (Date.now() - start) + 'ms');
} else {
setTimeout(count); // планируем новый вызов (**)
}
}
count();
Бектур Муратов, писать асинхронно можно почти на чём угодно. И скорее всего, без применения дополнительных библиотек.
Я бы писал на том, на чём привык в любом случае, когда не спускают язык в задании сверху.
Например, недавно ВЕБ-сервис приказали писать на Kotlin, т.к. он перспективный и для Смартфонов получше. Пришлось подучить и написать, вместо Java. Получилось в коде короче плюс асинхронность весьма удобная, но - дольше.
И никакой разницы снаружи. Плюс строка в резюме, которая мне уже не нужна.