Как конвертировать веб-приложение в исполняемый файл на рабочем столе?

У меня есть сборка HTML-приложений с помощью AngularJS/jQuery/Bootstrap с API AJAX REST.
Возможно ли создать исполняемый файл/установщик для операционной системы Windows?

Без какого-либо стороннего программного обеспечения он должен выглядеть как собственное приложение, но HTML.
Например, Slack messenger имеет версии web/mac/windows, и они выглядят одинаково.

Любые идеи?

//UPD

Мне, вероятно, нужна оболочка (webview), но мне нужны все возможности для EcmaScript5/CSS3.

Ответы

Ответ 1

Электрон это самый простой способ:

1. Установить электрон

2. Создайте и отредактируйте main.js:

const electron = require('electron');
const { app, BrowserWindow } = electron;

let mainWindow;

app.on('ready', () => {
    mainWindow = new BrowserWindow({
        width: 1000,
        height: 700
    });

    mainWindow.setTitle('title of the desktop app');
    mainWindow.loadURL('http://www.yourwebpage.com');

    mainWindow.on('closed', () => {
        mainWindow = null;
    });
});

3. Запустите настольное приложение:

electron main.js

А чтобы создать приложение, используйте конструктор, такой как электронный строитель.

Надеюсь, что это поможет вам!

Ответ 2

Я сам некоторое время искал всестороннее решение. Я испробовал все, от TideSDK, AppJS, Appcelerator Titanium, нативного кода в VB.NET, XCode, Python, C++, Electron, node-webkit и т.д. В основном вы называете это, я пробовал.

Замечание Electron хорош, но работает только на 64-битных процессорах. Так что node-webkit хорош, если вы хотите запустить свое приложение на 32-битных процессорах.

Поэтому я решил создать свое собственное решение с открытым исходным кодом под названием WebDGap.

В настоящее время WebDGap работает на Windows, Linux, Mac OS X, Google Chrome и как веб-приложение!

Посмотрите How To Video, чтобы узнать, ну, как использовать приложение, очевидно.

Здесь скриншот. The WebDGap Application

Поскольку вы уже являетесь пользователем Mac, вы можете объединить экспортированное приложение в 1 файл .app mac. Это можно сделать с помощью Automator (и немного сценариев оболочки).

Я также создал игровую площадку для мобильных пользователей с встроенной функцией kodeWeave.

Вот игра Tic-Tac-Toe, которую я собираюсь экспортировать как приложение Mac: kodeWeave App

Теперь веб-приложение работает как собственное приложение Mac! Tic-Tac-Toe is now running as a Mac App

Ответ 4

Существует множество фреймворков, которые могут обернуть ваше веб-приложение в собственное приложение, которое может получить доступ к таким вещам, как API хранения файлов для операционной системы. Это конкретное руководство для Windows.

ОБНОВИТЬ МЫСЬ - вам нужно потратить время на тщательное тестирование и работу с QA для своего родного приложения, чтобы он не чувствовал себя как веб-сайт внутри родной оболочки, а также хорошо интегрируется со всеми версии ОС, с которыми вы хотите быть совместимыми. Tweetdeck для Mac - пример того, что не делать - в основном веб-браузер в нативной оболочке).

Ответ 5

Используйте Web2Desk: если вы ищете бесплатное и простое решение.

Convert webapp to desktop app using web2desk

при этом все, что вам нужно сделать, это ввести URL-адрес веб-приложения (или веб-сайта), и приложение Desktop для Mac, Windows и Linux будет сгенерировано в кратчайшие сроки.

Desktop App for Mac, Linux and Windows platforms

Ответ 6

Самый простой и быстрый способ, который я знаю, - это использовать библиотеку nativefier nodejs/npms, которая лежит в основе electronicjs. Это займет всего 5 минут, чтобы создать исполняемый файл для Windows. Даже человек, не имеющий опыта программирования, может создать настольное приложение из веб-приложения. Ниже упомянутый пост описал шаги для преобразования веб-приложения в настольное приложение. Должен прочитать !

Конвертируйте любое веб-приложение в настольное приложение за 2 минуты, используя npms nativefier

Ответ 7

(Полное раскрытие, я основатель ToDesktop, я постараюсь быть объективным и беспристрастным здесь.)

Как обычно в информатике, ответ "это зависит"!

Первый вопрос, который вы должны задать себе: кто использует настольное приложение? Только ты? Или вы распространяете приложение для клиентов? Потому что эти два сегмента имеют очень разные потребности.

Только ты

Здесь есть много вариантов (без определенного порядка):

  1. Nativefier - очевидный вариант. Множество параметров конфигурации, множество участников, открытый исходный код и регулярно обновляемые. Вероятно, это должно быть вариантом по умолчанию, если вы хотите создать приложение только для себя.
  2. WebDGap - это прекрасный проект, но он немного староват и "с 13 апреля 2018 года WebDGap больше не является активным проектом". Также следует отметить, что он построен на старой версии node-webkit, а не на Electron.
  3. Web2Desk - отличный вариант, если вы не хотите возиться с командной строкой. Он использует Nativefier под капотом. Это бесплатно с заставкой или $ 19 со снятой заставкой.
  4. Сделай сам с Электроном - основы были достаточно хорошо освещены в этом предыдущем ответе. Мне нравится эта опция, потому что она дает вам полную гибкость, чтобы взять проект где угодно, и вы тоже немного изучите Electron.
  5. Fluid App - это только Mac, но в остальном это отличное решение и очень простое. Это бесплатно для стандартной версии, есть также версия за 5 долларов, которая включает в себя такие функции, как полноэкранный режим.
  6. Flotato - Mac только снова, но это действительно интересный подход. Просто клонируйте приложение и дайте ему имя, например docs.google.com, и оно превратится в Документы Google. На момент написания этого он был в предварительной версии (еще не выпущен), но я буду внимательно следить за этим, это очень круто.
  7. ToDesktop - ToDesktop будет работать, но это, вероятно, немного излишне, если вы создаете личное приложение. Кроме того, это, вероятно, слишком дорого для этого варианта использования. ToDesktop нацелен на создание настольного приложения для распространения среди клиентов (подробнее об этом ниже).

Распространение среди клиентов

Есть несколько дополнительных соображений, которые становятся более важными при создании настольного приложения для распространения среди ваших клиентов:

  • Установщик - пользователи Mac ожидают DMG файл "перетаскивания в приложения". Пользователи Windows ожидают установки, а также смогут удалить ее из панели управления.
  • Подписание кода - если ваше приложение не имеет подписи кода, то по умолчанию Windows Authenticode и Apple Gatekeeper будут препятствовать открытию приложения для настольного компьютера.
  • Автообновление - веб-браузер все еще работает под вашим настольным приложением, важно сохранять его обновленным по двум причинам. 1. Проблемы безопасности + уязвимости должны быть исправлены с течением времени. 2. Вы не хотите застрять, поддерживая старый веб-браузер через 5 лет, потому что ваш браузер настольного приложения не был обновлен

Инструменты, упомянутые выше, не предлагают эти функции, поэтому они не очень подходят для случая использования вашего приложения для распространения среди клиентов. Это те функции, которые мы хотели добавить при сборке ToDesktop, поэтому я думаю, что он вполне подходит для этого варианта использования. Мы постоянно добавляем новые функции, на прошлой неделе мы добавили поддержку протоколов приложений и Deeplinks.

Ответ 8

С небольшим количеством кода оболочки вы можете упаковать его в качестве приложения Chrome. Они не должны запускаться в окне браузера, но имеют все возможности веб-приложения, автономные.

https://developer.chrome.com/apps/about_apps

Ответ 9

Лучший способ конвертировать Web в Exe - использовать nativefier:

nativefier --name "Inventory Management System" "http://localhost/php_stock_zip/php_stock_zip/php_stock/" -i ./icon.png -p windows

шаги:

  1. Нажмите Win + x
  2. Нажмите C
  3. Тип
  4. nativefier

Требования для установки * macOS 10. 9+/Windows/Linux * Node.js> = 6 (4.x может работать, но больше не тестируется, пожалуйста, обновите) Смотрите дополнительные зависимости для более подробной информации

Шаг 5: npm install nativefier -g

Наконец, введите nativefier "Веб-ссылка"