Andrew
Могу скриншотами скинуть)
Vadim
Могу скриншотами скинуть)
Та сфоткай монитор на телефон
Vadim
Скрины слишком сложна
Vadim
Ладно, это уже перебор. Просто если ты создашь на github репу, то ее проще посмотреть, не у всех есть winrar. И вряд-ли кто-то захочет скачивать левые файлы.
Andrew
https://github.com/Mukzer15052003/test
Andrew
Вроде как правильно залил, ранее не выставлял нечего на гитхаб, только брал с него)
Vadim
npm i сделай заново @qmorozov только удали сначала папку с модулями
Andrew
Да, всё заработало! Спасибо!)
S
А потом в форумах жалуются что быдло программ на электроне все больше
倫太郎
Anonymous
А потом в форумах жалуются что быдло программ на электроне все больше
Могу скинуть мою статью на хабре, я придумал очень не плохую архитектуру для приложений на electron, уже несколько приложений на основе этого сделал
Anonymous
Настанет царство истинны: https://habr.com/post/427777/
Anonymous
Грубо говоря суть в том что каждое окно приобретает свой класс и свои методы ака свой апи через который все действия с ним происходят, туда можно напихать совсем все, в частности конфиг окна.
Anonymous
Каждое окно (а в моем случае их много) имеет свой реади реализованный промисом, кароче говоря мы тупа дожидаемся инициализации всех окон
Завтра
Понять бы еще, для чего столько абстракций и кода
Anonymous
Понять бы еще, для чего столько абстракций и кода
В смысле ? Тебе удобней писать все в кучу ?
Anonymous
Мне вот нет и я на этом обосрался первый раз когда делал свой впн и поэтому я придумал так
Завтра
Понятия не имею, о каких кучах речь, если честно
Anonymous
Окей, предложи что-то годное
Завтра
Ну типа, ок, есть 5 окон Ну и сделать const wins = {} const createWin = (id, url, options) => { wins[id] = createWindow(url, options) return wins[id] } const createVpnWin = () => createWin('VPN', 'url', { ... }) ну итд Какую проблему решают там классы с какими-то обертками над ивентами, я не очень понимаю
Завтра
Не покажу, ибо в моем приложении одно окно Но я не понимаю, что ты этим хочешь доказать - что таких приложений нет, что это будет хреново работать, или что ты не веришь, что можно писать проще?
Oleksii
Разница в том, что у тебя скриптовый подход, а у него ООП подход
Завтра
Define скриптовый подход
Завтра
Такой парадигмы не существует
Anonymous
То что ты написал, выглядит на уровне разъяснения: почему ты не сделаешь все переменные глобально зачем тебе области видимости — то есть совсем не убедительно и не впечатляющи, когда у тебя будет таких окон 10-20 ты прикуришь еще как с своим createWin, у меня приложение имеет осмысленную гибкую структуру, я не хочу доказать тебе ничего мне все равно я просто делюсь подходом, ты можешь его критиковать но делай это конструктивно иначе смысла в диалоге нету и это выглядит просто как: «Я не понимаю, но я доебусь» ты сначала вырази свою идею достаточно чтобы опровергать мою иначе смысла твои 4 строчки не имею
Anonymous
Я совсем не понимаю как мне быть с теми четырьмя строчками что ты написал
Anonymous
Можешь написать проще, напиши и покажи
Завтра
Половина кодовой базы твоего приложения заворачивает ивенты и методы окон электрона в методы классов. Причем, мало того, что она это делает, так ты еще в каждом классе это повторяешь, не используя возможности ООП, которое ты заюзал. Этот сизифов труд настолько бессмысленен и бесполезен, что даже спорить бессмысленно
Завтра
Более того, ты говоришь "ты еще прикуришь со своим createWin", но в конструкторах твоих классов абсолютно то же самое
Завтра
То есть ты ничего не сделал, кроме как создал класс и положил туда инстанс окна, это не ООП, это "я заюзал классы и не знаю зачем"
Завтра
Видимо, я действительно что-то не понимаю и доебываюсь
Anonymous
Более того, ты говоришь "ты еще прикуришь со своим createWin", но в конструкторах твоих классов абсолютно то же самое
Я сделал как мне удобно, можно было и в конструктор передать эти настройки окна
Завтра
Я даже могу пойти еще дальше и сказать, что привязывать API приложения к окнам - долбоебизм, и логика всего приложения должна быть отвязана от конкретных окон
Завтра
То есть ты де факто говоришь, что нигде в приложении, кроме как в этом окне, не существует настроек, но это де факто не так
Anonymous
Видимо, я действительно что-то не понимаю и доебываюсь
Там есть и другие методы которые проще завернуть чем писать в main
Завтра
Anonymous
То есть ты де факто говоришь, что нигде в приложении, кроме как в этом окне, не существует настроек, но это де факто не так
Setting — это окно с настройками приложения, не буду больше опровергать твои глупые заявления
Завтра
В общем, работать есть над чем, и я бы на твоем месте подумал, прежд чем писать на вполне логичные доводы я не хочу доказать тебе ничего мне все равно я просто делюсь подходом, ты можешь его критиковать но делай это конструктивно иначе смысла в диалоге нету и это выглядит просто как: «Я не понимаю, но я доебусь» ты сначала вырази свою идею достаточно чтобы опровергать мою иначе смысла твои 4 строчки не имею Нахуй ты тогда вообще это выкладываешь, если на последующие вопросы ты отвечаешь в тонах необразованного быдла
Завтра
@sova_is_a_name @ejnshtein потрите мусор плиз
倫太郎
Kirill
Тебя потереть?
это была слишком ожидаемая шутка
倫太郎
А кого тереть то?
Kirill
не знаю, можно оставить, мне кажется
Завтра
5 минут бессмыслицы выше
Oleksii
Давайте ещё поспорим о вкусах в музыке
Oleksii
Как по мне тоже самое
Oleksii
Хочет человек так делать, пусть делает
Oleksii
Это не геймдев где производительность очень важна
倫太郎
Это не геймдев где производительность очень важна
А где производительность не важна?
Oleksii
Эти пару миллисекунд ты не заметишь
Oleksii
Пока все обертки проработают
Oleksii
Если говорить про оптимизации, почему @kelin2025 использует объект, а не Map? Map работает быстрее, отпадает возможность случайно перезаписать что то...
Oleksii
Докапываться можно к каждому, но зачем?
Oleksii
У меня на проекте, не связанным с электроном, такая же структура как у @JSusDev, потому что модульность позволяет делать обновления клиента без перезапуска всего приложения. Скачал модуль, дестройнул старый, инициализировал новый
Завтра
Где хоть слово об оптимизации? Где хоть слово о вкусовщине? Претензия была в том, что 1) Человек тупо завернул окна в классы и назвал это ООП. Это так не работает 2) Какого черта логика завязана на окнах? Почему данные приложения хранятся в localStorage? Я как клиент захочу настроить все и иметь только иконку в трее, у меня для полной работоспособности будут висеть 6 скрытых окон и жрать озу? Это вкусовщина? Вкусовщина - это сказать "const не нужен, юзайте везде let", вот это вкусовщина. А когда неразобравшийся в теме человек рвется на хабр писать портянки о том, как он якобы избавился от беспорядочной структуры кода, при этом на фидбек и вполне вежливые в начале сообщения по сути говорит "иди нахуй, мне так удобнее" - это пиздец
Oleksii
Если он пишет классы, это ООП
Oleksii
Как бы он их не писал
Завтра
Или вот это вы назовете вкусовщиной? О существовании ивентов "move" и "resize" у окна автор явно не в курсе
Завтра
Если он пишет классы, это ООП
Бля, распечатаю и повешу на стенку Оказывается, ООП определяется не архитектурными подходами, а наличием классов в приложении
Oleksii
Если он допустим на шарпе так будет писать, это будет скриптом?
Oleksii
В онли ООП языке
Завтра
Я делал так потому что они работают плохо
Почему они у тебя работают плохо, а у меня нормально?
Завтра
И как понять "работают плохо"? Сегодня работают, а завтра нет? Чушь не несите
Anonymous
Почему они у тебя работают плохо, а у меня нормально?
Тебе что пруфы нужны, я сказал плохо работают — сделал так, вот тебе мое объяснение
Завтра
Мне ничего не нужно, я даю замечания и фидбек, ведь ты же с этой целью выложил это на хабр и в этот чат?
Завтра
Или это с целью "научить других чему-то"? Если это так, то учитель из тебя не очень
Anonymous
Ну да решил я хранить координаты в локалСтордж, не вижу в этом проблемы, так же как и в таймере, захочу сделаю иначе
Oleksii
Его спросили, он кинул ссылку
Oleksii
А ты докопался, говоря что он не прав
Anonymous
Я еще и eval часто использую и чувствую себя хорошо