ElectronJS - Nie rozumiem nawet przycisków

0

Witam panowie, mam problem...
Programuje już dość długo ale zaczynam dopiero z ElectronJS i krew mnie zalewa, dokumentacja jest moim zdaniem baaardzo uboga a informacji w internecie jak na lekarstwo, przez godzinę szukam pod hasłami: "ElectronJS simple button action" itp i chcę z warstwy kompozycji uzyskać coś na "back-endzie frontendu" jeśli mogę to tak nazwać.

Co mam na myśli?
Mój plik main.js:

const { BrowserWindow, app, screen} = require('electron');

app.on('ready', () => {

  const { width: desktopWidth, height: desktopHeight } = screen.getPrimaryDisplay().workAreaSize
  let mainWindow;
  const minWidthValue = parseInt(desktopWidth / 2);
  const minHeightValue = parseInt(desktopHeight / 2);

  mainWindow = new BrowserWindow({
    nodeIntegration: true,
    width: parseInt(desktopWidth),
    height: parseInt(desktopHeight),
    minWidth: parseInt(minWidthValue),
    minHeight: parseInt(minHeightValue),    

  })

  mainWindow.setMenu(null);
  mainWindow.setTitle("Aplikacja testowa");
  mainWindow.maximize();
  mainWindow.loadFile('./index.html');
  mainWindow.show();

});

function debugLog (data) {
  
  let date_ob = new Date();  
  console.log (String(date_ob.getHours()) + ":" + String (date_ob.getMinutes()) + ":" + String (date_ob.getSeconds()) + ' -> ' + data + '\n');

}

oraz index.html:

<!DOCTYPE html>
<head>
    <title>Aplikacja testowa</title>
    <style src="./main.css" type="text/css"></style>
</head>
<body>

    <h1>Aplikacja testowa</h1>

    <button id="test">test</button>

</body>
</html>

Co ja mam do jasnej anielki zrobić żeby wykryć click event... Przeszukałem całą dokumentacje i nie traktuje ona całkowicie wcale o podstawach takich jak podstawowa interakcja, pola input, buttons, textarea, całkowite dno, znalazłem za to TONĘ nieziemsko trudnych rzeczy, które na razie mnie totalnie nie interesują skoro nie mam możliwości opanowania podstaw :(

Jakieś pomysły?

0

w Electron (jeśli się nic nie zmieniło) masz dwa procesy - main process i renderer process.

I zdarzenia myszy odbierasz w renderer process, czyli tam gdzie masz HTML (nie pamiętam jak to dokładnie robiłem, ale chyba normalnie dodawałem tag script, a w skrypcie już mogłem sobie importować moduły).

Natomiast do komunikacji między procesami jest ipc https://www.electronjs.org/docs/api/ipc-renderer

i nie traktuje ona całkowicie wcale o podstawach takich jak podstawowa interakcja, pola input, buttons, textarea, całkowite dno

Bo to się robi w sposób przeglądarkowy, tak samo jakbyś pisał aplikację w przeglądarce (bo to w końcu jest osadzony silnik przeglądarki jakby nie było), czyli możesz tworzyć elementy w kodzie HTML, możesz użyć funkcji typu `document.createElement', możesz jQuery, React itp.

0

No właśnie próbowałem to zrobić ale konsola zgłasza mi, że IPC nie istnieje a jak chce go zadeklarować to twierdzi, że już jest zadeklarowany, próbowałem wszystkiego i totalnie nie mogę znaleźć najbardziej banalnych informacji...

Przykładowo za żadne skarby nie mogę znaleźć nic sensownego jak tworzyć tu coś na wzór components z Angular czyli modules w ElectronJS... Dramat

0

Przykładowo za żadne skarby nie mogę znaleźć nic sensownego jak tworzyć tu coś na wzór components z Angular czyli modules w ElectronJS... Dramat

szukaj pod "node.js modules"., a nie electron.

Generalnie Electron to taka przeglądarka + Node.js + framework, który to spina.

twierdzi, że już jest zadeklarowany, próbowałem wszystkiego i totalnie nie mogę znaleźć najbardziej banalnych informacji...

Nie pamiętam jak się to robiło, ale przypuszczam, że albo się importuje ten ipc albo jest on jako zmienna globalna (ale jak mówisz, że zadeklarowany już jest, to może jako zmienna globalna? Zresztą gdzieś są jakieś kody przykładowe, muszą być. Albo na GH poszukaj przykładowych projektów.

Prawdziwa zabawa zacznie się potem, kiedy się okazuje, że np. copy/paste nie działa, dopóki ręcznie nie utworzysz menu z takimi pozycjami (true story, przynajmniej na makach).

0

Jak z electronem ci nie idzie to może spróbuj ionic? Chyba, że potrzebujesz czegoś co ma electron a nie ma ionic.

0

Chce się po prostu zaznajomić nieco mocniej z JSem i przy okazji interesuje mnie mocniej pisanie aplikacji cross-platform ale z racji ja fakt, że do UI Electron korzysta z HTML wydał mi się on kuszący.

Poczytam o Ionic jak na razie najbardziej podpasowal mi Angular - ma najwięcej sensu z tego co widziałem a patrzyłem na Vue.js i jeszcze React.

1 użytkowników online, w tym zalogowanych: 0, gości: 1