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
Fenster überall: Desktopanwendungen mit Angular...
Search
Fabian Gosebrink
September 28, 2017
Technology
100
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
More Decks by Fabian Gosebrink
See All by Fabian Gosebrink
Advanced Signal Store: Structuring State for Real Angular Applications
fabiangosebrink
0
110
NgRx Signal Store - A Deeper Dive
fabiangosebrink
0
75
Modern Angular Apps in 2026
fabiangosebrink
0
130
Why State is the Most Important Part of Your Angular Application
fabiangosebrink
0
160
Angular testing made easy with Jest and Cypress
fabiangosebrink
0
180
Introducing state management into an application with NgRx
fabiangosebrink
0
280
Scalable architectures in Angular with Nx
fabiangosebrink
0
260
My Biggest Angular Mistakes and How To Avoid Them
fabiangosebrink
0
370
[iJS Munich] Better Angular Architectures with Libraries and Nx
fabiangosebrink
0
250
Other Decks in Technology
See All in Technology
NW運用でNWトポロジ可視化ツールに期待すること/shumoku-meetup1
corestate55
2
110
すぐできる衛星通信対応 あとは山奥に行くだけ
tatetate55
0
110
Amazon Quick on DesktopがIAM Identity Centerで動かない理由
yukiogawa
0
160
10分で知る最近のOmarchy
komagata
0
260
The Agent Builder Loop from Daily Work to OSS
minorun365
PRO
3
130
日経電子版を支えていく Kasane Design System/fec_fukuoka
nikkei_engineer_recruiting
0
900
幾何アルゴリズムで なめらかなピン操作を / iOSDC Japan 2026 / smoothpin
kazumanagano
0
270
GoCon2026 - Open Source, Open World
sanposhiho
4
3.2k
20260912_スクラムにジェネラリストは必要か
ryugen04
0
350
HRC_Frontend_Conference_Fukuoka_2026.pdf
ts020
0
520
Omarchy Quattro の日本語設定周り
simosako
2
150
SQL文一行も書けない人事がCortexもろもろを使って人事業務を楽にしてみる
ponponmikankan
1
220
Featured
See All Featured
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
290
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
Rails Girls Zürich Keynote
gr2m
96
14k
Mobile First: as difficult as doing things right
swwweet
225
10k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.9k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.8k
For a Future-Friendly Web
brad_frost
183
10k
The browser strikes back
jonoalderson
0
1.7k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Statistics for Hackers
jakevdp
799
230k
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