Пакет приложения Node.js в качестве приложения osx

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

Теперь я думаю, что могу создать его как приложение HTML5/CSS3/JS с помощью express и т.д., а затем хотел бы упаковать его в качестве родного приложения osx. Смысл, приложение, которое я могу просто отправить им, они дважды кликают и запускают, но запускают браузер Chrome и переходят на сервер localhost: port, который попадает в script, или просто запускает сервер и инструктирует пользователя перейти к url. В любом случае это нормально.

Я делаю это, потому что мне нужен доступ к локальной системе, чтобы иметь возможность настраивать некоторые вещи и взаимодействовать с любым количеством работающих (безгласных виртуальных машин). Поэтому я не могу просто обслуживать это с сервера и приглашать их на сайт.

Любые идеи?

Спасибо,

Луис

Ответ 1

Вариант 1: электрон (он же атом-оболочка)

Это оболочка, которую использует редактор github Atom. Он очень похож на node-webkit, хотя сначала он запустит скрипт, и вам нужно создать представление/окно для пользователя. Есть и другие незначительные отличия, но на это стоит обратить внимание.


Вариант 2: NW.js, ранее нод-webkit

Суть в том, что он в основном расширяет механизм JS, чтобы вы могли написать веб-приложение, поддерживающее расширенную объектную модель узлов и модули... затем вы упаковываете свои модули package.json start.html и файлы js в zip (с расширение .nw) и запустите его с помощью nw (.exe). Доступны сборки Windows, Mac и Linux.


Вариант 3: оболочка Carlo chrom (ium) от Node.

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


Вариант 4: MacGapNode (только OSX)

MacGap с Node-интеграцией (кажется устаревшим)


В сторону: Услуги...

Я не могу говорить об OSX на этом языке как .App, но вполне возможно создать фоновую службу установки в NodeJS и ссылку на "локальный" сайт на рабочем столе. В большинстве браузеров есть возможность не отображать все функции (я знаю, что Firefox, в частности, показывает).

Я знаю, что ваш вопрос касается, в частности, OSX, но в Windows вы можете использовать NSSM для запуска чего-либо как службы, и я использовал его для служб на базе NodeJS в Windows. Я думаю, что некоторые из вышеперечисленных вариантов лучше, в зависимости от ваших потребностей.


Удалены:

  • nexe - несвежий/необслуживаемый
  • AppJS - заменен на DeskShell
  • DeskShell - устаревший, сайт не работает
  • узел-webkit -renamed для NW.js
  • Проект XULRunner застопорился и сильно отстал.
  • Тяга (Node Adapter) - устарела/устарела

Этот ответ скопирован для нескольких вопросов, эти ссылки в основном для удобства обновления.

Ответ 3

Посмотрите AppJS: http://appjs.com/ - "Создавайте настольные приложения для Linux, Windows и Mac с помощью HTML, CSS и Javascript"

Звучит неплохо:)

Ответ 5

Если вы скомпилируете node.js из исходного кода, каждый файл JavaScript из узла lib будет включен в двоичный файл. Точно так же можно упаковать ваш код в двоичный файл.

Я не знаю, как создаются пакеты Mac OSX, но в конце концов это не похоже на очень сложно. Просто упакуйте свой собственный node двоичный файл в один.