Build Cross Platform Desktop Apps With JavaScript HTML and CSS
Build Cross Platform Desktop Apps With JavaScript HTML and CSS
Build cross-platform desktop apps with JavaScript, HTML, and CSS | KelasRobot.com - Hal.2
Pembahasan
1. Pengenalan ElectronJS
2. Persiapan Instalasi ElectronJS
3. Memulai ElectronJS
4. Hubungkan ke MQTT
5. Export ke .EXE
Build cross-platform desktop apps with JavaScript, HTML, and CSS | KelasRobot.com - Hal.3
Pengenalan
ElectronJS_
Build cross-platform desktop apps with JavaScript, HTML, and CSS | KelasRobot.com - Hal.4
Delphi
https://www.embarcadero.com/pr
oducts/delphi
Build cross-platform desktop apps with JavaScript, HTML, and CSS | KelasRobot.com - Hal.5
VB6
https://winworldpc.com/product/
microsoft-visual-bas/60
Build cross-platform desktop apps with JavaScript, HTML, and CSS | KelasRobot.com - Hal.6
VB.net
https://www.contohapps.com/202
0/12/belajar-vbnet-mengenal-obj
ek-pada.html
VB.NET Tutorial
https://www.youtube.com/playlist?li
st=PLXzMpPdJyzlCrdlavWHtmUak
NTZVC36x7
Build cross-platform desktop apps with JavaScript, HTML, and CSS | KelasRobot.com - Hal.7
Python Framework
PyQT
Tkinter
Kivy
PyGUI
https://dev.to/codesharedot/best-
python-framework-for-building-a
-desktop-application-and-gui-58n
5
Build cross-platform desktop apps with JavaScript, HTML, and CSS | KelasRobot.com - Hal.8
ElectronJS…
Build cross-platform desktop apps with JavaScript, HTML, and CSS | KelasRobot.com - Hal.9
ElectronJS…
NodeJS Chromium
Build cross-platform desktop apps with JavaScript, HTML, and CSS | KelasRobot.com - Hal.10
NodeJS…
Build cross-platform desktop apps with JavaScript, HTML, and CSS | KelasRobot.com - Hal.11
Kelebihan ElectronJS…
Sumber: https://www.electronjs.org/
Build cross-platform desktop apps with JavaScript, HTML, and CSS | KelasRobot.com - Hal.12
Kelebihan ElectronJS…
Sumber: https://www.electronjs.org/
Build cross-platform desktop apps with JavaScript, HTML, and CSS | KelasRobot.com - Hal.13
Persiapan Instalasi
ElectronJS_
Build cross-platform desktop apps with JavaScript, HTML, and CSS | KelasRobot.com - Hal.14
Download Install NodeJS
Build cross-platform desktop apps with JavaScript, HTML, and CSS | KelasRobot.com - Hal.15
Tes Instalasi NodeJS
Build cross-platform desktop apps with JavaScript, HTML, and CSS | KelasRobot.com - Hal.16
Download Install VSCode
Build cross-platform desktop apps with JavaScript, HTML, and CSS | KelasRobot.com - Hal.17
Memulai
ElectronJS_
Build cross-platform desktop apps with JavaScript, HTML, and CSS | KelasRobot.com - Hal.18
Membuat Project Baru
Build cross-platform desktop apps with JavaScript, HTML, and CSS | KelasRobot.com - Hal.19
Menginstall Electron
Build cross-platform desktop apps with JavaScript, HTML, and CSS | KelasRobot.com - Hal.20
Edit package.json
{
"name": "mqtt-gui",
"version": "1.0.0",
"description": "",
"main": "main.js",
"scripts": {
"start": "electron ."
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"electron": "^20.1.1"
}
}
Build cross-platform desktop apps with JavaScript, HTML, and CSS | KelasRobot.com - Hal.21
buat file main.js
console.log('Hello World')
Build cross-platform desktop apps with JavaScript, HTML, and CSS | KelasRobot.com - Hal.22
main.js | Import Dependencies
Build cross-platform desktop apps with JavaScript, HTML, and CSS | KelasRobot.com - Hal.23
main.js | createWindow Function
function createWindow () {
const win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
preload: path.join(__dirname, 'preload.js')
}
})
win.loadFile('./index.html')
}
Build cross-platform desktop apps with JavaScript, HTML, and CSS | KelasRobot.com - Hal.24
main.js | Menjalankan Fungsi
app.whenReady().then(() => {
createWindow()
app.on('activate', () => {
if (BrowserWindow.getAllWindows().length === 0) {
createWindow()
}
})
})
Build cross-platform desktop apps with JavaScript, HTML, and CSS | KelasRobot.com - Hal.25
main.js | Close Window
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit()
}
})
Build cross-platform desktop apps with JavaScript, HTML, and CSS | KelasRobot.com - Hal.26
buat file index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Hello World</title>
</head>
<body>
<h1>Hello World</h1>
</body>
</html>
Build cross-platform desktop apps with JavaScript, HTML, and CSS | KelasRobot.com - Hal.27
Hubungkan ke
MQTT_
Build cross-platform desktop apps with JavaScript, HTML, and CSS | KelasRobot.com - Hal.28
Menginstall MQTT
Build cross-platform desktop apps with JavaScript, HTML, and CSS | KelasRobot.com - Hal.29
buat file preload.js
Build cross-platform desktop apps with JavaScript, HTML, and CSS | KelasRobot.com - Hal.30
buat file renderer.js
Build cross-platform desktop apps with JavaScript, HTML, and CSS | KelasRobot.com - Hal.31
renderer.js | MQTT Option
const options = {
keepalive: 30,
clientId: clientId,
protocolId: 'MQTT',
protocolVersion: 4,
clean: true,
reconnectPeriod: 1000,
connectTimeout: 30 * 1000,
will: {
topic: 'WillMsg',
payload: 'Connection Closed abnormally..!',
qos: 0,
retain: false
},
rejectUnauthorized: false
}
Build cross-platform desktop apps with JavaScript, HTML, and CSS | KelasRobot.com - Hal.32
renderer.js | MQTT Connection
console.log(mqtt)
console.log('connecting mqtt client')
const client = mqtt.connect(host, options)
Build cross-platform desktop apps with JavaScript, HTML, and CSS | KelasRobot.com - Hal.33
renderer.js | MQTT Subscribe
client.subscribe('ardumeka/8792121/suhu', {
qos: 0
})
Build cross-platform desktop apps with JavaScript, HTML, and CSS | KelasRobot.com - Hal.34
renderer.js | MQTT Publish
if (client.connected) {
client.publish("ardumeka/8792121/led", "LED ON", {
qos: parseInt(0, 10),
retain: false
})
console.log("LED ON Terkirim")
}
Build cross-platform desktop apps with JavaScript, HTML, and CSS | KelasRobot.com - Hal.35
Export to
EXE_
Build cross-platform desktop apps with JavaScript, HTML, and CSS | KelasRobot.com - Hal.36
Export To EXE
"scripts": {
"start": "electron .",
"package-mac": "electron-packager . --overwrite --platform=darwin
--arch=x64 --icon=assets/icons/mac/icon.icns --prune=true
--out=release-builds",
"package-win": "electron-packager . electron-tutorial-app --overwrite
--platform=win32 --arch=ia32 --icon=assets/icons/win/icon.ico --prune=true
--out=release-builds --version-string.CompanyName=CE
--version-string.FileDescription=CE --version-string.ProductName=\"Electron
Tutorial App\"",
"package-linux": "electron-packager . electron-tutorial-app --overwrite
--asar=true --platform=linux --arch=x64 --icon=assets/icons/png/1024x1024.png
--prune=true --out=release-builds"
}
Build cross-platform desktop apps with JavaScript, HTML, and CSS | KelasRobot.com - Hal.37
Referensi_
1. https://www.security.org/home-security-systems/what-is-a-home-s
ecurity-system/
Build cross-platform desktop apps with JavaScript, HTML, and CSS | KelasRobot.com - Hal.38