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