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
Fabian Gosebrink
September 28, 2017
Technology
99
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
96
NgRx Signal Store - A Deeper Dive
fabiangosebrink
0
66
Modern Angular Apps in 2026
fabiangosebrink
0
120
Why State is the Most Important Part of Your Angular Application
fabiangosebrink
0
150
Angular testing made easy with Jest and Cypress
fabiangosebrink
0
180
Introducing state management into an application with NgRx
fabiangosebrink
0
270
Scalable architectures in Angular with Nx
fabiangosebrink
0
240
My Biggest Angular Mistakes and How To Avoid Them
fabiangosebrink
0
350
[iJS Munich] Better Angular Architectures with Libraries and Nx
fabiangosebrink
0
230
Other Decks in Technology
See All in Technology
社内の7割が使うデータ基盤を、 データチーム2人で回すためにやったこと
koh_yoshi
4
1.4k
SO-101×VLAによる3色キューブのピック&プレース
abeja
0
210
【AG-UI × A2UI × MCP Apps】Generative UIをやさしく解説する
nrinetcom
PRO
1
130
メルカリのグローバルアプリで挑んだ AlloyDB 運用と課題解決の実践記
hatappi
0
250
第3回しろおびセキュリティスポンサーセッション
log0417
0
200
生成 AI の基礎 〜 サンプル実装で学ぶ基本原理
enakai00
7
4.4k
Kiro Crew入門 - 常駐エージェントの仕組みと使いどころ / Intro to Kiro Crew
k_adachi_01
1
140
え?フロントエンドエンジニアの ワイがインフラも!?
puku0x
1
600
DatadogのBits Chatが開発組織にもたらしたもの / What Bits Chat Has Brought Us
sms_tech
1
270
【CEDEC2026】コードレビュー支援ツール開発から学ぶ:LLMを用いた業務システムの実践的な運用設計と誤出力対策
cygames
PRO
0
800
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
19k
猫付きpingコマンドを自作
uyuki234
0
240
Featured
See All Featured
Ethics towards AI in product and experience design
skipperchong
2
340
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Typedesign – Prime Four
hannesfritz
42
3.1k
Un-Boring Meetings
codingconduct
0
390
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3k
Skip the Path - Find Your Career Trail
mkilby
1
180
A Modern Web Designer's Workflow
chriscoyier
698
190k
Site-Speed That Sticks
csswizardry
13
1.4k
Paper Plane (Part 1)
katiecoart
PRO
1
10k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.1k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.8k
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