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
Electron
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Eugene Oskin
January 20, 2018
Programming
49
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Electron
Eugene Oskin
January 20, 2018
More Decks by Eugene Oskin
See All by Eugene Oskin
Local Models for Coding
evgeneoskin
0
24
REST API. Django, Ruby on Rails, Play! Framework
evgeneoskin
0
100
Introduction to gRPC
evgeneoskin
0
110
GrailInventory – Advanced Backend Development
evgeneoskin
0
48
Bracing Calculator
evgeneoskin
1
83
emotional intelligence, part 2
evgeneoskin
0
49
Office temperature
evgeneoskin
0
45
Parse platform
evgeneoskin
0
120
Hubot
evgeneoskin
0
64
Other Decks in Programming
See All in Programming
phperだってパンチカードでコーディングしたい
o0h
PRO
0
340
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
370
[2026-09-26]空論ジェネリックプロセス~テスト資産とAIで紡ぐ、再現可能なパフォーマンスチューニングの話~
tosite
0
270
Event is what happens
moro
2
780
RAG の “R” を Swift で覗いてみる 〜「意味から探す」検索の仕組み〜
nao_randd
0
160
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
500
ジョジョの世界をXRで再現する
mofurune
0
160
SalesForceを内製化!? ~ HR事業を支える顧客管理基盤のインフラを大公開 ~
oku053
0
180
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
5.2k
Kotlinの15年とServer-Side Kotlin
n_takehata
1
150
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
380
Railsバージョンを4倍にした話
optim
0
370
Featured
See All Featured
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
930
Raft: Consensus for Rubyists
vanstee
142
7.8k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
340
Fireside Chat
paigeccino
43
4.1k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
Being A Developer After 40
akosma
92
590k
Practical Orchestrator
shlominoach
192
12k
It's Worth the Effort
3n
188
29k
The Invisible Side of Design
smashingmag
301
52k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
Transcript
Goedendag, Electron
Plan • Desktop App Development Problems? • Electron solutions •
Electron Problems
Desktop App Development Problems?
Desktop App Development Problems? • Cross platform • Installers •
Deliver • Testing
Desktop App Development Problems? • Cross platform? ◦ Cross compiling
(Qt and others) ◦ Java (Virtual) Machine ◦ Go
Desktop App Development Problems? • Installers ◦ UI: Windows, Mac
◦ Configure it
Desktop App Development Problems? • Deliver ◦ Stores ◦ Download
page ◦ Package managers ◦ AppDater?
Desktop App Development Problems? • Testing ◦ Behave Testing?
Electron solutions
Electron solutions • Cross platform • Installers • Deliver •
Testing
Electron solutions • Cross platform ◦ NodeJS + Chromium ◦
Native module requires rebuilding ▪ ./node_modules/.bin/electron-rebuild ◦ tray+menu out of the box ◦ Native UI? (try photonkit)
Electron solutions • Installers ◦ electron-builder ◦ electron-packager
Electron solutions • Deliver ◦ Stores ◦ Download page ◦
Package managers ◦ AutoUpdates with Squirrel (Window, MacOS) ▪ It requires backend (electron-release-server or github)
Electron solutions • Testing ◦ Spectron ◦ Karma
Electron Problems • Architecture (main process and renderers ) •
NodeJS in browser • IpcRenderer ↔ IpcMain with JSON ◦ Main process manages renderers • Desktop apps are complex…
Electron Problems • Binary size >= 100Mb, reducing requires recompiling
Chromium • JS boilerplate code • Frontend frameworks
Summary
Summary • Desktop App Development Problems • Electron solutions •
Electron Problems
References • http://electron.atom.io/docs/ • https://github.com/atom/atom/ • https://github.com/sindresorhus/awesome-electron • https://github.com/chentsulin/electron-react-boilerpl ate
• http://photonkit.com/ • https://github.com/maxogden/menubar