Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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
使用 Genkit 以及 Gemini 打造你的 Agentic ChatBot
neokn
0
29
Chat Bot 的隱藏知識庫 - RAG 外的第二種選擇
neokn
0
78
From Commit to Mulitverse
neokn
0
210
From Traditional Web to Modern Web
neokn
0
190
Other Decks in Technology
See All in Technology
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
15k
MS Ignite 2025で発表されたFoundry IQをRecap
satodayo
1
160
生成AIシステムとAIエージェントに関する性能や安全性の評価
shibuiwilliam
2
290
Excelデータ分析で学ぶディメンショナルモデリング ~アジャイルデータモデリングへ向けて~ by @Kazaneya_PR / 20251126
kazaneya
PRO
3
740
Data Hubグループ 紹介資料
sansan33
PRO
0
2.3k
"'TSのAPI型安全”の対価は誰が払う?不公平なスキーマ駆動に終止符を打つハイブリッド戦略
hal_spidernight
0
210
GitHub を組織的に使いこなすために ソニーが実践した全社展開のプラクティス
sony
20
10k
AI駆動開発2025年振り返りとTips集
knr109
1
140
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.9k
AI 時代のデータ戦略
na0
8
2.6k
How native lazy objects will change Doctrine and Symfony forever
beberlei
1
290
インフラ室事例集
mixi_engineers
PRO
2
160
Featured
See All Featured
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
360
The World Runs on Bad Software
bkeepers
PRO
72
12k
Writing Fast Ruby
sferik
630
62k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
GraphQLとの向き合い方2022年版
quramy
49
14k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
990
Practical Orchestrator
shlominoach
190
11k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Documentation Writing (for coders)
carmenintech
76
5.2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
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