В течении пробного заплыва в териториальные воды HTML5 разработчиков с целью ознакомления, я разработал небольшое приложение. С помощью PhoneGap его удалось успешно запустить на андройде, а возможно (не тестировал) и еще на нескольких мобильных платформах. Но, к сожалению, PhoneGap не собирает приложения для настольных ОС (вроде что-то есть под Mac OS). Я решил исправить это упущение для Windows.
Задача не сложная, нужно создать окно со встроенным браузером. Решение напрашивается само — WebControl, но Webkit браузеры мне понравились намного больше во время разработки HTML5 приложения, поэтому я решил не использовать IE в качестве встроенного браузера. А так как к хрому у меня было меньше всего притензий, выбор пал на проект chromiumembedded. Да, у этого решения есть недостатки, прежде всего — это значительный объем библиотек, которые нужно тянуть вместе с приложением. Довесок к инсталлятору составляет 16Мб. Но мне кажется это честный обмен размера инсталлятора на совместимость, к тому же, chromiumembedded совместим c Мас OS и Linux.
Проект лежит на github'e, для VC setup проекта я подготовил .msm файл, в котором собрал все необходимые библиотеки для 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