
Татьяна
14.09.2018
10:15:12
Всем добрый день. Никто не подскажет как настроить debug для electron приложения в vscode?
Я видела вот этот мануал, повторила, но у меня не отработало. Есть ли подробные описания полей конфигурации:
https://github.com/Microsoft/vscode-recipes/tree/master/Electron

Данил
14.09.2018
14:29:19
Как узнать нормальное имя оси и архитектуру?

Alexandr
14.09.2018
14:31:10
есть ли жизнь на марсе?

Eugeniy
14.09.2018
15:59:00

Google

Sergey
14.09.2018
16:03:54

Andrey
14.09.2018
16:04:25

Max
14.09.2018
16:05:06
Как узнать нормальное имя оси и архитектуру?
const os = require('os');
const osTypes = {
android: 'Android',
win32: 'Windows',
darwin: 'macOS',
freebsd: 'FreeBSD',
openbsd: 'OpenBSD',
aix: 'IBM AIX',
sunos: 'Solaris',
linux: 'Linux'
};
function systemName() {
return ${ osTypes[os.platform()] } ${ os.arch() } ${ os.release() };
}
Правда это не выведет в привычном виде версию, для этого нужно еще некоторые усилия

fickle asshole
14.09.2018
19:01:32
Даст все что надо или даже больше.


Andrew
16.09.2018
00:07:18
Люди добрые, подскажите, 3ий день бьюсь, - как отловить событие закрытия окна по крестику? Мне надо, чтобы пользователь мог отменить закрытие, если забыл сохраниться. НИГДЕ нет описания адекватного решения! Я просто в шоке! ВО ВСЁМ ИНТЕРНЕТЕ НИ СЛОВА. При чём пишут же приложения с подобным функционалом! Пруд пруди! Но как, - ТАЙНА. За 7ю печатями! Здец... Помогите, плз...
Не вывожу синхронность в данном случае.
Т.е. "beforeunload"-то я могу поймать. Но по какой-то непонятной мне причине не существует способов адекватно синхронно проверить выполнение условия в Renderer перед закрытием. Либо асинхронно (тогда окно закрывается раньше, чем я успеваю проверить условие), либо в Main (но нужные данные хранятся у меня в Renderer, и что-то как-то нет желания писать пару мегабайтов костылей ради того, чтобы поместить копию всех параметров, от которых зависит сохранение в Main).
Порядком сгорает задница, если честно, уже от этого разделения контекстов...


Oleh
16.09.2018
00:26:52
создай свое событие в main и отправляй его в Renderer и не закрывай окно до ответа с Renderer

Andrew
16.09.2018
01:05:27
Ага. Ну и...
1. Как "создать" событие в Main а не в Renderer?
2. Как "остановить" событие "close" до ответа из Renderer??
3. Как привязать созданное событие к кнопке закрытия приложения вместо стандартного???

Oleh
16.09.2018
08:40:03
https://electronjs.org/docs/api/ipc-main
https://electronjs.org/docs/api/ipc-renderer

Andrew
16.09.2018
10:59:27
Серьёзно?

Google

Andrew
16.09.2018
11:00:00
У кого-нибудь ещё есть варианты?

Роман
16.09.2018
11:04:15

Max
16.09.2018
11:07:58
один из вариантов


Andrew
16.09.2018
11:20:41
Что-то такое приходило в голову... Но это же костыль! По сути нормально close так и не будет вызван!
Короче есть подозрение, что Electron слишком тоталитарен, чтобы пытаться преодолеть разделение контекстов... Тогда другой вопрос: подскажите пожалуйста какой по-лучше фронтенд-фреймворк модульный. Потому что сейчас пытался кодить на Vue.js. Но раз весь бек-энд придётся переносить в Main, Vue, очевидно, будет излишен и нужно что-то по-проще (только для фронтенда) ему на замену...


Max
16.09.2018
12:00:23
> Короче есть подозрение, что Electron слишком тоталитарен
Эмм, а как ты хотел еще, если тебе нужно взаимодействовать с двумя процессами? Никогда и нигде это то не было просто, но по-моему как раз в electron это сделано проще некуда. И для большинства сценариев такие перуэты не требуются
Main process - это бэкенд, renderer process - это твой фронт. Соответственно единственное, что у них может быть общее и полиморфное - это бизнес логика. Vue, React, Angular, Vanilla HTML - это скорее то как ты будешь работать с View (DOM) моделью и этот выбор в идеале не должен быть привязан к бизнесс логике вообще (что от части выполнимо), поэтому это очень странный вопрос по крайней мере для меня. Если у тебя простенький SPA можно и без фреймфорков, но тогда ты лишаешь себя богатства экосистемы того или иного фреймворка/библиотеки.

Kelin
16.09.2018
12:25:04


Andrew
16.09.2018
12:51:03
> Короче есть подозрение, что Electron слишком тоталитарен
Эмм, а как ты хотел еще, если тебе нужно взаимодействовать с двумя процессами? Никогда и нигде это то не было просто, но по-моему как раз в electron это сделано проще некуда. И для большинства сценариев такие перуэты не требуются
Main process - это бэкенд, renderer process - это твой фронт. Соответственно единственное, что у них может быть общее и полиморфное - это бизнес логика. Vue, React, Angular, Vanilla HTML - это скорее то как ты будешь работать с View (DOM) моделью и этот выбор в идеале не должен быть привязан к бизнесс логике вообще (что от части выполнимо), поэтому это очень странный вопрос по крайней мере для меня. Если у тебя простенький SPA можно и без фреймфорков, но тогда ты лишаешь себя богатства экосистемы того или иного фреймворка/библиотеки.
Я имел ввиду, что на кой мне VueRouter и Vuex если я собираюсь делать Router в Main и данные там же хранить.
Или есть какой-то способ расположить эти модули в Main?


Kendr
16.09.2018
12:52:36
R e a c t
Ну наконец, а то помню времена были, как ты вьюировал

Kelin
16.09.2018
12:53:31
Не, в электрон приложении однозначно реакт, имхо

Kendr
16.09.2018
12:56:00

Kelin
16.09.2018
12:56:31
А причем тут hyperapp и preact ?

Kendr
16.09.2018
12:57:41

fickle asshole
16.09.2018
13:02:47
а что если в электрон приложении vue?

Сергей
16.09.2018
13:03:06
Просто это все боль

fickle asshole
16.09.2018
13:05:48
Ну хз, у меня на соседнем курсе пацаны написали аппликуху на электроне используя ток вью и json))

Kendr
16.09.2018
13:08:14

Andrew
16.09.2018
13:10:37

Google

Andrew
16.09.2018
13:11:24

Сергей
16.09.2018
13:11:52

Andrew
16.09.2018
13:12:46
Неужто!... Странно. Я именно от React оттолкнулся в сторону Vue. Второй почему-то больше понравился. М.б. чего-то не допонял... Надо ещё раз попробовать...

Kelin
16.09.2018
13:12:55
Хз как объяснить
Во вью очень некрасиво выглядит, когда пытаешься делать логику вне вью. Там любят все запихать в this и радоваться жизни, но если ты где-то начинаешь писать отдельно чистую логику, складывается впечатление, что ты что-то делаешь не так
А взаимодействие с main-процессом это дополнительная такая логика
а реакт это просто const Component = () => … а в остальныом делай че хочешь

Andrew
16.09.2018
13:13:34
А со связкой Electron + Ember знаком кто? Как она?

Сергей
16.09.2018
13:14:22
Устарел сильно

Max
16.09.2018
13:14:37

Kelin
16.09.2018
13:15:14
Даже в официальном бойлерплейте electron-vue какие-то миксины/плагины воткнуты
И все опять как-то монструозно выглядит

Andrew
16.09.2018
13:15:51
Устарел сильно
Понял. А могу я в React разнести backend и frontend в разные контексты (в Main и в Renderer соответственно)?

Kelin
16.09.2018
13:16:37

Сергей
16.09.2018
13:16:45
Это библиотека для View

Kelin
16.09.2018
13:17:28
не ребят, это еще ладно (нет), щас еще один мемас скину

Andrew
16.09.2018
13:17:30

Kelin
16.09.2018
13:17:59
https://medium.com/vuejoy/localstorage-with-vue-localstorage-1dca4804c2b5
Палите мемас
я чуть не обоссался со смеху, когда увидел

Сергей
16.09.2018
13:18:16

Google

Max
16.09.2018
13:18:30
Я такое через webpack.ProvidePlugin легко могу сделать) Будет даже проще, не нужно будет писать this.$electron

Andrew
16.09.2018
13:18:38

Kelin
16.09.2018
13:19:08

Сергей
16.09.2018
13:19:18
Дно

Kelin
16.09.2018
13:19:28
https://www.youtube.com/watch?v=uPEEq0J1kIE

Andrew
16.09.2018
13:21:07
Самое дно начинается знаете когда? Когда начинаешь с ajax-запросами колупаться. В этот момент выясняется, что все ссылки, которые vue даёт на внутренние объекты в контексте callback'a НЕ СУЩЕСТВУЮТ.

Kendr
16.09.2018
13:21:25
Вместо того чтоб учить жс учим обертку над жсом и самое главное хуй знает зачем

Kelin
16.09.2018
13:21:42

Admin
ERROR: S client not available

Max
16.09.2018
13:22:03

Kelin
16.09.2018
13:22:04
официальная дока бтв

Сергей
16.09.2018
13:22:20
Бля
Максимально тупо

Andrew
16.09.2018
13:22:48
Я тоже так думал. Не работает. Либо я что-то не правильно с Axios делал...

Kendr
16.09.2018
13:22:50

Kelin
16.09.2018
13:22:55
ахахахааххаахахх

Andrew
16.09.2018
13:23:25

Сергей
16.09.2018
13:23:34

Google

Kelin
16.09.2018
13:23:36

Сергей
16.09.2018
13:23:41
Нет
Когда приходил, не было ещё

Kendr
16.09.2018
13:23:56
Хватит уже мне становится плохо

Kelin
16.09.2018
13:24:14
Вот из-за таких примеров на вью присела куча долбаебов нулевых, которые суют localStorage в this итд

Сергей
16.09.2018
13:24:38
Какой пиздец

Andrew
16.09.2018
13:24:45

Kelin
16.09.2018
13:24:56
А в чатике по вью по кд вопросы за vuex, типа что делать с общими данными и нахуя он нужен вообще

Kendr
16.09.2018
13:25:18

Kelin
16.09.2018
13:25:19
Хотя бля, в реакт чате такая же дичь на самом деле, но там за обертки над редаксом

Kendr
16.09.2018
13:25:44
Ахуена

Andrew
16.09.2018
13:25:51

Kelin
16.09.2018
13:26:00

Andrew
16.09.2018
13:26:38

Kendr
16.09.2018
13:26:38

Lev
16.09.2018
13:26:44
Отказался от электрона))))
В пользу плюсов)))

Kendr
16.09.2018
13:26:57