Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
AUGM 2017 Electron talk
Search
Neo Kusanagi
November 18, 2017
Technology
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AUGM 2017 Electron talk
Neo Kusanagi
November 18, 2017
More Decks by Neo Kusanagi
See All by Neo Kusanagi
Claude Cowork for Begineers
neokn
0
150
WebConf 2025 - 工程師和 AI 小隊
neokn
0
29
使用 Genkit 以及 Gemini 打造你的 Agentic ChatBot
neokn
0
80
Chat Bot 的隱藏知識庫 - RAG 外的第二種選擇
neokn
0
120
From Commit to Mulitverse
neokn
0
240
From Traditional Web to Modern Web
neokn
0
210
Other Decks in Technology
See All in Technology
「Docker Desktop不要の時代」は 来たのか?
ueponx
0
770
今さら理解するウェブフォントver.2026
takanorip
3
770
Webの常識が通じないHTMLメールのダークモード
teamlab
PRO
0
120
10年後、Engineering 行為を剥奪されるとして、わたしたちは、どう、何を創ればいいだろうか。 / If Engineering Is Taken Away in 10 Years, How and What Should We Create?
bitkey
PRO
1
190
分析AIエージェントを育てる、動く環境を育てる
codatum
1
1.1k
AIがコードを書く時代に、エンジニアは何で自分の価値を証明するのか / In an era where AI writes code how do engineers prove their value
carta_engineering
3
1.1k
Kiro Crewをはじめよう
kizawa2020
1
160
実体験から学ぶ分析エージェントの開発と運⽤
recruitengineers
PRO
8
2.4k
実践! SRE × AI - ABEMA における AIOps -
tetsuya28
8
3.1k
TinyGoでオブザーバビリティ?OpenTelemetryはTinyGoで使えるのか / Is OpenTelemetry available in TinyGo environment?
ymotongpoo
2
140
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
4
1.1k
実践!Cloud Run ハンズオン!! / Cloud Run handson
y0hgi
2
280
Featured
See All Featured
How to build a perfect <img>
jonoalderson
1
6.1k
Thoughts on Productivity
jonyablonski
76
5.4k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Product Roadmaps are Hard
iamctodd
55
13k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
330
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.2k
Site-Speed That Sticks
csswizardry
13
1.6k
A designer walks into a library…
pauljervisheath
211
25k
It's Worth the Effort
3n
188
29k
Making the Leap to Tech Lead
cromwellryan
135
10k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
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