Десктопное HTML-приложение без браузера?

Неоднократно встречал (виндовые) приложения, которые на самом деле представляют из набор HTML-станиц со стилями и JavaScript'ом. Из последнего — установщик Яндекс.Диска (можно посмотреть код по правой кнопке) и установщик ПО PrintBook'а (выдал предупреждение о замедляющих работу скриптах). При этом работают они в обычных небраузерных окнах без адресной строки, меню и тому подобного.



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



В идеале нужно получить HTML-приложение:

— кросплатформенное либо легко портируемое;

— похожее на десктопное, работающее в собственном небраузерном окне;

— работающее на поставляемом вместе с ним браузерном движке, чтобы спокойно использовать CSS3 и HTML5 API);

— не слишком легко копируемое и распространяемое.



Поясню, для чего это нужно. Имеется HTML-версия ветеринарного обучающего курса, работающая с компа/диска/флэшки на LitePXP (открывается в ChromePortable, использует PHP). Это неудобно и несолидно. Хотелось бы сделать так, чтобы приложение выглядело как обычный обучающий диск и его легко можно было бы портировать на Mac и *nix, а также трансформировать в HTML5-приложение для мобильных устройств. В новой версии остается только HTML5, JavaScript и CSS3. Основа кроссплатформенная, наверняка существуют способы запуска ее в разных средах. Видел что-то подобное в Qt, но, может быть, есть какие-то готовые обертки или утилиты? Как спроектировать приложение, чтобы оно было максимально совместимо с мобильными устройствами и с десктопом? Что можно почитать по теме?
  • Вопрос задан
  • 13178 просмотров
Пригласить эксперта
Ответы на вопрос 12
borius
@borius
Можно воспользоватся Qt у него есть веббраузер в себе=)

qt-project.org/doc/qt-4.8/examples-webkit.html
Ответ написан
deleted-mifki
@deleted-mifki
Ну вообще для таких штук есть AIR и, например, www.appcelerator.com/developers
Но если у вас задача просто показывать ваши странички и доступ к системе не нужен, то надо поискать или несложно сделать что-то более легковесное.
Ответ написан
SergeiStartsev
@SergeiStartsev
Рекомендую посмотреть в сторону XULRunner от Mozilla, он основан на движке Gecko и поддерживает XUL.
Ответ написан
@s2erg
А чем не устраивает проект nw.js (ранее известный как Node-Webkit)? По-моему, это самый удобный кроссплатформенный вариант. Большое комьюнити, много статей и туториалов, в том числе и на Хабре. Это уже давно не игрушка, красивые десктопные приложения на нём делаются уже и на серьёзном продакшн уровне — например, Spotify, Wunderlist, клиент для Slack, да только один Popcorn Time чего стоит!
Ответ написан
Комментировать
yurtaev
@yurtaev
titanium – с собой носит webkit, как пример приложение SimpleLESS
Ответ написан
@Neir0
Ну дык ие доступен через COM отовсюду. Плюс есть куча других движков и вот таких крутых штук terrainformatica.com/ — HTMLayout(использовалось в продуктах symantec)
Ответ написан
Riateche
@Riateche
Рекомендую посмотреть в сторону Qt Quick.
Ответ написан
akzhan
@akzhan
Еще, к примеру, можно взять code.google.com/p/chromiumembedded/
Ответ написан
olegbarabanov
@olegbarabanov
Программист, фрилансер (ИП)
как вариант — берем такой набор.
засовываем в одну папку node.js, chrome portable, и файлы, которые необходимо отобразить.

Пишем тупейший батник, который запускает ноду и передает js файлик на исполнение.

нода запускает сервер вебсокета.
нода запускает дочерний процесс chrome и сразу передает ему страницу.
в скрипте на странице, должен быть код, позволяющий при инициализации подключиться к себе же по webSocket.

Тем самым вы получите, полноценное приложение, которое может работать с node.js и не париться. Благо ноду можно скачать в виде единственного исполняемого файла.
Всё.
Ответ написан
foxmuldercp
@foxmuldercp
Системный администратор, программист, фотограф
.Net
я на C# за 5 минут делал простейший броузер с полем для ввода ссылки, кнопкой Сделать хорошо ОК и большим полем где ссылка будет открываться.
а вот толи давние инсталляторы нвиди толи ати не могут жить толи без флеша толи без жава-машины.
Ответ написан
Комментировать
surething
@surething
Рекомендую портабельный Chromium в режиме kiosk + предустановленные экстеншены, если нужен доступ к ФС, например. Плюс chromium в том, что это V8 и все последние фишки html5. Например, в QtWebkit все еще старый JS-движок, а документация по Xulrunner мягко говоря скудная.
О защите авторского контента в случае html5-приложения можно забыть. Обфускация возможна, но надо ли?
Ответ написан
Комментировать
@blinow99
Работаю фотографом и дизайнером, занимаюсь сайтами
А я рекомендую Electron от GitHub. Он включает в себя Node.js и Chromium. Много программ используют его, некоторые программы перешли на него с Node-Webkit и AIR.
Дополнительно можете посмотреть большой список программ использующих его
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы