Anonymous
Я выбрал lokijs
Lev
Как я помню там чтобы завести sqlite нужно долго мудрить
эээ хз у меня нормально заводилась из коробки
Anonymous
эээ хз у меня нормально заводилась из коробки
Хмммм. Я смутно помню, что мудохался и плюнул. Интересно какие последствия использования lokijs и как оно мне в ногу выстрелит :)
su
Хмммм. Я смутно помню, что мудохался и плюнул. Интересно какие последствия использования lokijs и как оно мне в ногу выстрелит :)
ну просто, sqlite любой тебе ответит, протестирует или даже запустит у себя запрос, а на lokijs такой халявы не будет. а что если у тебя там foreing key из попы реализованы или вообще, однобазовая, кака-нить или in-memory only, без персистности, и думай сам потом, как прикрутить... вот слету трабла персистности lokijs, читай, пока есть время... https://github.com/techfort/LokiJS/issues/572
Alexiagray
А вы вообще много электрон апп на торрентах видели?
больше нравится ipa вскрывать и видеть там реактовские js скрипты))))))))))))))))))))
Anonymous
render process содаются, лучше туда пробрасывать
То есть orm сидит в мейне, а рендер шлет запросы на select/update?
Anonymous
Получается, что любое обращение к базе это месседж между рендером и мейном, и нужно держать redux/vuex чтобы стейт в рендере поддерживать?
Anonymous
Мысли вслух: если открыть соединение к базе из мейна и рендера, то ведь данные не будут автоматом синхронизироваться между двумя соединениями? значит нужно знать когда одна из сторон что-то поменяла и заново читать данные
Electron.js releases
v10.0.0-nightly.20200210 https://github.com/electron/electron/releases/tag/v10.0.0-nightly.20200210 v10.0.0-nightly.20200210
Anonymous
У меня в рендере vue и vuex. Получается, что базу нужно совать в мейн, и общаться с ней из рендера как с бэкендом. Иначе с базой в рендере нужно будет все равно держать данные в памяти помимо их изменения в sqlite. То есть делать и то и то
Electron.js releases
v7.1.12 https://github.com/electron/electron/releases/tag/v7.1.12 v7.1.12
Boris
кто-нибудь собирал NSIS инсталлятор с помощью electron-builder ? не понятно как кастомизировать скрипт для некоторых случаев, например убрать finish page.
Artur
Всем привет. Первое приложение на електроне, должно работать локально и просто ставится. Вот примерная схема БД. С такой схемой, нормально ли использовать NeDB/LokJS/MongoDB или лучше выбрать SQLite
Artur
Спасибо за ответ
Artur
Vadim
Красивенько, в чем делал?)
su
да, это что за прелесть
Artur
Artur
sqlite берите
Спасибо большое, Останавливаюсь на SQLite
Artur
Кто может подсказать, хочу подключить SQLite к електрону, и все время бъет ошибку из-за версий ноды, в интернете нашел два решения, установка пакета "electron-rebuild" и "electron-builder" но не один не помогает, может кто недавно решал эту проблему
Andrey
Попробуй такое npm rebuild --runtime=electron --target=1.1.3 --disturl=https://atom.io/download/atom-shell --abi=48 где target - это версия из electron -v, а abi - версия из electron -a
Andrey
Ну попробовать можно оба варианта)
Anonymous
Сорян :) abi ноды
Anonymous
Target should be the Electron version, and abi should be the abi version of the included Node.
Andrey
Видать да) ошибся)
Anonymous
https://github.com/mapbox/node-pre-gyp/blob/master/lib/util/abi_crosswalk.json
Anonymous
Вот тут abi нод
Artur
Решил так, поставил electron, sqlite3, electron-rebuild, npm install --global windows-build-tools
Electron.js releases
v10.0.0-nightly.20200211 https://github.com/electron/electron/releases/tag/v10.0.0-nightly.20200211 v10.0.0-nightly.20200211
Andrey
подскажите что за релизы? то 7.1.13, то 8.0.0, то 10.0.0?
Nikita
подскажите что за релизы? то 7.1.13, то 8.0.0, то 10.0.0?
так написано же, ночная, бетка, стабильная версии
Роман
Олег
кто какие встраиваемые базы использует? с возможностью зашифровать базу
Alexiagray
su
кто какие встраиваемые базы использует? с возможностью зашифровать базу
чтобы сразу закрыть топик = MYSQL DES_ENCRYPT / DES_DESCRYPT / ENCODE / DECODE / ENCRYPT /DECRYPT в SELECT INSTERT UPDATE, правда, не локальная
Олег
Зачем тебе шифровать базу для локального юзера
если не шифровать, то как минимум пароль поставить на базу
Олег
всем спасибо, вопрос решен
Anonymous
Кто-нибудь сталкивался с тем, что когда делаешь browserwindow.hide() то выполнение js кода в том окне останавливается?
Boris
просто до ручного NSIS доходит мало народу, большая часть так и остается сидеть на том же обычном NSIS
получилось ли в итоге собрать полностью кастомный NSIS? всё перерыл, так и не нашёл примеров такого использования.
Electron.js releases
v10.0.0-nightly.20200212 https://github.com/electron/electron/releases/tag/v10.0.0-nightly.20200212 v10.0.0-nightly.20200212
Алексей
Кто-нибудь сталкивался с тем, что когда делаешь browserwindow.hide() то выполнение js кода в том окне останавливается?
Да. Это стандартное поведение браузера. Для того чтобы не останавливались нужно через API браузеру об этом сказать.
Vadim
Кто-нибудь сталкивался с тем, что когда делаешь browserwindow.hide() то выполнение js кода в том окне останавливается?
Ммм, что-то не сталкивался, у меня приложение так работало (но это было давно 1.8.7)
Алексей
А каким образом это сделать?
https://developer.chrome.com/apps/api_index
Vadim
https://developer.chrome.com/apps/api_index
С каких это пор в электроне у нас хром? И вообще, кинуть корнем доки некрасиво
Алексей
👎
не... это что-то не то...
Алексей
что-то не могу сейчас найти .
Danila
Гуглите background throttling
Rustam
получилось ли в итоге собрать полностью кастомный NSIS? всё перерыл, так и не нашёл примеров такого использования.
есть несколько условий: 1 - режим полноценного не однокликочного инсталлятора 2 - копаешься в исходниках electron builder и там есть условие когда custom NSIS - не подписывать - откатываешь это условие так как будто у тебя не Custom NSIS
Anonymous
Гуглите background throttling
Спасибо. Но походу его поломали и не собираются чинить
Danila
В 7 и 8 все работает. Его можно выключить через флаги и конструктор окна
Anonymous
Успели починить?
Danila
А зачем вам requestAnimationFrame в невидимом окне?
Anonymous
А зачем вам requestAnimationFrame в невидимом окне?
Анимировать невидимые красоты. Сейчас попробую, может реально всё работает
Danila
Показатель качества кода
Раскройте мысль, если не сложно)
Vadim
А зачем вам requestAnimationFrame в невидимом окне?
Я имел ввиду: "+++")) Ну как бы использовать анимации в скрытом окне, такое себе
Danila
Я уже вилы и факелы приготовил))
Vadim
А для чего-то другого это не нужно, это костыль для браузеров, но в электроне такое использовать бред
Vadim
Я имею ввиду про заморозку, что в браузерах костылят
Danila
Согласен, но у меня в SharedWorker'е three.js отлично рендерит в скрытом окне
Danila
Скорее всего все подправлено, но я не могу утверждать на 100% за requestAnimationFrame, так как использую setInterval в фоне. С ним все отлично
Vadim
Та все все поняли)) Тут вопроса не стоит, согласен абсолютно со всем выше сказанным 👍😉
Anonymous
Anonymous
Нет, найдешь ответит отпишись плиз))
Нашел ответ :) Вот есть библиотечка - https://github.com/sentialx/node-window-manager У нее есть метод - requestAccessibility Он делает конкретно то, что я хочу, но еще и показывает диалог. Можно допилить сорцы ( или вообще вынести этот метод отдельно ) https://github.com/sentialx/node-window-manager/blob/master/lib/macos.mm#L16 чтобы не показывал диалог
Anonymous
В целом разобраться с napi можно при помощи https://medium.com/@atulanand94/beginners-guide-to-writing-nodejs-addons-using-c-and-n-api-node-addon-api-9b3b718a9a7f и репозитория выше