Dastan
Ничем, делать лень)
🅰️nimeCoder
Ничем, делать лень)
вот с этого и надо начинать
AlexeyFilippov
всем привет пока не погружался в электрон есть несколько вопросов
AlexeyFilippov
могу ли я создать создать виндовс приложение которое будет при старте виндовс запускаться аля автозагрузка но без ui windows и продолжать работу на фоне, но при клике на ярлык раскрывать приложение? и в трее приложений хранить иконку с контекстным меню
AlexeyFilippov
как и любое другое приложение, да
спасибо! отличные новости
🅰️nimeCoder
ну или hide окна, правда вероятно жрать будет не сильно меньше чем без hide
AlexeyFilippov
просто не создавай окно
окно потребуется все равно видимо можно отдельно сценарии написать для автозапуска чтобы без окна
🅰️nimeCoder
hide переключить быстрее чем создать и загрузить окно, тк все уже загружено
AlexeyFilippov
ну или hide окна, правда вероятно жрать будет не сильно меньше чем без hide
ну да процесс все равно запущен и крутится на фоне а вот такой момент, можно же сделать install и uninstall этого приложения?
AlexeyFilippov
ну да процесс все равно запущен и крутится на фоне а вот такой момент, можно же сделать install и uninstall этого приложения?
и главное сделать установку другого приложения обязательного по типу .net6.0 runtime
AlexeyFilippov
при install
AlexeyFilippov
и главное сделать установку другого приложения обязательного по типу .net6.0 runtime
я просто не знаю как они собираются эти пакеты опишу в идеале задачу которую хотел бы решить мое приложение требует .net6.0 runtime установленного или выше но если у меня возможность узнать если в системе это приложение и тогда не устанавливать иначе install
Michael
Относится ли это к теме электрона?
AlexeyFilippov
Относится ли это к теме электрона?
самым прямым образом же электрон собирает образ же
Кирилл
Всем привет, использую electron-builder и electron-webpack для сборки проекта, хотел бы обновиться на webpack 5, но electron-webpack не поддерживает webpack 5, есть какие-то альтернативы для electron-webpack пакета?
Всем привет, решил использовать electron-vite, есть пара вопросов, как выводить нормальный stackTrace, если ошибка произошла в main процессе? Запускаю сборку вот такой командой - electron-vite dev --watch --sourcemap --outDir ./dist сурсмапы генерятся, но трэйс ошибки ссылается на файл /dist/main/index.js Как-то странно работает hot reloading, два раза перезапускается нормально, а на третий раз крашится, причем ошибок никаких нет, мб кто-то сталкивался с таким и знает как решить?
🅰️nimeCoder
Честно говоря все эти electron-%shit% такое себе обычно для юза в проекте
🅰️nimeCoder
Сдохнет оно и трындец какой гемор переносить проект обычно
Кирилл
лучше свою сборку на vite написать?
Michael
лучше свою сборку на vite написать?
IMO, возьмите вебпак и напишите конфиг, который будет собирать весь main process код
🅰️nimeCoder
лучше свою сборку на vite написать?
Или самому или покраней мере взять что-то из официального что хотяб имеет больший шанс на поддержку в дальнейшем Типа electron forge
Кирилл
Всем привет, решил использовать electron-vite, есть пара вопросов, как выводить нормальный stackTrace, если ошибка произошла в main процессе? Запускаю сборку вот такой командой - electron-vite dev --watch --sourcemap --outDir ./dist сурсмапы генерятся, но трэйс ошибки ссылается на файл /dist/main/index.js Как-то странно работает hot reloading, два раза перезапускается нормально, а на третий раз крашится, причем ошибок никаких нет, мб кто-то сталкивался с таким и знает как решить?
я кароч порешал эти вопросы, мб кому-то будет полезно: 1) Чтобы заработали сурсмапы я запускаю сборку так: NODE_OPTIONS='--require source-map-support/register' electron-vite dev --watch --sourcemap --outDir ./dist 2) Чтобы нормально работал hot reloading я добавил process.exit(0) для ивента before-quit: app.on('before-quit', () => { process.exit(0) }) Но всё равно буду скорее всего переделывать сборку без использования этого electron-vite, чёт он стрёмный какой-то
🅰️nimeCoder
я кароч порешал эти вопросы, мб кому-то будет полезно: 1) Чтобы заработали сурсмапы я запускаю сборку так: NODE_OPTIONS='--require source-map-support/register' electron-vite dev --watch --sourcemap --outDir ./dist 2) Чтобы нормально работал hot reloading я добавил process.exit(0) для ивента before-quit: app.on('before-quit', () => { process.exit(0) }) Но всё равно буду скорее всего переделывать сборку без использования этого electron-vite, чёт он стрёмный какой-то
Есть проект на electron-vue так шаблон сдох года 4 назад, а его билд скрипты и часть зависимостей все еще не даёт отказаться от этого дерьма) Бесспорно если перелопатить весь код, конфиги и выпилить это наверное можно перейти, но я просто упиралсясв какую то хрень и в итоге просто не захотелось решать проблемы временем, так и работает с ним. Но там чисто поддержка, нет особо нового чего-то в проекте
Данил
Если ты про electron-vue-vite
Данил
https://github.com/electron-vite/electron-vite-vue
🅰️nimeCoder
🅰️nimeCoder
Тот вебпак ещё кстати, быстрый шо трындец
_dimon_chick_
Кто какой проект делает ?
Alexey Filippov
Кто какой проект делает ?
завтра буду приложение делать на электроне не хочешь в двояка написать?
Alexey Filippov
сори возник вопрос электрон работает как нод приложение?
Alexey Filippov
и как быть если планируется использование ноде жс библиотеки
Sergey
main-процесс запускается в nodejs renderer-процесс запускается в chromium
Max
Всех приветствую. Просьба пояснить или куда то перенаправить. Делаю приложение. По кнопке в главном окне открывается child, по кнопке в child нужно вызвать функцию обновления данных в основном окне (ну короче вызвать функцию), и закрыть child. Я пока даже закрыть не могу.
Michael
и как быть если планируется использование ноде жс библиотеки
Подойдут все библиотеки без нативных модулей. Библиотеки с нативными модулями придётся пересобрать
🅰️nimeCoder
Подойдут все библиотеки без нативных модулей. Библиотеки с нативными модулями придётся пересобрать
Звучит так будто бы это прямо дикая проблема. В большинстве это делается без участия тебя
🅰️nimeCoder
Исключения с гемором нативок бывают конечно, но их не так много
Michael
Звучит так будто бы это прямо дикая проблема. В большинстве это делается без участия тебя
Я не встречался с трудностями, так как не было необходимости. Что если, JS код main процесса собирается на линуксе, а приложение пакуется отдельно на винде и маке? Как в таком случае организовать CI? Звучит как что-то нетривиальное
Michael
Я только самописные модули делал, которые я собираю через cmake на этапе упаковки (на винде и маке)
🅰️nimeCoder
Я не встречался с трудностями, так как не было необходимости. Что если, JS код main процесса собирается на линуксе, а приложение пакуется отдельно на винде и маке? Как в таком случае организовать CI? Звучит как что-то нетривиальное
странное решение однако Но можно точно сказать что собрать на Win и Linux можно с линукса полностью и само приложение, и бэк и фронт и нативки. Тут все спокойно делается через Wine (просто поставить его в систему, тот же электрон билдер сам разберется) Если очень постараться и выделать достаточно места (гигов 70) то можно запустить макось в докере
🅰️nimeCoder
странное решение однако Но можно точно сказать что собрать на Win и Linux можно с линукса полностью и само приложение, и бэк и фронт и нативки. Тут все спокойно делается через Wine (просто поставить его в систему, тот же электрон билдер сам разберется) Если очень постараться и выделать достаточно места (гигов 70) то можно запустить макось в докере
В силу специфичности яблочной платформы, конечно лучше иметь девайс на котором можно собрать под нее. Однако отдельной сборки частями (не представляю за чем это нужно) в комбинации Linux -> macos (50% на 50%) я никогда не делал, все сборки конкретно под мак из под Github actions с их бесплатными 1к часов на паблик репу где для макоси это время идет 2:1 по идее достаточно будет воспроизвести нужное окружение а потом раскинуть .node файлы А нативок хватает, из популярного node-canvas, bcrypt, sqlite тот же
Alexey Filippov
всем ку renderer: { root: '.', build: { rollupOptions: { input: { index: resolve(__dirname, 'index.html') } } } } пытаюсь поменять распложение index.html инструкция из доки не работает
Alexey Filippov
не нашел где еще могут ссылаться на index.gtm
🅰️nimeCoder
судя по всему весь объект renderer напрямую передается в конфиг сборщика, так что чтать нужно по сборщику доку
🅰️nimeCoder
а ссылается обычно в двух местах, тут и при открытии окна
AlexeyFilippov
а ссылается обычно в двух местах, тут и при открытии окна
ну вот в деф моде он только окно открывает и не пойму почему в деф режиме в папку out не попадает renderer если вернуть папку в /SRC/renderer работает странно в общем
belyy.lis
Всем привет. Хочу прогу написать. Что лучше взять, Electron + React, или на Flutter клипать? Может кто тыкал флаттер, подскажите, где меньше проблем?
🅰️nimeCoder
Ну проблем явно больше в принципе, а вот есть ли профит - вопрос
🅰️nimeCoder
Все равно он не будет такой как нормальное нативное приложение. кросс платформенность там тоже вроде крайне херовая. А что на счёт простоты, я думаю и так понятно на веб решений три горы, а вот с флаттером будет это под вопросом
belyy.lis
Все равно он не будет такой как нормальное нативное приложение. кросс платформенность там тоже вроде крайне херовая. А что на счёт простоты, я думаю и так понятно на веб решений три горы, а вот с флаттером будет это под вопросом
Ну я тоже думаю, просто на Electron куча прил написаны, которыми я лично пользуюсь постоянно и миллионы людей, а вот на Flutter таких, на десктоп, по крайней мере я не встречал.
nikolay
делал приложение года три назад на флаттере. На тот момент это было всё крайне сыро. Какая ситуация сейчас - не знаю. Но насколько помню, уже на тот момент у флаттера было аппаратное ускорение графики.
belyy.lis
А Electron + React + Vite кто-то пробовал связку? Норм работает?
belyy.lis
Норм
Template есть такой?
Ratatata
Template есть такой?
https://electron-vite.github.io/guide/getting-started.html
AlexeyFilippov
вот интересное поведение со мной поделились электрон вайт стартер пак но фронт часть загружается с задержкой +-2секунды и это очень раздражает
AlexeyFilippov
это типичное поведение?
🅰️nimeCoder
а хотя понял, ну сомтря где задержка, ничего не понятно если честно
AlexeyFilippov
а хотя понял, ну сомтря где задержка, ничего не понятно если честно
а том то и дело что не понятно window открылся и через задержку 1-2 секи выводится hello world но пока времени не было особо разбиваться, первый взгляд просто
🅰️nimeCoder
как минимум там идет еще подготовка ресурсов которые ты запрашиваешь по http
🅰️nimeCoder
плюс желательно не показывать окно пока не загрузились ресурсы, это дает white flash
🅰️nimeCoder
hide: true ready-to-show -> hide = false это база из документации
🅰️nimeCoder
vite, dev mode
🅰️nimeCoder
vite, dev mode
это холодный старт, я даже .vite удалил
AlexeyFilippov
это холодный старт, я даже .vite удалил
правильно ли понимаю, что nextjs в электроне еще экспериментальный режим? поэтому только реакт по сути
belyy.lis
Ребят, а навигацию делать через react-router-dom? Или для электрона есть другая вещь какая-то?
nikolay
Представь что окно с электроном это браузер и работай с ним как с браузером
🅰️nimeCoder
например проблемы с кнопками мыши (назад вперед) для spa и др
🅰️nimeCoder
например проблемы с кнопками мыши (назад вперед) для spa и др
там можно докрутить назад в плоть до about:blank
belyy.lis
Представь что окно с электроном это браузер и работай с ним как с браузером
Да я знаю, что это хромиум. Я писал игры на нем, но года 3 назад. Но чет не хочет нормально router работать.