-
Notifications
You must be signed in to change notification settings - Fork 33
Electron Notes
Ok, nu har mega-mergen gjorts av Electron till evothings/evothings-studio master. Detta betyder att vi nu använder:
- Electron: https://github.com/electron/electron
- electron-builder: https://github.com/electron-userland/electron-builder
- electron-packager (via electron-builder): https://github.com/electron-userland/electron-packager
De två senare paketen ger oss schyssta installers.
Värt att notera:
-
Applikationen ligger nu under "app", se "app/package.json" etc. Det är också in dit som "examples" kopieras.
-
Den package.json som ligger i roten är till för electron-builder och bygge, inte själva appen själv.
-
De olika saker man kan göra går via npm scripts i package.json, dvs "npm run dist" för att bygga, eller "npm run start" för att köra Workbenchen från source, se README.md och package.json.
-
Vid bygge används diverse resurser (ikoner mm) från "build" biblioteket.
-
Efter bygge finns artefakterna under "dist", på Linux blir det en .deb. På Mac blir det en .dmg, Windows har jag inte hunnit testa riktigt ännu, ska se ikväll/imorgon.
-
Som default byggs bara för ditt lokala OS. OSX är den enda som kan bygga för alla tre OS.
-
Jag har gradvis städat bort/rensat i de olika ruby-skripten. init.rb finns kvar men den gör enbart "kopiera in exempel" och "hämta javascript-libraries från nätet". Notera att "npm run libs" kör "ruby init.rb" just nu... hmmm, ska städa lite, inte helt logiskt.
-
build.rb är borta. Ska städa lite till med build-latest etc.
I applikationen:
-
postMessage/receiveMessage finns ej mer. Nu gäller ipcMain/ipcRenderer (sök så ser ni, det är ganska rättfram).
-
Numera kallas javascript-fönstret för "JavaScript Console" eller bara "Console". Viewers-fönstret kallas "Viewers" eller "Viewers Explorer". Huvudfönstret kallas för "Workbench". Hela produkten kallas för "Evothings Studio".
-
På vissa ställen ser ni MAIN som är ett handtag på "main" globalen jag skapar i main.js. Via den kan man få tag i olika saker från main.js som alltså är Electrons "huvudprocess" som skapar BrowserWindows. Det är alltså main.js som skapar Workbench, Console och Viewers (våra tre fönster).
-
EVENTS har kodats om en hel del så att publish/subscribe görs via main.js etc och sålunda lirar "mellan alla fönster". Detta var lite knixigt men jag tror det funkar, men inte helt säker på alla detaljer.
mvh Göran