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
96
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
これでもう迷わない!Jetpack Composeの書き方実践ガイド
zozotech
PRO
0
850
LLMを搭載したプロダクトの品質保証の模索と学び
qa
0
1.1k
5分でカオスエンジニアリングを分かった気になろう
pandayumi
0
240
共有と分離 - Compose Multiplatform "本番導入" の設計指針
error96num
2
560
「どこから読む?」コードとカルチャーに最速で馴染むための実践ガイド
zozotech
PRO
0
450
企業の生成AIガバナンスにおけるエージェントとセキュリティ
lycorptech_jp
PRO
2
170
Terraformで構築する セルフサービス型データプラットフォーム / terraform-self-service-data-platform
pei0804
1
180
Rustから学ぶ 非同期処理の仕組み
skanehira
1
140
なぜテストマネージャの視点が 必要なのか? 〜 一歩先へ進むために 〜
moritamasami
0
220
[ JAWS-UG 東京 CommunityBuilders Night #2 ]SlackとAmazon Q Developerで 運用効率化を模索する
sh_fk2
3
430
機械学習を扱うプラットフォーム開発と運用事例
lycorptech_jp
PRO
0
250
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.7k
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
696
190k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
580
4 Signs Your Business is Dying
shpigford
184
22k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Statistics for Hackers
jakevdp
799
220k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Context Engineering - Making Every Token Count
addyosmani
3
44
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Faster Mobile Websites
deanohume
309
31k
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