- PVSM.RU - https://www.pvsm.ru -
В течении пробного заплыва в териториальные воды HTML5 разработчиков с целью ознакомления, я разработал небольшое приложение. С помощью PhoneGap его удалось успешно запустить на андройде, а возможно (не тестировал) и еще на нескольких мобильных платформах. Но, к сожалению, PhoneGap не собирает приложения для настольных ОС (вроде что-то есть под Mac OS). Я решил исправить это упущение для Windows.

Задача не сложная, нужно создать окно со встроенным браузером. Решение напрашивается само — WebControl, но Webkit браузеры мне понравились намного больше во время разработки HTML5 приложения, поэтому я решил не использовать IE в качестве встроенного браузера. А так как к хрому у меня было меньше всего притензий, выбор пал на проект chromiumembedded [1]. Да, у этого решения есть недостатки, прежде всего — это значительный объем библиотек, которые нужно тянуть вместе с приложением. Довесок к инсталлятору составляет 16Мб. Но мне кажется это честный обмен размера инсталлятора на совместимость, к тому же, chromiumembedded совместим c Мас OS и Linux.
Проект лежит на github'e [2], для VC setup проекта я подготовил .msm файл [3], в котором собрал все необходимые библиотеки для CEF. HTML и Javascript нужно упаковать в файл с именем DesktopGap.zip и положить (инсталлятором) в папку приложения. Для запуска нужно выполнить DesktopGap.exe, он включен в .msm файл.
В текущей версии: 1) создается иконка в system tray с меню из двух пунктов, открыть и выход; 2) окно сворачивается в трэй при минимизации; 3) HTML приложение читается из zip архива.
В текущей версии не хватает: 1) разбора конфигурационного файла (как PhoneGap), например, для того, чтобы загрузить иконку приложения; 2) взаимодействия между Javascript и Win32 приложением, как следствие, отсутствие плугинов как у PhoneGap, например, было бы логично управлять меню в system tray из Javascript.
Автор: vf1
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/javascript/9769
Ссылки в тексте:
[1] chromiumembedded: http://code.google.com/p/chromiumembedded/
[2] лежит на github'e: https://github.com/vf1/desktopgap
[3] .msm файл: https://github.com/downloads/vf1/desktopgap/MergeModule.msm
Нажмите здесь для печати.