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
Fenster überall: Desktopanwendungen mit Angular...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Fabian Gosebrink
September 28, 2017
Technology
0
94
Fenster überall: Desktopanwendungen mit Angular und Electron
Slides for my talk about Angular and Electron at the BASTA! in Mainz
Fabian Gosebrink
September 28, 2017
Tweet
Share
More Decks by Fabian Gosebrink
See All by Fabian Gosebrink
NgRx Signal Store - A Deeper Dive
fabiangosebrink
0
23
Modern Angular Apps in 2026
fabiangosebrink
0
35
Why State is the Most Important Part of Your Angular Application
fabiangosebrink
0
98
Angular testing made easy with Jest and Cypress
fabiangosebrink
0
140
Introducing state management into an application with NgRx
fabiangosebrink
0
210
Scalable architectures in Angular with Nx
fabiangosebrink
0
170
My Biggest Angular Mistakes and How To Avoid Them
fabiangosebrink
0
280
[iJS Munich] Better Angular Architectures with Libraries and Nx
fabiangosebrink
0
170
Mastering State Management in Angular with the NgRx Signal Store
fabiangosebrink
0
430
Other Decks in Technology
See All in Technology
VPCエンドポイント意外とお金かかるなぁ。せや、共有したろ!
tommy0124
1
630
Sansanでの認証基盤内製化と移行
sansantech
PRO
0
510
バクラク最古参プロダクトで重ねた技術投資を振り返る
ypresto
0
130
Scrumは歪む — 組織設計の原理原則
dashi
0
190
JAWS DAYS 2026 ExaWizards_20260307
exawizards
0
440
S3はフラットである –AWS公式SDKにも存在した、 署名付きURLにおけるパストラバーサル脆弱性– / JAWS DAYS 2026
flatt_security
0
1.8k
フロントエンド刷新 4年間の軌跡
yotahada3
0
440
AWSの資格って役に立つの?
tk3fftk
2
340
僕、S3 シンプルって名前だけど全然シンプルじゃありません よろしくお願いします
yama3133
1
220
非情報系研究者へ送る Transformer入門
rishiyama
11
7.6k
わからなくて良いなら、わからなきゃだめなの?
kotaoue
1
360
Abuse report だけじゃない。AWS から緊急連絡が来る状況とは?昨今の攻撃や被害の事例の紹介と備えておきたい考え方について
kazzpapa3
1
790
Featured
See All Featured
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
140
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
190
Building the Perfect Custom Keyboard
takai
2
710
Unsuck your backbone
ammeep
672
58k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
470
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
BBQ
matthewcrist
89
10k
Are puppies a ranking factor?
jonoalderson
1
3.1k
Leo the Paperboy
mayatellez
4
1.5k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
4 Signs Your Business is Dying
shpigford
187
22k
Transcript
Desktop applications with Angular & Electron
Fabian Gosebrink
https://media.giphy.com/media/VTxmwaCEwSlZm/200.gif
@FabianGosebrink
None
Desktop applications with
Desktops?
None
Desktops!
None
None
What is
"Electron is a tool for building Cross- Platform Desktop Apps
with Javascript, Html and CSS" Anybody I don’t know when
http://www.tvmovie.de/assets/2015/10/23/53910-romeo-und-julia-serien-fortsetzung.jpg
None
None
None
None
None
None
… and many more
None
None
> npm install electron -g
> electron .
package.json
package.json { "version": "1.0.0", "name": "first-one", "main": "index.js", "scripts": {
"start": "electron ." } }
index.js
index.js const { app, BrowserWindow } = require('electron'); let mainWindow
= null; app.on('ready', () => { mainWindow = new BrowserWindow({ width: 1024, height: 768 }); mainWindow.loadURL('file://' + __dirname + '/index.html'); });
index.html
None
Main Process vs Render Process
None
Communication
IPC
renderer.js
index.js
Notifications
renderer.js
None
Demo
None
None
None
None
None
None
index.js
index.js let startSendCpuValues = () => { setInterval(() => {
cpuValues.getCPUUsage((percentage) => { if (mainWindow) { mainWindow.webContents .send('newCpuValue', (percentage * 100).toFixed(2)); } }); }, 1000); }
> npm install ngx-electron
service.ts
“Cross-Platform? What about variation points?"
Dependency Injection
None
None
None
None
None
None
Tr ay Icon
index.js
None
> npm install electron-packager -g
> electron-packager .temp/desktop
> electron-packager .temp/desktop --platform=linux, win32
Demo
One Code every platform
One Codebase every platform
None
https://github.com/FabianGosebrink/Basta-2017 https://offering.solutions https://swissangular.com @FabianGosebrink
https://speakerdeck.com/zeke/electron-universe https://electron.atom.io/ https://electron.atom.io/docs/tutorial/quick-start/ https://github.com/maximegris/angular-electron/blob/master/src/app/providers/electron.service.ts https://github.com/sindresorhus/awesome-electron