Подтвердить что ты не робот

Существует ли отдельный модуль gui для приложения node

Я хочу создать редактор кода в nodejs. Существует опция, например, использование экспресс-сервера для отображения редактора и выполнения кода в бэкэнд. Но для этого потребуется браузер. Поэтому я ищу модули node, которые могут предоставить автономный gui для платформы Windows.

4b9b3361

Ответ 1

Есть несколько вариантов, в зависимости от того, как вы хотите продолжить.

Вариант 1:

Используйте что-то вроде привязок QT или GTK, чтобы сделать более традиционное приложение с графическим интерфейсом. Эти параметры, как правило, представляют собой просто привязки узлов к API C/C++, предоставляемые GTK и QT. Смотрите node-qt и yue. Хотя, похоже, они не очень активно развиваются.

Обновление:

Вы можете взглянуть на NodeGUI: https://github.com/nodegui/nodegui

NodeGUI - это библиотека javascript для создания кросс-платформенных приложений для настольных компьютеров с использованием стилей JavaScript и CSS. Он использует Qt под капотом и работает на Mac, Linux и Windows.

Он также имеет рендерер на основе реагирования под названием React NodeGUI, который похож на React Native, но для настольных компьютеров: https://github.com/nodegui/react-nodegui

Вариант 2:

Используйте платформу, которая принимает HTML, CSS и Javascript и объединяет их в отдельное приложение HTML5. Есть множество каркасных разработок, которые делают это. Примеры включают в себя node-webkit и AppJS и многие другие.

Ответ 2

Я рекомендую использовать HTML/JS/CSS Framework

Вариант № 1: Электрон от GitHub.
Сайт | GitHub Repo | Релизы

Это проще, чем вы думаете

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

Вариант №2: NW.js (ранее известный как node-webkit).
Сайт | GitHub Repo | Релизы

Вызовите все модули Node.js напрямую из DOM/WebWorker и включите новый способ написания приложений со всеми веб-технологиями.

Electron и NWJS Pros:

  • AppJS официально объявлен устаревшим

  • Electron похож на NW.js, но более новый, более популярный, с большим сообществом и более частыми обновлениями. Я рекомендую его.

  • NWJS всегда использует последние версии Chromium и Node, в то время как Electron требует больше времени, чтобы наверстать упущенное.

  • NWJS поддерживает [Защита исходного кода JavaScript] [1], компилируя его в собственный код V8. Электрон не делает.

  • У NWJS есть версия Legacy для поддержки Windows XP и Mac OS X 10.6.

  • Electron и NWJS используют лицензию MIT.

Вы можете сравнить вклады в электрон с NW.js


Электрон и NWJS Минусы:

  • в настоящее время не существует готового решения, поэтому вам придется отправить его с вашим кодом (~ 50 МБ сжатых и +100MB несжатых) или найти способ обойти это.
  • в зависимости от вашего приложения Electron/NWJS может показаться излишним, особенно если учесть, что время его запуска не является идеальным, и это просто необходимо учитывать.
  • без родного внешнего вида, вам придется создавать свои собственные элементы пользовательского интерфейса с помощью CSS или с помощью некоторого фреймворка.

Вариант № 3: DeskGap.
Сайт | GitHub Repo | Релизы

DeskGap - это фреймворк для создания кроссплатформенных настольных приложений с веб-технологии (JavaScript, HTML и CSS).

Чтобы включить встроенные возможности при сохранении размера, DeskGap связывает среду выполнения Node.js и оставляет рендеринг HTML веб-сайт операционной системы.

  • Легкий, поскольку веб-просмотр предоставляется операционной системой.

  • API все еще довольно ограничен (в значительной степени в стадии разработки).

  • Требуются новые версии ОС.

Ответ 3

Помимо других ответов здесь:

Вы можете взглянуть на NodeGUI: https://github.com/nodegui/nodegui

NodeGUI - это библиотека JavaScript для создания кроссплатформенного нативного настольные приложения с JavaScript и CSS, как стиль. Использует Qt под капотом и работает на Mac, Linux и Windows.

Он также имеет рендерер на основе реагирования под названием React NodeGUI, который похож на React Native, но для настольных компьютеров: https://github.com/nodegui/react-nodegui

Также его активно развивают.

Ответ 4

В последнее время также стоит посмотреть на Node-gir: https://github.com/Place1/node-gir

Позволяет использовать библиотеки на основе Gnome/Glib/Gobject от Nodejs. Позволит вам использовать GTK+.

Ответ 5

Я недавно обнаружил https://github.com/yue/yue, и у меня хороший опыт. Она легкая, имеет низкую поддержку упаковки (и даже реагирует/поддерживает JSX) и является по-настоящему родной, с приличным веб-обзором, портативной и простой в построении целевой платформы.

Несмотря на то, что проект, кажется, прекращен, я обнаружил, что этот проект уникален, но он действительно имеет опции для добавления веб-просмотра спуска. Я забрал несколько PR и разложил их, и я добавляю типы TypeScript и документацию, поскольку это действительно чистый/понятный API, простой для создания файлов целевой платформы. это моя вилка, хотя я хотел бы/ищу других пользователей, добавляющих недостающие части: https://github.com/cancerberoSgx/node-gui. Недостатки в том, что он реализует цикл событий node.js, поэтому вы должны использовать yode (fork.js fork), чтобы обещания и асинхронный код хорошо работали с кодом GUI. M

Интересно, есть ли у других опыт работы с этой библиотекой или вилками?

Ответ 6

Ответ на ваш вопрос может быть NodeGui (работает на Qt5, NodeGui-React)

Есть много других вариантов. Я перечисляю несколько вариантов ниже,

  • электрон (Позволяет вам писать кросс-платформенные настольные приложения, используя JavaScript, HTML и CSS, основанные на Node.js & Хром)
  • carlo (Требуется, чтобы в системе был установлен узел & Google Chrome, чтобы бежать)
  • NW.js (аналогичен электронному, обеспечивает защиту исходного кода)
  • DeskGap (связывает среду выполнения Node.js и оставляет HTML-рендеринг веб-браузер операционной системы)
  • Proton Native (делает то же самое для рабочего стола, что и React Native для на основе https://github.com/parro-it/libui-node)

Более того, вы можете использовать мое github repo electronic-alternatives, чтобы выбрать кроссплатформенный вариант разработки рабочего стола.