Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AUGM 2017 Electron talk
Search
Neo Kusanagi
November 18, 2017
Technology
0
97
AUGM 2017 Electron talk
Neo Kusanagi
November 18, 2017
Tweet
Share
More Decks by Neo Kusanagi
See All by Neo Kusanagi
From Commit to Mulitverse
neokn
0
200
From Traditional Web to Modern Web
neokn
0
190
Other Decks in Technology
See All in Technology
ビズリーチ求職者検索におけるPLMとLLMの活用 / Search Engineering MEET UP_2-1
visional_engineering_and_design
1
170
Performance Insights 廃止から Database Insights 利用へ/transition-from-performance-insights-to-database-insights
emiki
0
320
CoRL 2025 Survey
harukiabe
1
220
新規事業におけるGORM+SQLx併用アーキテクチャ
hacomono
PRO
0
420
Dylib Hijacking on macOS: Dead or Alive?
patrickwardle
0
370
AIエージェント入門 〜基礎からMCP・A2Aまで〜
shukob
0
110
データ戦略部門 紹介資料
sansan33
PRO
1
3.8k
AIとともに歩んでいくデザイナーの役割の変化
lycorptech_jp
PRO
0
520
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3k
Azureコストと向き合った、4年半のリアル / Four and a half years of dealing with Azure costs
aeonpeople
1
200
サイバーエージェント流クラウドコスト削減施策「みんなで金塊堀太郎」
kurochan
4
2.1k
[Codex Meetup Japan #1] Codex-Powered Mobile Apps Development
korodroid
2
1k
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
A designer walks into a library…
pauljervisheath
209
24k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
190
55k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Site-Speed That Sticks
csswizardry
13
910
Being A Developer After 40
akosma
91
590k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
RailsConf 2023
tenderlove
30
1.3k
The Invisible Side of Design
smashingmag
302
51k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
Transcript
ELECTRON Jr / Neo 2017-11-18 AUGM
[email protected]
What is Electron ?
V8 Chromium Node https://electronjs.org
V8 Chromium Node Electron = + +
Chromium Node Many Packages Full-Stack Browser Beautiful Design and Interaction
With HTML, CSS, JavaScript
None
– Anonymous “How to Start ?”
REQUIREMENT https://nodejs.org Install nodejs with npm
Node.js Package Manager Node.js Installer will include it e.g. Node.js
v8.9.1 withnpm v5.5.1 Node.js v6.12.0 with npm v3.10.10
SUGGESTION • HomeBrew: package manager for macOS • nvm: node
version manager • Yarn: faster then npm
QUICK START https://github.com/neokn/augm2017-electron-quick-start
QUICK START your-repo/ ├──package.json └──app/ ├── package.json ├── index.js └──
index.html
QUICK START your-repo/ ├──package.json └──app/ ├── package.json ├── index.js └──
index.html For development
QUICK START your-repo/ ├──package.json └──app/ ├── package.json ├── index.js └──
index.html Will Pack into Electron
QUICK START your-repo/ ├──package.json └──app/ ├── package.json ├── index.js └──
index.html For distribution
QUICK START • npm install • npm run start •
npm run dist
IPC inter-process communication
Chromium Node ipcMain ipcRenderer
Chromium Node ipcRenderer.send('message') ipcMain.on('message', (e, v) => { e.sender.send('reply', 'pong')
})
Chromium Node ipcRenderer.send('message') ipcMain.on('message', (e, v) => { e.sender.send('reply', 'pong')
})
Chromium Node ipcMain.on('message', (e, v) => { e.sender.send('reply', 'pong') })
ipcRenderer.on('reply', (e, v) => { alert(v) })
Chromium Node ipcMain.on('message', (e, v) => { e.sender.send('reply', 'pong') })
ipcRenderer.on('reply', (e, v) => { alert(v) })
Chromium Node ipcMain.on('message', (e, v) => { e.sender.send('reply', 'pong') })
ipcRenderer.on('reply', (e, v) => { alert(v) })
DEMO
DISTRIBUTION
DISTRIBUTION • Install electron-builder package • Write electron-builder.json
DEMO
MOZLI
MOZLI MozJpeg + Guetzli https://github.com/google/guetzli https://github.com/mozilla/mozjpeg
PROS & CONS
PROS • Easy to Development • Cross-platform Distribution
CONS • Application Size > 100MB • Source Code Protection
(.asar is easy to extract)
THANKS