Если я правильно понял Wiki, то он дает возможность использовать JavaScript на стороне сервера.
Однако, в виду своего малого опыта я не могу представить задачи, которые можно было решать только лишь его средствами.
Подскажите, под какие задачи обычно используется NodeJs или это какая-то узконаправленная штука?
Используют ли его в ASP.NET MVC?
JavaScript это язык, NodeJS выступает в роли интерпретатора, расширяя возможности языка.
Вот пример http сервера:
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send('Hello World!');
});
app.listen(3000, function () {
console.log('Example app listening on port 3000!');
});
node.js - это платформа для написания полноценных консольных и сетевых утилит
В качестве компилятора и виртуальной машины js в ней выступает v8 (тот же, что и в браузере chrome)
Сама платформа предоставляет api для работы с операционной системой, файловой системой и сетью, а так же для управления v8 и binding'а c++ расширений
Основное использование - серверные приложения и консольные утилиты
С фреймворком electron.js (binding chromium в node + api для работы с GUI os) можно так же строить десктопные приложения на web стеке
Я раскажу про себя, я выбрал nodejs, потому что я могу писать небольшие программы и для винды и для линукса и если надо, то могу и какой-нибудь веб сервис сделать.
Я например написал программу для бэкапа докера, для мониторинга докера через icinga2 или сделал вебгуи для apache derby.
Всё пишется более или менее быстро и есть куча модулей.
Еще как используется. Начиная от пакетного менеджера(nmp), сборки проекта(webpack например) до вызовов приложений NodeJS из ASP.Net (в ASP.Net Core точно реализовано) и серверного пререндинга SPA приложений.