Pull to refresh

Comments 16

Приложение запаковано UPX — некоторые антивирусы могут ругаться на него. Можно не паковать приложение и получить размер 6-7МБ.
Ахаха, убили на прочь, а на хрена в 2015 году использовать UPX или любой другой упаковщик исполняемых файлов? В чем этот магический профит? Пробовали бенчмарить без него?

В целом — круто, спасибо, ждал когда кто-то что-то подобное реализует рано или поздно, тут действительно большой простор для фантазий.
> в 2015 году UPX
Согласен, тем более что приложения в виде «голого» exe сейчас никто не распространяет, всегда или паковщик из инсталлятора, или архив. Заказчик хотел upx, так он там и остался, как-то не подумал удалить его, спасибо что напомнили, выпилю, профита 0. Бенчмаркил и без него, и с ним, конечно. upx и другие пакеры замедляют выполнение на 200-500 мс.
Как-то раз пробовал писать на nw.js там была проблема которую я на тот момент не смог решить и отказался от данного решения.
Проблема заключалась в том что мне нужно было в контенте приложения выводить гиперссылки которые должны открываться дефолтным браузером ОС, но так как там все приложение по сути и есть браузером с веб приложением то все гиперссылки открывались в том же окне…
Как у Вас обстоят дела с таким явлением, можно ли заставить приложение открывать ссылки в дефолтном браузере которым пользуется текущий пользователь системы?
Можно. Вроде как, и в nw.js тоже можно. На ссылку повесить обработчик, в обработчике вызвать нодовский spawn.
если использовать
var g = require('nw.gui');
то потом вот так легко открываем в дефолтном браузере ссылку
g.Shell.openExternal('https://google.com');
А как решали проблему c настройками IE? Отключенный показ картинок и отключенный JS?

Я делал подобное только под Windows и использовал встроенный JavaScript из WSH, он работал в потоке приложения как основная логика, а с браузером взаимодействовал через COM-объекты проброшенные в браузер. Ноду не использовал, у меня была своя библиотека объектов доступная из скрипта для работы с сетью, zip-ами, xml, графикой и т.п. с файловой системой работал через объекты WSH. Даже приложение написал рабочее pingxpert.com Но у Вас решение более универсальное.
IE позволяет приложению задать путь к настройкам реестра через GetOptionKeyPath (и GetOverrideKeyPath). Если реализовать его, контрол будет с дефолтовыми настройками. Там всякие настройки запрета показа отладчиков итд. (а если честно отключённые js не проверяли, посмотрю, может и нужен более хитрый метод со своим security manager-ом).
Да я использовал этот метод и security manager, но пользователи всё-равно частенько жалуются на неработоспособность программы, может тоже где-то недотестил и сам накосячил. А ещё большая проблема с отображением контента, если старые версии IE, то Bootstrap уже нельзя использовать. Поэтому WebKit мне в этом плане надёжнее кажется. А в передаче контекста в IE мне конечно проще было значительно, я просто отдавал объекты JavaScript-а основной логики прямо в браузер через SetExternalDispatch и получал в браузере весь нужный функционал.
Вот примерно к такому выводу я и пришёл, поигравшись со встроенными браузерами: в большинстве случаев вебкит показалось использовать более целесообразным.
Экономия в 30 мб, в десктопном приложении действительно стоит таких финтов ушами?
Не думаю (о чём и написал в «проблемах» и «выводах»). Скажу даже больше: если бы работа над проектом не была оплачена, я бы не стал это делать. А так, мне давно было интересно, а что же с таким подходом получится — вот довелось попробовать.
Я бы сформулировал вопрос по-другому: использования подобных технологий в десктопном приложении действительно стоит таких финтов ушами?
Объясните мне пожалуйста принцип работы. Это работает с обычного браузера? И запускается исполняемый файл? Или как? Спасибо.
Исполняемый файл, который показывает окно, внутри которого html+css+js.
Sign up to leave a comment.

Articles