N
Всем привет! Подскажите, пожалуйста, подойдет ли электрон для GUI на raspberry pi на linux? Главное условие - возможность общаться с приложением не по HTTP, а по собственному протоколу. Сейчас приложение написано на С++ и с сетью там можно делать все что угодно, но не нравится возня с графикой. Хочется того же сетевого функционала, но с красивой графикой на React. Накидайте примеров, если знаете.
N
Electron это хромовский движок с обвесами, где запустится chrome browser, значит там будет работать electron app. Поэтому приложение весит много, но упрощает разработку приложения.
Я не работал раньше с этим движком, поэтому не знаю его возможностей. Большой вес - не критично, к этому готов. Мое представление о web сводится к тому, что фронтенд с бэкендом обмениваются через http запросы в том или ином виде. Поэтому прошу совета у сообщества, чтобы понять предоставляет ли электрон нужный мне функционал с полным управлением сетевым обменом и стоит ли погружаться в технологию
N
внутри electron есть nodejs а nodejs позволяет общаться как захочешь можно ещё и любой модуль на C++ подключить и адаптировать для js
Вы имеете в виду это? https://nodejs.org/api/net.html https://nodejs.org/api/dgram.html вроде выглядит как то, что мне нужно
N
спасибо, думаю есть смысл поковырять
Dmitr
Парни, выручайте
Ну сам подумай, нужны в рендер процессе пользователю доступы к внутрянке утилит твоего приложения?
Vlad
preload работает как надо, и нода в нем доступна
endifai
Всем привет. Можно ли в electron добавить в контекстное меню функцию share для mac os?
Андрей
Привет! Как можно закрепить окно electron чтобы другие программы / приложения не перекрывали его сверху и не сворачивали в трей ?
Андрей
Т.е. сделать поверх остальных окон , например как диспетчер задач на windows
Bakhrom
Привет всем. Можно ли в Electron приложении запускать локальный mongoDb?
Sergey
Привет всем. Можно ли в Electron приложении запускать локальный mongoDb?
Придется забандлить его или ставить отдельно и потом искать свободный порт для запуска
Sergey
Привет всем. Можно ли в Electron приложении запускать локальный mongoDb?
Но скорее всего тебе не нужен монго. А любой другой аналог sqlite
Bakhrom
Придется забандлить его или ставить отдельно и потом искать свободный порт для запуска
понятно. а какой вы порекомендуете? приложение большое и объем данных огромный
Bakhrom
Какое направление приложения?
Финансы и бухгалтерия
Sergey
Финансы и бухгалтерия
Sqlite будет прям то что нужно
Sergey
И структура с валидацией есть И сохранение в файл
Bakhrom
Sqlite будет прям то что нужно
там же запросы как в mysql?
Sergey
Sergey
Поэтому можно взять sequelize, knex или typeorm
Bakhrom
ОК
Sergey
Ну и вероятность убить данные намного меньше, чем с монгой
Bakhrom
благодарю за совет
Yura
Всем привет. Кто то сталкивался с read ECONNRESET ? Мое приложение скачивает архив по ссылке а потом его распаковывает и вот при скачивании вот такая ошибка
Илья
Павел
Всем привет. Использую react вместе с electron js. Хотелось бы узнать кто как делал роутинг.
Lev
Так обычный реакт роутер чем не угодил?
Maksim
Подскажите, есть хороший материал как защитить приложение - код, лицензии и все такое?
Maksim
Вот
Ага, спасибо, идея интересная
Anonymous
Ага, спасибо, идея интересная
Можно еще этим ключевые файлы "зашифровать" https://github.com/javascript-obfuscator/javascript-obfuscator Не спасет, но можно чуток подпортить настроение взломщику. Хотя такие вещи можно обойти смекалочкой и терпением. На ютубе есть ролики
Maksim
Можно еще этим ключевые файлы "зашифровать" https://github.com/javascript-obfuscator/javascript-obfuscator Не спасет, но можно чуток подпортить настроение взломщику. Хотя такие вещи можно обойти смекалочкой и терпением. На ютубе есть ролики
Спасибо. Еще заметил интересное решение - шифровать архив asar: const crypto = require('crypto') var password = new Buffer(‘my secret password’); function transform(filename) { return crypto.createCipher(‘aes-256-cbc’, password); } asar.createPackageWithOptions(src, dest, { transform: transform }..)
Maksim
Жаль, что с базой это не прокатит
Maksim
надо еще как-то базу sqlite зашифровать
Maksim
То есть, в коде будет ключ шифрования?) С-Сесюрность
Да, но напрямую архив не открыть. Я так понимаю в этом суть )
Maksim
А нужно ли прятать пароль и на сколько он открыто лежит - я, к сожалению, не разбираюсь )
Павел
какую библиотеку использовать для работы с реестом windows? Пробовал regedit, в dev все работает, а в билде непонятные ошибки
Павел
с ними тоже не работало
Павел
использовал другую winreg, и все по маслу
Rustam
у меня regedit в коде
Rustam
работает без нареканий
Maksim
Подскажите, кто-то работал в Electron с большими данными и локальной БД? Попробовал использовать sql.js, но не понравилось, что данные грузятся в память. Получается, что база на 10Гб и даже меньше, будет создавать проблемы. Какие еще есть варианты?
Maksim
IndexedDB также съест кучу места на диске
Диск меня волнует мало, скорее боюсь за оперативную память
Rustam
не пробовал её под электрон, но жрёт место на диске дохрена, по памяти не видел проблем
Lev
Не надо использовать под большие данные локальную ДБ - поставьте на машину postgres
Lev
вместе с электроном например
Lev
и напишите скрипт создания и заполнения БД при первоначальном запуске например
Maksim
не пробовал её под электрон, но жрёт место на диске дохрена, по памяти не видел проблем
Это не полноценная БД реляционная, я так понимаю? То есть не получится нормальные запросы же использовать для выборок, группировок и всего такого. Мне нужно аналитику делать с данными.
Lev
Можно установку даже в инсталлер впихнуть (если инсталлер ручками собрать)
Rustam
сильно отличается от MySQL
Lev
У IndexedDB ограничение на хранение примерно 500 мегабайт
Maksim
Не надо использовать под большие данные локальную ДБ - поставьте на машину postgres
Увы, с одной стороны не хочется базу открывать, а с другой - 500 пользователей, всем настраивать БД... ну такое
Lev
что будет при пробитии размера?
Ниразу не пробивал - не знаю) Вероятно какая то браузерная ошибка о превышении)
Maksim
sqlite пока только
Lev
У каждого свои
ну возможно все равно имеет смысл сделать сервер БД для таких вещей это возможно будет проще и в поддержке и в обновлении
Lev
Ну и шансов продолбить данные меньше)))
Rustam
https://stackoverflow.com/questions/52921552/electron-indexeddb-limit
Maksim
ну возможно все равно имеет смысл сделать сервер БД для таких вещей это возможно будет проще и в поддержке и в обновлении
Такой вариант рассматривается, но хочется все локализовать, чтобы данные не выходили за пределы одного компьютера