Новшества node-webkit 0.6.3

    Вчера (23 июля) интеловский Центр технологий с открытым исходным кодом выдал на-горá очередную версию движка node-webkit. Как и прежде, движок этот позволяет открывать браузероподобные окна (на основе кода Chromium) и употреблять в них API Node.js — а значит, обеспечивает нетрудное создание GUI-приложений методами веборазработки (на языках JavaScript, HTML, CSS, WebGL и т. п.) под операционные системы Windows, Mac OS X и Linux.

    Новая версия получила номер 0.6.3 и содержит движок Node версии 0.10.12:

    [скриншот окна]

    Три месяца назад (29 апреля) я обозрел одну из предыдущих версий node-webkit (версию 0.5.1). За прошедшее с тех пор время в node-webkit появился целый ряд существенных новшеств.

    Важнейшим из них стало улучшение подсистемы поиска и запуска приложений. Теперь, когда вы запускаете движок node-webkit, он ищет приложение в следующем порядке:

    1. Проверяет хвост исполняемого файла node-webkit, не пристыковано ли к нему ZIP-упакованное приложение.
       
    2. Ищет манифест приложения (файл package.json) в том же каталоге, где лежит исполняемый файл node-webkit.
       
    3. Ищет ZIP-упакованное приложение (под именем package.nw) в том же каталоге.
       
    4. Использует первый параметр командной строки как путь к приложению.

    Раньше-то после первого из этих шагов node-webkit переходил сразу к четвёртому, так что для запуска непристыкованных приложений приходилось сочинять скрипт-обёртку (а под Windows — батник), который помещал бы путь к приложению на первое место в той командной строке, которой node-webkit вызывается (и при наличии других параметров сдвигал бы их на второе, третье и так далее место). Теперь же node-webkit действует по моему совету, так что наконец стало можно не утруждать себя этой работою, а просто и бесхитростно положить движок node-webkit в каталог к приложению и затем запустить движок.

    Кроме этого:

    • В новом поле App.dataPath можно считывать путь к данным приложения, хранимым в системном каталоге пользователя. (В системе Windows это будет «%LOCALAPPDATA%/имя», в Линуксе — «~/.config/имя», в OS X — «~/Library/Application Support/имя», где «имя» — это название приложения, задаваемое в его манифесте.)
       
    • Новая функция App.clearCache() позволяет программным способом очистить кэш файлов, по HTTP скачанных — как в памяти, так и на диске.
       
    • Событие App.open теперь поступает во все óкна приложения.
       
    • В манифесте приложения появился параметр dom_storage_quota для указания количества мегабайтов, отводимых под данные, сохраняемые через API DOM Storage.
       
    • Новый метод App.getProxyForURL(URL) возвращает (в формате PAC) сведения о прокси-сервере, употребляемом для доступа к указанному URL.
       
    • Настройки отладчика (в частности, точки останова) сохраняются между сеансами.
       
    • Отладочная возможность “Devtools jail” позволяет показывать консоль отладки внутри некоторого iframe.

    Пользователям node-webkit могу посоветовать поэтому только одно: берите эту новую версию.
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 13

      0
      У кого-то есть реальные проекты с использованием node-webkit?
        0
        Вон там есть списочек.
          +1
          У нас с его помощью написан клиент для Online-консультанта под Windows и Mac. Теперь клиенты на PC и Mac используют нашу программу, а на мобильных платформах — Jabber. online.sms-uslugi.ru/
            +1
            Написана система доступа к технологическим картам блюд (рецептурам) на кухнях для одной из сетей столовых + ресторан в Красноярске. Node-webkit клиенты берут данные с центрального мySQL сервера, куда их в свою очередь сливает 1С через ODBC. Клиенты умеют лениво сохранять все текущие данные (включая изображения) из базы локально, поэтому достаточно автономны при перебоях со связью с центральной базой. Эксплуатируется с февраля этого года — нареканий нет.
              0
              Технологические карты — в 1С? Как-то… нетрадиционно? Или они не просто карты, а там еще какая-то хитрая логика типа замера расхода продуктов и т.п.?
                0
                Именно так. — 1С: Предприятие 8. Общепит.

                На сенсорном моноблоке доступны все рецептуры включая промежуточные. Например холодный цех. Ну и связь между ними. Т.е. Если в какое-то блюдо входит отварной картофель, то можно пройти по всей цепочке и посмотреть нормы выхода для каждого компонента блюда. Выход по тому же картофелю ощутимо плавает в зависимости от сезона. Поддерживать в актуальном состоянии эти данные на бумажных носителях для целой сети заведений было крайне неудобно.

                Система создана не для демонстрации конечных блюд, а для полного доступа к техкартам любых компонентов блюд на кухне.
            0
            а где можно найти взять node-webkit с ночной сборкой ноды, уж очень хочется полноценного harmony?
              +1
              Нѣтъ такого.
              0
              А можно как то скрыть исходник приложения написанного на node-webkit
              0
              Возник вопрос — перед открытием основного окна вывожу дополнительно окно в котором отобржаю статус загрузки и поля для ввода логина и пароля.

              Вопрос возник в следующем — у меня основное окно имеет бордеры (frame: true).
              В дополнительно же окне мне эти бордеры не нужны, т.е. должно открываться просто безфреймовое окно (т.е. что обычно достигается через frame:false в package).

              Можно ли такое сделать в node-webkit? Для окон берутся параметры из package, для отдельного окна индивидуально такой параметр в package не задается. Пробовал играть настройками — но не нашел.

              Спасибо!
                0
                Все те параметры, которые в package.json указываются как поля объекта window, могут быть указаны и отдельно для некоторого окна в момент открытия этого окна. Для чего необходимо и достаточно указать их во втором параметре метода open объекта Window из API для GUI node-webkit.
                  0
                  Спасибо, помогло)

              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

              Самое читаемое