Завтра
я не против наполнения кучей дерьма, если эта куча дерьма не мозолит глаза наличием в папке проекта
Sheldhur
если у тебя однокнопочное приложение то может лучше вообще отказаться от реакта?
Konstantin
я знаю, но это дерьмо не торчит наружу вот так
беда с cra в том что рано или поздно придеться делать eject, если проект более менее серьезный и нужно сделать шаг в сторону. а вот результат этого eject мало кому понравиться. и если с нуля писать все конфиги и настраивать модули то хотя бы будет понимание того, как они работают и зачем эта "куча дерьма" присутсвует в проекте IMHO)
Andrey
Простите, а что есть cra? Я что-то за эмоциями не могу найти определения
Konstantin
create-react-app
Andrey
аа, конкретный шаблон. Спасибо
Konstantin
аа, конкретный шаблон. Спасибо
это даже не шаблон, а cli набор утилит
Завтра
Зачем вы говорите мне, что делать, если это вообще не касается вопроса, который я задал? Ребята, алло Причем здесь однокнопочное приложение или необходимость в eject’e Я пишу приложение строго под одну среду без различных кастомных билдов, без использования stage-0 фич итд, мне не нужны конфиги наружу, НЕ-НУ-ЖНЫ Нахера, простите, вы мне говорите про cra, если речь не о нем вовсе? Что за черта дурацкая
Konstantin
сорян, я то не читал ничего, просто увидел отдельный мессаг, высказал что думаю.
Завтра
Какие-то кулстори про понимание того, как это работает итд, с конфигами я и так ебусь постоянно С электроном соединить пробую первый раз, да, но это не значит, что абсолютно каждую букву конфигов мне нужно написать самому и оставить торчать в проекте
Arsenii
Кто-то использовал https://proton-native.js.org ?
Arsenii
спасибо!
Завтра
вот это вы некропостеры
Sheldhur
лучше поздно чем никогда
Алексей
Подскажите как получить путь по которому установлено приложение?
Anton
Подскажите как получить путь по которому установлено приложение?
Или может еще пригодится https://electronjs.org/docs/api/app#appgetpathname
Завтра
Ребят, вот, кстати, насчёт этой штуки У меня в приложухе будет папка plugins, в дев-режиме где она должна будет находиться? И как её после установки потом создать
Anton
Ребят, вот, кстати, насчёт этой штуки У меня в приложухе будет папка plugins, в дев-режиме где она должна будет находиться? И как её после установки потом создать
ну у меня в дев режиме подобная папка создается, там где и будет в продакшн. А при запуске приложения в main process я проверяю, создана ли такая папка, если нет, то создаю пустую и наполняю начальным содержимым. Но не факт, что это оптимальное решение
Завтра
"там, где и будет в продакшн" Вот я чёт не понимаю, что является папкой приложения, если оно не установлено, а просто запущено через electron .
Anton
я храню не в папке приложения, а в home директории пользователя
Anton
.folderName
Anton
Anton
"там, где и будет в продакшн" Вот я чёт не понимаю, что является папкой приложения, если оно не установлено, а просто запущено через electron .
На этот вопрос ответ не дам. Но приложение пакуется asar архив при сборке, это можно отключать.
Завтра
я храню не в папке приложения, а в home директории пользователя
Так а с виндой как быть? Там нет такой директории
Andrey
Есть в любой OS. Можно получить через https://electronjs.org/docs/api/app#appgetpathname
Anton
Так а с виндой как быть? Там нет такой директории
В винде папка так же создается в корневой папке пользователя
Andrey
Я бы рекомендовал создавать внутри appData либо userData
Завтра
Окей, буду пробовать
Anton
Anton
Я бы рекомендовал создавать внутри appData либо userData
Тоже так думаю, думаю потом перевести туда эту папку)
Andrey
Ну, оно даже из названия намекает. Единственное, я не в курсе, будет ли Windows синхронизировать %APPDATA%, то есть в local или roaming оно будет. Если roaming, то это прям «как доктор прописал».
Завтра
В чем разница, кстати, local и roaming?
Завтра
Appdata создаёт в roaming вроде
Default
В чем разница, кстати, local и roaming?
Windows uses the Local and LocalLow folders for application data that does not roam with the user. Usually this data is either machine specific or too large to roam. The AppData\Local folder in Windows Vista is the same as the Documents and Settings\username\Local Settings\Application Data folder in Windows XP. Windows uses the Roaming folder for application specific data, such as custom dictionaries, which are machine independent and should roam with the user profile. The AppData\Roaming folder in Windows Vista is the same as the Documents and Settings\username\Application Data folder in Windows XP.
Andrey
Роуминг синхронизируется между машинами с одним аккаунтом.
Завтра
Ааа, это если я с этого же акка зайду на другом пк?
Andrey
да.
Алексей
Подскажите можно ли расширить функционал приложения через DLL написанную на .NET?
Идель
Подскажите можно ли расширить функционал приложения через DLL написанную на .NET?
Можно, но придётся тащить с приложением дотнет рантайм и наладить коммуникацию между юай и дотнет процессами
Andrey
Разве .net не идет с win из коробки? По части актуальных ОС вроде это не проблема.
Идель
По моему опыту у многих пользователей старая винда или в разбитом неконсистентном состоянии. Но можно на своих пользователях провести эксперимент)
Идель
По хорошему, мне кажется, лучше сначала релизнуть с рантаймом в инсталлере, собрать статистику и потом уже принимать решение об уменьшении инсталлера
Завтра
у меня есть бойлерплейт на TypeScript - https://github.com/lieone/typescript-react-boilerplate если заинтересует - могу объяснить что да как. по идее можно легко переделать на обычный js
Кста, насчет каркаса - вот этот более-менее зашел, только я убрал ts и добавил electron-wait-react в дев скрипт, чтобы не запускать отдельно электрон
Ildar
Всем привет. Подскажите пожалуйста почему electron-builder пытается загрузить winecodesign-2.0.0 и падает при сборке приложения для windows в docker? Нативные библиотеки не используются.
Andrey
Скрин скидывал там карта была
Завтра
Да
Andrey
У иконки из трея
Andrey
Да
Как?) Мне на будущее
Завтра
Загуглилось быстро
Завтра
ща найду
Завтра
Короче, создаешь трей (new Tray) и окно
Завтра
const getWindowPosition = () => { const windowBounds = mainWindow.getBounds() const trayBounds = tray.getBounds() // Center mainWindow horizontally below the tray icon const x = Math.round( trayBounds.x + trayBounds.width / 2 - windowBounds.width / 2 ) // Position mainWindow 4 pixels vertically below the tray icon const y = Math.round(trayBounds.y + trayBounds.height + 4) return { x: x, y: y } } Координаты для окна берутся так
Завтра
+ это для того, чтобы иконка активная/неактивная становилась mainWindow.on("show", () => { tray.setHighlightMode("always") }) mainWindow.on("hide", () => { tray.setHighlightMode("never") })
Завтра
+ это обработчик клика по иконке, который скроет/покажет окно tray.on("click", toggleWindow) const toggleWindow = () => { if (mainWindow.isVisible()) { mainWindow.hide() } else { showWindow() } } const showWindow = () => { const position = getWindowPosition() mainWindow.setPosition(position.x, position.y, false) mainWindow.show() mainWindow.focus() }
Завтра
сори за портянку
Ildar
докер это всегда линукс, поэтому о каких нативных идет речь?
Просто пустой проект без каких либо нативных зависимостей. Меня спутало то что у них на сайте написано что если есть нативные зависимости то можно только на целевой платформе собирать: "If your app has native dependency, it can be compiled only on the target platform unless prebuild is not used." Думал что если нет зависимостей будет и без wine собиратся для windows.
Electron.js releases
v2.0.6 https://github.com/electron/electron/releases/tag/v2.0.6 v2.0.6
Electron.js releases
v3.0.0-beta.4 https://github.com/electron/electron/releases/tag/v3.0.0-beta.4 v3.0.0-beta.4
Sergey
как там тройка, кстати? еще рано?
Sergey
с ней импорты можно будет по идее
Anonymous
привет, можно ли в электрон юзать что то наподобии аппаратного ускорения хрома?
Инал
Привет. Есть приложение, которое работает с таблицей. Все изменения идут через сеть. Но приложение должно работать оффлайн. Как в таком случаем хранить запросы на бэк до появления сети? Есть готовый инструмент?
Фенька
храни в локалсторадже
Завтра
А есть ли че-то поумнее localStorage? Чтобы и в main процессе можно было достать
Tema
Привет. Есть приложение, которое работает с таблицей. Все изменения идут через сеть. Но приложение должно работать оффлайн. Как в таком случаем хранить запросы на бэк до появления сети? Есть готовый инструмент?
Есть библиотека для PWA, основанная на ServiceWorker'ах, там есть модуль, который отвечает за оффлайн работу Google Analytics, можно оттуда взять часть кода, который отвечает за детект онлайна/оффлайна и помещает запросы в локальное хранилище (а-ля очередь задач или стэк), и при появлении доступа в сеть производит поочередное исполнение запросов из очереди. https://workboxjs.org
Завтра
И чтобы не писать json.parse/json.stringify по кд
Фенька
хм, а если во время оффлайн режима закрыть приложение данные должны остаться в системе?
Фенька
хотя логично что да
Sergey
не могу нигде найти инфу о статусе готовности электрона 3
Sergey
кто-нить видел?
Anonymous
Статуса не видел, но подозреваю что еще не готово, хотя я на 4-й бете вполне нормально живу
Sergey
мне бигинты бы
Sergey
но непозволительно чтобы что-то падало
Sergey
там еще и абортконтроллер