Anonymous
Я выбрал lokijs
Lev
su
Хмммм. Я смутно помню, что мудохался и плюнул. Интересно какие последствия использования lokijs и как оно мне в ногу выстрелит :)
ну просто, sqlite любой тебе ответит, протестирует или даже запустит у себя запрос, а на lokijs такой халявы не будет. а что если у тебя там foreing key из попы реализованы или вообще, однобазовая, кака-нить или in-memory only, без персистности, и думай сам потом, как прикрутить... вот слету трабла персистности lokijs, читай, пока есть время... https://github.com/techfort/LokiJS/issues/572
Anonymous
ну просто, sqlite любой тебе ответит, протестирует или даже запустит у себя запрос, а на lokijs такой халявы не будет. а что если у тебя там foreing key из попы реализованы или вообще, однобазовая, кака-нить или in-memory only, без персистности, и думай сам потом, как прикрутить... вот слету трабла персистности lokijs, читай, пока есть время... https://github.com/techfort/LokiJS/issues/572
А как у sqlite с доступом из мейна и рендера? Или рекомендуется только писать/читать из мейна и пробрасывать в рендер?
Anonymous
Alexiagray
su
Anonymous
Получается, что любое обращение к базе это месседж между рендером и мейном, и нужно держать redux/vuex чтобы стейт в рендере поддерживать?
Anonymous
Мысли вслух: если открыть соединение к базе из мейна и рендера, то ведь данные не будут автоматом синхронизироваться между двумя соединениями? значит нужно знать когда одна из сторон что-то поменяла и заново читать данные
su
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
Кто может подсказать, хочу подключить 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
Роман
Олег
кто какие встраиваемые базы использует?
с возможностью зашифровать базу
Alexiagray
Олег
Олег
всем спасибо, вопрос решен
Anonymous
Кто-нибудь сталкивался с тем, что когда делаешь browserwindow.hide() то выполнение js кода в том окне останавливается?
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
Алексей
Vadim
Vadim
Anonymous
Vadim
Алексей
👎
не... это что-то не то...
Алексей
что-то не могу сейчас найти .
Danila
Гуглите background throttling
Boris
Danila
В 7 и 8 все работает. Его можно выключить через флаги и конструктор окна
Anonymous
Anonymous
Успели починить?
Danila
А зачем вам requestAnimationFrame в невидимом окне?
Vadim
Danila
Я уже вилы и факелы приготовил))
Vadim
А для чего-то другого это не нужно, это костыль для браузеров, но в электроне такое использовать бред
Vadim
Я имею ввиду про заморозку, что в браузерах костылят
Danila
Согласен, но у меня в SharedWorker'е three.js отлично рендерит в скрытом окне
Danila
Скорее всего все подправлено, но я не могу утверждать на 100% за requestAnimationFrame, так как использую setInterval в фоне. С ним все отлично
Vadim
Та все все поняли)) Тут вопроса не стоит, согласен абсолютно со всем выше сказанным 👍😉
Anonymous
Danila
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 и репозитория выше