SpiderBasic-WebApp als Desktop-Applikation laufen lassen

Hier könnt ihr alle Fragen zu SpiderBasic austauschen.
Benutzeravatar
Kiffi
Beiträge: 10621
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

SpiderBasic-WebApp als Desktop-Applikation laufen lassen

Beitrag von Kiffi »

Alaaf & Helau,

nachfolgend ein Tipp, wie man eine SpiderBasic-WebApp als Applikation auf dem Desktop (Windows, Linux, MacOS) laufen lassen kann:

Getting Started:

* NW.js (https://nwjs.io/) herunterladen und an einem Ort seiner Wahl entpacken.

* In dem entpackten Ordner einen neuen Ordner mit dem Namen "www" erstellen.

* Im Hauptordner eine Datei namens "app.js" mit folgendem Inhalt anlegen:

Code: Alles auswählen

var win = nw.Window.open('./www/index.html', {
  position: 'center',
  width: 1000,
  height: 800,
  focus: true
});
* Ebenfalls im Hauptordner eine Datei namens "package.json" mit folgendem Inhalt anlegen:

Code: Alles auswählen

{
  "name": "HelloWorld",
  "main": "app.js"
}
* Nun in SpiderBasic eine neue Datei erstellen. Ein simples

Code: Alles auswählen

Debug "HelloWorld!"
reicht hierfür.

* Danach über die Menüzeile -> Compiler -> Create App -> Web aufrufen.

* Folgende Werte eintragen:

App Name: HelloWorld
HTML filename: [PfadZuDeinemNwJsOrdner]/www/index.html
JavaScript filename: HelloWorld.js

* Häkchen bei "Copy SpiderBasic libraries" und "Enable debugger" machen

* "Create App" drücken. Das geht recht fix.

* Danach in den NwJs-Ordner wechseln und die ausführbare Datei dort starten.

und Tusch!

Bild

SpiderBasic NwJs - Module:

NW.js lässt sich sehr gut von 'innen' -- also aus der SpiderBasic-App -- steuern. Hierfür habe ich ein paar JavaScript-Wrapper in Form von Modulen geschrieben, die hier heruntergeladen werden können: https://github.com/spiderbytes/NwJs

Möchte man beispielsweise die Größe des Fenster ändern, so bindet man das NwJsWin.sbi - Modul ein und ruft NwJsWin::ResizeTo() mit den entsprechenden Werten auf.

Bild

Da NW.js über ein 'eingebautes' NodeJS verfügt, kann man auch entsprechende Befehle (etwa die des Filesystems) nutzen, um aus SpiderBasic mit der 'Aussenwelt' zu kommunizieren (SpiderBasic-Module NwJsOs, NwJsFs, NwJsClipboard).

Probiert es einfach mal aus.

Viel Spaß ... Peter
Hygge
Benutzeravatar
TroaX
Beiträge: 660
Registriert: 08.03.2013 14:27
Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Pop_OS! | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Pop_OS!
Wohnort: NRW
Kontaktdaten:

Re: SpiderBasic-WebApp als Desktop-Applikation laufen lassen

Beitrag von TroaX »

Danke für die Arbeit. Eine klasse Idee und ein guter Ansatz.

Leider mag ich Spiderbasic und NW.js immernoch nicht. Ich bevorzuge weiterhin Handmade JS und Electron bzw. PHP Desktop.

Aber ich bin mir sicher, das viele ihre Freude damit haben werden :)
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Pop_OS!
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Pop_OS!
NAS: Fritz.Box :lol:
Coding: Purebasic 6.04 | PHP | HTML | CSS | Javascript
Benutzeravatar
dige
Beiträge: 1182
Registriert: 08.09.2004 08:53

Re: SpiderBasic-WebApp als Desktop-Applikation laufen lassen

Beitrag von dige »

Cool! Danke Kiffi. Das sind ja wieder eine Menge neue Möglichkeiten :D
"Papa, mein Wecker funktioniert nicht! Der weckert immer zu früh."
Antworten