Текущий лучший способ превратить существующее веб-приложение в настольное приложение без его перепрограммирования?

Я ищу способ взять существующее веб-приложение, запрограммированное на простом HTML4, CSS и jQuery/Javascript, и развернуть его как настольное приложение, которое не требует доступа в Интернет и обращается к локальной базе данных или базе данных внутренней сети. Есть ли решение сделать это, не перепрограммируя все это на языке программирования, предназначенном для настольных компьютеров? Я просмотрел множество других похожих сообщений stackoverflow, но все они кажутся устаревшими или немного разными (например, они предлагают Google Gears). Есть ли текущее и наиболее приемлемое решение для этого?

Редактировать: я говорю без перепрограммирования. Я должен был сформулировать это так, чтобы было как можно меньше перепрограммирования. Кроме того, я не боюсь заниматься другим программированием веб-сайта, например приложением со встроенным браузером.


person dallin    schedule 19.08.2012    source источник
comment
HTML4, CSS и javascript могут работать на машине без веб-сервера. Вам просто нужно заархивировать свой сайт и отправить его кому-нибудь, чтобы открыть. Однако я думаю, что вам не хватает технологии для подключения к базе данных?   -  person Prescott    schedule 19.08.2012
comment
Если ваше приложение может работать в Internet Explorer, вы можете преобразовать его в HTA.   -  person Raymond Chen    schedule 19.08.2012


Ответы (3)


Год спустя я нашел PHP Desktop (https://code.google.com/p/phpdesktop/< /а>). Я не могу рекомендовать это достаточно. Это бесплатный проект с открытым исходным кодом, который включает легкий сервер Mongoose, интерпретатор PHP и встроенную платформу Chromium Embedded Framework в один исполняемый файл. Если вы не являетесь поклонником PHP, есть и другие варианты, такие как Python.

Все, что вам нужно сделать, это поместить корневую веб-папку в ту же папку, что и исполняемый файл, а затем запустить исполняемый файл. Бламмо! Ваше веб-приложение выглядит и ведет себя точно так же, как настольное приложение. Его очень легко настроить. Также есть много настроек, изменив имя и значок exe и отредактировав файл settings.json. Вы действительно не можете отличить ваше веб-приложение от настольного приложения. Мы планируем упаковать папку в установщик и продавать ее как настольное приложение, и я не думаю, что кто-нибудь когда-нибудь поймет, что запускает веб-приложение.

person dallin    schedule 23.01.2014

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

Ваш браузер является интерпретатором html и javascript, поэтому все, что вам нужно сделать, это поместить все в папку и запустить базовую html-страницу.

Если вы хотите, чтобы это было как настольное приложение без запуска браузера, это может быть сложно. Все зависит от того, как сделано ваше приложение.

person Hugo Dozois    schedule 19.08.2012
comment
Вероятно, вы могли бы создать простое приложение, которое представляет собой веб-элемент управления и загружает главную страницу. Иметь все страницы как встроенный ресурс - person Prescott; 19.08.2012

Почему? Если вы обращаетесь к базе данных интрасети, вы можете получить доступ к внутреннему веб-серверу. Если это так, то оставьте его как веб-приложение, которое просто не выходит в Интернет. Вероятно, миллионы веб-приложений работают таким образом. Подумайте над вопросом. Без перепрограммирования это сделать невозможно. Целевые платформы и принципиально разные парадигмы. HTML, CSS и jQuery/JavaScript предназначены для работы внутри браузера. Настольные приложения не имеют такого ограничения. Если это приложение достаточно простое, чтобы его можно было свести к вашему базовому приложению DB CRUD, тогда просто стисните зубы и вырубите его. Вы можете сохранить большую часть логики из jQuery/JavaScript, поскольку именно там происходит действие, но пользовательский интерфейс потребует серьезной переработки. Вы должны изучить потребности бизнеса и создать правильное приложение, отвечающее требованиям. И если для этого вам нужно переписать код, ну, вот почему вы зарабатываете большие деньги. ;-) Подводя итог, первый ответ: на данный момент лучшего способа не существует. Большинство магазинов просто строятся на нескольких платформах. Два, нет. Для этого может существовать какое-то архаичное или эзотерическое колдовство, но я не знаю ни одного, и я уверен, что это было бы некрасиво. Третий вопрос повторяет первый. Вы искалечили себя пунктом без перепрограммирования. Почему мы в этой профессии?? Кодировать!!! Если власть имущие хотят заново изобрести колесо, улыбнитесь и выставьте им за это счет.

person GrayFox374    schedule 19.08.2012