Прямо сегодня (19 августа) интеловский Центр технологий с открытым исходным кодом выдал на-горá очередную версию движка node-webkit. Движок этот, как и прежде, интересен тем, что умеет открывать браузероподобные окна (на основе кода Chromium) и употреблять в них API Node.js — так что он обеспечивает нетрудное создание GUI-приложений методами веборазработки (на языках JavaScript, HTML, CSS, WebGL и т. д.) под операционные системы Windows, Mac OS X и Linux.
Новая версия получиланомер 0.7.1 и содержит движок Node версии 0.10.12, как нетрудно видеть в тестовом окне:
![[скриншот окна]](https://habrastorage.org/r/w1560/storage2/844/e13/fd3/844e13fd3e5ed52e081a6c3a992f1c1e.png)
Код тестового окна я сегодня открылна Гитхабе, так что желающие могут с ним ознакомиться и убедиться воочию, что начальные (helloworldные) шаги программирования для node-webkit ничуть не сложнее обычной веборазработки, усиленной возможностями API Node.
Менее месяца тому назад (24 июля)я обозрел одну из предыдущих версий node-webkit (версию 0.6.3). С тех пор прошло не много времени, однако в node-webkit появился ряд небезынтересных новшеств:
В новой версии также устранены баги, в отдельных случаях прежде приводившие к падению или зависанию приложения.
Новая версия получила
![[скриншот окна]](https://habrastorage.org/storage2/844/e13/fd3/844e13fd3e5ed52e081a6c3a992f1c1e.png)
Код тестового окна я сегодня открыл
Менее месяца тому назад (24 июля)
- Появилась поддержка протокола app. Теперь в манифесте приложения можно записать параметр main в виде
«"main": "app://hostname/path"», причём в роли имени хоста(hostname) может выступать любой идентификатор, а путь(path) отсчитывается от тогокаталога-корня, в котором лежит сам манифест (файлpackage.json). После этого во браузерной части приложения (в HTML, в CSSи т. п.) все «абсолютные адресаот корня» (начинающиеся косою чертою) станут отсчитываться от того же каталога — этот эффект будет необыкновенно полезен для тех, кто переупаковываетпод node-webkit какое-нибудь такое приложение, которое ранее крутилось в Паутине и содержало массу путей «от корня». Понятно, что это частный случай. Если же случай противоположный (все пути были относительными), то можно не возёхаться с новым протоколом, а в значенииу "main" записывать, как и раньше, относительный путь от манифеста. (В простейшем случае —"index.html".)
- Появилась возможность джаваскриптом менять значение элемента
input, имеющего атрибутtype="file"; таким образом, обеспечивается полная автоматизация отгрузки файлов в Сеть внутрибраузерным способом (что удобнее, чем в API Node).
- В новом поле
App.manifest можно считывать значения манифеста приложения. Не нужно лишний раз делатьrequire('package.json'), ведь все эти сведения и без того считываютсяnode-webkit при запуске приложения.
- К обработчику события
App.open теперь поступает командная строка целиком. Раньше каждый параметр командной строки вызывал отдельное такое событие, а теперь можно обрабатывать и те случаи, когда в командной строке не только перечисляются файлы, которые необходимо открыть, но и указаны параметры, имеющиекакое-нибудь другое значение (например, флаги настроек).
- API getUserMedia стало можно использовать для захвата копии всего экрана (как вон в том примере, для Chrome предназначенном).
В новой версии также устранены баги, в отдельных случаях прежде приводившие к падению или зависанию приложения.