Будь-який існуючий веб-додаток підходить для того, щоб стати таким. Його можна створити на основі коду, який виграє від інтеграції в систему користувача, починаючи з повідомлень при запуску і закінчуючи взаємодією з файлами і іншими потрібними програмами. Деякі просто воліють мати певні програми постійно на своїй машині, доступні незалежно від того, є у них з’єднання чи ні.
Легко створювати потужні настільні утиліти з використанням веб-технологій, наприклад, з NW.js.Такі програми існують вже давно. У Шанхаї в 2011 році Роджер Ванг з Центру технологій відкритого вихідного коду Intel написав node-webkit – модуль для перевірки концепції, який дозволяє користувачеві створювати вікно браузера і Node.
Після деякого прогресу і переходу від WebKit і Chromium, з відкритим вихідним кодом, на якому заснований Google Chrome, до проекту приєднався Чен Чжао. Разом вони створили середовище виконання додатків на Node і Chromium. Проект node-webkit став досить популярним і пізніше був перейменований в NW.js.
Завантажуючи його, користувач насправді запускає Chromium плюс Node.js, а також сам код додатка. Це не тільки означає, що для настільного комп’ютера може бути створене з використанням HTML, CSS і JavaScript, але воно також буде мати доступ до всіх API-інтерфейсів Node, наприклад, для читання і запису на диск.
Обидва проекти побудовані на основі Chromium і Node, так що, можна писати настільні додатки, використовуючи його на системному рівні і веб-технології для рівня GUI.
У Electron є деякі переваги:
Більш популярний серед розробників.
Має кращу корпоративну підтримку. Github і Microsoft відстають від Electron, а NW.js спонсорується Intel.
Пропонує механізм автоматичного оновлення з коробки.
Процес його складання трохи простіше, тому що не потрібно об’єднувати весь Chromium.
Переваги NW.js:
Підтримка застарілих систем: Windows XP і більш старі версії Mac OS. Незважаючи на те, що Microsoft відмовилася від підтримки XP, але багато користувачів все ще використовують її, тому такий сервіс їм вкрай необхідний.
Головна запис програми може бути як HTML-сторінкою, так і файлом Node.js.
Він більше орієнтований на браузер.
Підхід до нього набагато простіше і зрозуміліше. Це дає користувачам багато варіантів.
Окремий і змішаний контексти.
Він має простий, але потужний механізм щодо контексту JavaScript, а “Електрон” має два окремих контексту основний і рендеринг, які повністю розділені.
Розширення Chrome і підтримка API Chrome. Більш того, можна запускати додатки і розширення “Хром” з допомогою NW.js. “Електрон” не може і не буде робити це.
Підтримує файли PDF “з коробки”, використовуючи власний плагін Chrome PDF.
Має інструмент захисту джерела. Це дозволяє скомпілювати JavaScript в байт-код V8.
Використовує останню версію Chromium
Можна використовувати без Dev Tools.
Підтримує ключі командного рядка Chromium. Для отримання додаткової інформації необхідно звернутися до NW.js документації. Ці перемикачі можуть бути використані для налаштування продуктивності.
Краща модель безпеки для настільних додатків. Така в Chrome (і веб-браузерах в цілому) трохи обмежена з-за характеру користувальницького відношення до веб-сайтам. NW.js надає іншу модель, яка дозволяє обійти обмеження безпеки, такі як, наприклад, пісочниця.