По этой теме много вопросов, но они, похоже, не различают исполняемые файлы для настольных или серверных приложений. Я полагаю, мой первый вопрос будет: в чем разница? Например, Zeit/pkg говорит, что это «бинарный компилятор node.js», тогда как nwjs (ранее node-webkit) говорит, что это «среда выполнения приложений, основанная на Chromium и node.js».
Я попробовал zeit/pkg, и он отлично работает, но читал, что могут быть проблемы с производительностью если он не настроен должным образом. Я хотел убедиться, что выбираю правильный инструмент, и наткнулся на nwjs. Похоже, что он делает то же самое, что и pkg, но у него больше поклонников, а также больше документации и надежный API. Могу ли я использовать nwjs в качестве исполняемого файла на стороне сервера (т. е. без использования функции рабочего стола) так же, как я использовал бы pkg?
В этом ответе говорится, что nwjs "является вариантом, но на самом деле он не настроен для выполнения типа "сервер-клиент". отношения», но затем в комментарии говорится: «Вы можете запустить сервер из node-webkit точно так же, как вы запускаете его в Node.js. Просто node-webkit предоставляет другой путь, выходящий за рамки архитектуры B/S».
Итак, является ли nwjs таким же, как pkg, или принципиально другим?
Я понимаю, что есть также Electron, в котором говорится «создавать кроссплатформенные настольные приложения» и он похож на nwjs. Я не пытаюсь вступать в дебаты об Electron и nwjs, а скорее о настольных компьютерах и серверах, если есть разница.