Andrew
Могу скриншотами скинуть)
Vadim
Могу скриншотами скинуть)
Та сфоткай монитор на телефон
Vadim
Скрины слишком сложна
Anonymous
Та сфоткай монитор на телефон
😂😂😂😂♿️
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 часто использую и чувствую себя хорошо