Comments 20
Очень интересны два момента.
Первый это какие сейчас различия между NodeWebkit и AppJS
Второй это получилось ли у вас использовать node-sqlite3 под win x64 (у меня с этим трудности под виндой, поэтому пока использую встроенный websql)
Тоже было забавно когда вышла версия 0.5 RC и не работал лог в консоли :).
Первый это какие сейчас различия между NodeWebkit и AppJS
Второй это получилось ли у вас использовать node-sqlite3 под win x64 (у меня с этим трудности под виндой, поэтому пока использую встроенный websql)
Тоже было забавно когда вышла версия 0.5 RC и не работал лог в консоли :).
С тех пор, как в октябре прошлого (2012) года я увидел (и изложил в послесловии к вон той блогозаписи), что движку node-webkit удалось обойти AppJS сразу по нескольким направлениям, я утратил интерес к AppJS и не следил за ним сколько-нибудь плотно. Допускаю, что за прошедшие с тех пор полгода разрыв мог и сократиться, но вряд ли существенно.
Модуль node-sqlite3 я не собирал ещё под Windows x64: согласно READMEот node-gyp , для этого надобно Windows 7 64-bit SDK, а мне лень скачивать и ставить его.
Однако сразу скажу, чтодля node-webkit этого и не нужно делать, потому что node-webkit тридцатидвухбитен, а не шестидесятичетырёхбитен. Для node-webkit я node-sqlite3 собирал успешно — кроме той последней версии, в которой тестирование ≈месяц назад перетащили с expresso на mocha, что само по себе прекрасно, но мне теперь все тесты, ранее для проверки node-sqlite3 под node-webkit работавшие, придётся переписать заново в моём форке. Потому что какой смысл собирать модуль, если его не в чем проверить.
Модуль node-sqlite3 я не собирал ещё под Windows x64: согласно README
Однако сразу скажу, что
К сожалению, только намучившись, даже под ubuntu не получилось использовать sqlite3. Приложение просто закрывается.
Установил через npm — npm install sqlite3
Установил через npm — npm install sqlite3
В общем копал я копал и накопал. Не правильно делал: надо пересобирать не через node-gyp, а через nw-gyp (мой провтык).
Последовательность действий для успешной установки модуля такая:
Ubuntu / Debian
Windows
Я парился со сборкой под ненавистной форточкой, плюнул :) нашел это (проверено на версии 0.4.1)
https://github.com/zycbob/node-webkit-sqlite3-windows-demo
Последовательность действий для успешной установки модуля такая:
Ubuntu / Debian
cd /your/app/folder/
— в одном уровне с node_modulessudo npm install sqlite3
cd node_modules/sqlite3
sudo nw-gyp --target=0.5.1 rebuild
— а теперь ключевое пересобрать пакет с учетом используемой версии node-webkitWindows
Я парился со сборкой под ненавистной форточкой, плюнул :) нашел это (проверено на версии 0.4.1)
https://github.com/zycbob/node-webkit-sqlite3-windows-demo
Сколько будет весить простое приложение «Hello, world!»?
Если есть раскладка по платформам — отдельное спасибо.
Если есть раскладка по платформам — отдельное спасибо.
Вес «Hello, world!» (и любого другого простого приложения, занимающего считанные килобайты или десятки килобайтов JS+HTML+CSS) ничтожен по сравнению с весом самогó движка.
Движок node-webkit, собранный под различные платформы, можно скачать из раздела«Downloads» на его гитхабовской странице, чтобы самостоятельно посчитать вес его.
ZIP-архивnode-webkit версии 0.5.1 для Windows занимает 23 973 968 байтов, в распакованном виде — 56 592 472 байта (включая утилиту nwsnapshot, которая для запуска приложений не нужна). В комментарии к прошлому обзору я упоминал, впрочем, что употребление UPX позволяет сократить объём основного исполняемого файла почти на два десятка мегабайтов, когда это необходимо.
Движок node-webkit, собранный под различные платформы, можно скачать из раздела
ZIP-архив
Для сравнения сообщу, что объём приложения «Hello Habrahabr!» (скриншот от которого приведён наверху) составляет 1 195 998 байтов, из которых:
(Ещё 1 150 байтов занимает лишний файл со значком Node.js, который употреблялся в отладочных целях. Его давно пора было стереть, и сейчас сотру.)
- 1 055 728 байтов — фотография заброшенной аллеи (фон окна),
- 93 637 байтов — библиотека jQuery версии 1.8.3,
- 39 047 байтов — код CSS (включая
base64-кодированный шрифт заголовка),
- 5 430 байтов — значок Хабрахабра (именно он показывается в заголовке окна),
- 780 байтов — код HTML,
- 226 байтов — код package.json (файл с описанием приложения
для node-webkit).
(Ещё 1 150 байтов занимает лишний файл со значком Node.js, который употреблялся в отладочных целях. Его давно пора было стереть, и сейчас сотру.)
Сейчас занимаюсь разработкой приложения на node-webkit, и очень не хватает некоторых фич:
1) Возможности не показывать иконку для некоторых окон приложения в доке MacOS (на панели задач Windows). Нужна эта фича для создания системы всплывающих уведомлений (родные вебкитовские просто не пашут)
2) Не столь важная, но все же нужная мелочь — поддержка прозрачности у окон приложения.
3) Система автообновления приложения. Вы описывали то, как она должна примерно выглядеть, на гитхабе. Жаль что таковой пока не появилось. (https://github.com/rogerwang/node-webkit/issues/233)
Но самая главная — первая функция, без второй можно обойтись, третью — реализовать как-то самому. Очень надеялся на версию 0.5, но теперь придется ждать еще месяц-другой до 0.6, и надеяться что повезет там.
1) Возможности не показывать иконку для некоторых окон приложения в доке MacOS (на панели задач Windows). Нужна эта фича для создания системы всплывающих уведомлений (родные вебкитовские просто не пашут)
2) Не столь важная, но все же нужная мелочь — поддержка прозрачности у окон приложения.
3) Система автообновления приложения. Вы описывали то, как она должна примерно выглядеть, на гитхабе. Жаль что таковой пока не появилось. (https://github.com/rogerwang/node-webkit/issues/233)
Но самая главная — первая функция, без второй можно обойтись, третью — реализовать как-то самому. Очень надеялся на версию 0.5, но теперь придется ждать еще месяц-другой до 0.6, и надеяться что повезет там.
Всплывающие уведомления позавчера обсуждалися на Google Groups, и было сказано, что решение проблемы 251 существует, но только в отдельной ветви и только для Windows и Linux, а для Маков никто не сочинил ещё необходимого кода. Печально, но, видимо, и впрямь до лета никто не закончит решение этой проблемы.
О, а английский Мицгола мне нравится куда больше, чем русский.
Разрабатывая приложение на node-webkit наткнулся на баг, который победить не получилось. Суть в том, что на абсолютно чистой винде (только что установленной внутри виртуальной машины) 3D-эффекты описанные на CSS3 не работают, а именно вот эта демка: www.xiper.net/examples/html-and-css-tricks/effects/flip-click.html Хотя все dll ложил рядом с nw.exe
Все-все? (И DLL от DirectX тоже?)
Помойму да, пробовал устанавливать специально последний пакет directx redistributable и вытаскивать из него эти два файла. Но на выходных всё-таки снова попробую всё повторить.
В случае неудачи рекомендую сообщить разработчикам node-webkit о проблеме, сообщив все данные («чистая винда», «клал DLL от DirectX», URL сайта, модель видюхи) и надеясь на воспроизводимость, а значит, и на лёгкую отлавливаемость этой проблемы разработчиками.
Только сперва попробовать на невиртуализованной винде.
Только сперва попробовать на невиртуализованной винде.
Хорошо. Если воспроизведу, то выложу даже образ виртуальной машины. Спасибо.
Ещё полезно попробовать, идёт ли эта демка в Chromium (или в Google Chrome) на той же машине. А не то может и не в node-webkit быть дело, а в одной из составных частей его. Тогда и о баге надобно будет сообщать сразу в Google.
Да, данная демка работала в Google Chrome на этой же машине.
Сейчас занялся этим багом. Воспроизвести его получилось. Последовательность была такой:
1) Установил Windows XP
2) Установил Google Chrome
3) Установил directx_Jun2010_redist.exe
4) Перезапустил систему
5) Собрал app.exe согласно документации, используя html код от сюда: www.xiper.net/examples/html-and-css-tricks/effects/flip-click.html
6) Дополнительно положил файлы D3DCompiler_43.dll и d3dx9_43.dll рядом с app.exe
Итог: не работает. Интересен тот факт, что также и в Google Chrome не работает этот пример.
Может быть причиной то, что используется виртуальная машина VirtualBox или всё-таки стоит оформить этот как баг?
1) Установил Windows XP
2) Установил Google Chrome
3) Установил directx_Jun2010_redist.exe
4) Перезапустил систему
5) Собрал app.exe согласно документации, используя html код от сюда: www.xiper.net/examples/html-and-css-tricks/effects/flip-click.html
6) Дополнительно положил файлы D3DCompiler_43.dll и d3dx9_43.dll рядом с app.exe
Итог: не работает. Интересен тот факт, что также и в Google Chrome не работает этот пример.
Может быть причиной то, что используется виртуальная машина VirtualBox или всё-таки стоит оформить этот как баг?
Если и в Google Chrome не работает, тогда попробуйте сообщить его как проблему на сайте Chromium.
(Понятно, что после исправления этой проблемы в Chromium она будет автоматически исправлена и в последующей крупной версиидвижка node-webkit, код которого основан на Chromium.)
(Понятно, что после исправления этой проблемы в Chromium она будет автоматически исправлена и в последующей крупной версии
Sign up to leave a comment.
Новшества node-webkit версии 0.5.1