← Ко всем open source проектам

NW.js

nwjs/nw.js

NW.js — среда для настольных приложений на HTML, CSS и JavaScript с доступом к Node.js.

Форки 3,850
Автор nwjs
Язык JavaScript
Лицензия MIT
Обновлено 2026-06-27

Что это такое

NW.js — среда выполнения для настольных приложений, основанная на Chromium и Node.js. Проект раньше назывался node-webkit, а затем получил нынешнее имя.

Его идея проста: если команда уже умеет писать интерфейсы на HTML, CSS и JavaScript, она может использовать эти знания для настольного приложения. При этом код интерфейса получает прямой доступ к возможностям Node.js.

Проект появился в Intel Open Source Technology Center и стал одним из ранних практических путей для переноса веб-технологий на рабочий стол.

Что внутри

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

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

В отличие от обычного сайта, приложение NW.js распространяется как настольная программа. Пользователь запускает окно, а внутри работает знакомая веб-модель.

Как используют

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

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

Ограничение в том, что гибкость Node.js требует дисциплины. Чем больше локальных прав получает приложение, тем внимательнее нужно относиться к обновлениям, проверке входных данных и упаковке.

Минимальный манифест

Пример показывает входную точку приложения: NW.js читает манифест, открывает HTML-файл и понимает, как назвать окно.

Сильные стороны и ограничения

Сильная сторона NW.js — прямой мост между веб-интерфейсом и локальными возможностями Node.js. Это делает его удобным для утилит, где окно должно управлять файлами, процессами или локальными данными.

Плата за это — размер приложения и необходимость следить за версиями Chromium и Node.js. Даже простая программа получает тяжелую среду выполнения, а обновления безопасности нельзя игнорировать.

NW.js подойдет командам с веб-опытом, которым нужен настольный продукт. Если приложение должно быть максимально легким, системно-нативным и тесно встроенным в конкретную ОС, стоит сравнить его с нативными вариантами.

Пример

Манифест приложения

Так выглядит минимальная настройка: имя, главный HTML-файл и параметры окна.

Язык: JSON
{
  "name": "local-tool",
  "main": "index.html",
  "window": {
    "title": "Local Tool",
    "width": 960,
    "height": 640
  }
}