Мало кто знает, что создание десктопных приложений для операционных систем никогда не было таким легким, в том числе и для веб-разработчиков. Все это благодаря свободному программному обеспечению, а точнее целого стека технологий вырасших вокруг node.js и chromium.
Благодаря им, вы можете создать практически любое приложение на HTML и Javascript используя портабельный легкий сервер node.js и интерфейс знаменитого chromium.
В нашем случа стояла задача создание простого приложения для просмотра и редактирования организаций здравоохранения в минздраве ЧР.
Изначально было требование о возможности оффлайн использования карты, что наложило дополнительные ограничения на возможности подключения сторонних api в выводе. В качестве бек-энда используется сайт на Modx CMS, с подключенными модулями yandex maps api и конвертацией геоданных в svg точки на карте. Это позволяет быстро добавлять и редактировать организации в бекэнде сайта, позволяет сосздавать неограниченное количество ресурсов для учреждений, возможность организации файлов и разграничение прав доступа на редактируемые ресурсы и доступные файлы.
Для создания кроссплатформенного десктоп приложения было решено использовать Node-webkit.
Про построение node-webkit приложения не буду рассказывать мног, думаю одной ссылки на гитхаб nw.js будет достаточно. Документация очень доступная. Для новичков в node.js вроде меня, оказалось, очень удобно использовать Nodebob buildTools без необходимости развертывания дополнительных систем для сборки проектов.
В нашем случае это сайт упакованный в оболочку, но как же быть с обновлением? Для этого был использован обычный wget под windows + быстрая сборка пакетов с помощью bat скриптов и buildTools, которые отлично справился с такой нетривиальной задачей.
Единственным серьезным минусом, думаю, является большой размер приложения, т.к. для приложения необходимы как html ресурсы сайта, так и портабельный сервер и обозреватель хромиум, не говоря уже о файлах- вложениях на сайте к которым необходим оффлайн доступ. В настоящий момент объем сайта составил 92 мегабайта, и это еще не предел. Заполнение информацией заказчиком идет пока очень слабо.
Ну и в качестве бонуса ссылка для скачивания и ссылка на сайт.
You need to login to create comments.
Comments ()