Автономное приложение Node.js

Я рассматриваю возможность разработки настольного приложения, состоящего из двух частей:

  • пользовательский интерфейс (например, приложение Java)
  • сервер Node.js

2 части соединяются через сокеты. Не спрашивайте, почему я знаю, что это странно.

Я хочу иметь возможность предоставить клиентам приложение с установщиком. Я не хочу, чтобы пользователи сами устанавливали Node.js.

Есть ли способ установить сервер Node.js как автономный, т.е. не нужно устанавливать Node.js глобально в системе.

Это вопрос для любой (Windows, Linux, Mac OS X...) среды.

Ответ 1

Вы можете связать двоичные файлы с вашим приложением. Не нужно ничего устанавливать для запуска приложения Node. Бинарные файлы доступны на той же странице, что и установщики.

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

// To start the node process
$ /path/to/binaries/npm install
$ /path/to/binaries/node myApp.js

Ответ 2

Обновление 2017-05-04. И в городе появился новый ребенок:

Обновление 2016-11-14. В настоящее время Electron и nwjs кажутся лучшими.

Оригинал

Для создания установщика необходимо выполнить несколько шагов, и это зависит от каждой операционной системы. Например:

Ответ 3

Node-Webkit - это вариант, но он действительно не настроен для отношения типа "сервер-клиент".

Другой вариант - упаковка установщиков node.js с установщиком приложения. Затем при загрузке приложения вы можете запустить процесс node.js. Я знаю, что некоторые разработчики делают это с титаном, вот немного больше информации информация.

Надеюсь, это поможет!

Ответ 4

Здесь опция: Light Table - это приложение node, но прекрасно устанавливается и полностью интегрирует GUI (webkit) на большинстве ОС.

Для этого используется node-webkit. (Выполняет node код прямо со страницы html.) Вот документация .

Ответ 5

Стоит упомянуть Electron, сделанный GitHub. Используется для создания кода Atom, Slack, Visual Studio и т.д.

Ответ 6

Я просто наткнулся на nexe - инструмент, который "создает один исполняемый файл из вашего приложения node.js".

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

Ответ 8

Electron - один из лучших и простых способов, которые я нашел для разработки кросс-платформенных настольных приложений с JavaScript, HTML и CSS.