Skript lokal mit Weboberfläche als GUI

Django, Flask, Bottle, WSGI, CGI…
Antworten
OnoSendai69
User
Beiträge: 3
Registriert: Freitag 30. August 2019, 10:54

Hallo,

für meine Firma habe ich schon zahlreiche Tools als Webanwendung erstellt: mit Flask, SQLAlchemy und connexion für die Restful-API und vue.js für die Oberfläche. Die Anwendungen laufen auf einem internen Server und die Mitarbeiter greifen mit einem Browser auf die Anwendungen zu.

Nun habe ich jedoch ein Tool zu schreiben, das lokal auf den Arbeitsplätzen laufen müsste, da es Zugriff aus lokale Ressourcen haben soll - Dateisystem, USB. Nun könnte ich die Oberfläche natürlich mit einem der diversen GUI-Frameworks machen, tkInter, wxPython, usw.

Da ich mich jedoch mit vue.js schon gut auskenne und mich nicht auch noch in ein neues komplexes Framework einarbeiten möchte, habe ich die Idee, die API lokal zu starten und die Oberfläche als Web-Anwendung im Browser zu realisieren. So ähnlich, wie das auch pgAdmin macht: dort wird ein lokaler Webserver gestartet, der dann ein Browserfenster öffnet.

Jetzt ist meine Frage, ob es dafür bereits ein Framework gibt, mit dem sich das realisieren ließe. Ich habe mir den Quelltext von pgAdmin aus dem Git geholte und angeschaut. Dort wird das mit QT 5 gemacht. Dafür scheint mir der Aufwand jedoch ziemlich hoch zu sein.

Hat vielleicht jemand eine Idee, wie so etwas realisiert werden kann?

Vielen Dank schon mal
Joachim
einfachTobi
User
Beiträge: 512
Registriert: Mittwoch 13. November 2019, 08:38

Flask lässt wunderbar mit diversen WSGI-Servern kombinieren: https://flask.palletsprojects.com/en/1. ... tandalone/. Du könntest also einen davon wählen und dann dein Vorhaben genau so umsetzen: Webserver starten, Seite mit dem Browser aufrufen, den Rest mit Flask und Vue.js abwickeln.
Benutzeravatar
__blackjack__
User
Beiträge: 14012
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@OnoSendai69: Ich bin ein bisschen verwirrt: pgAdmin läuft im Browser aber ist mit Qt5 geschrieben? Das ist doch ein traditionelles GUI-Rahmenwerk dessen GUI *nicht* im Browser läuft‽

Das geht im Grunde mit jedem Webrahmenwerk. Ich würde erst schauen ob Bottle oder Flask ausreicht, und falls nicht wäre Django das Rahmenwerk mit dem man so gut wie alles machen kann.
“The best book on programming for the layman is »Alice in Wonderland«; but that's because it's the best book on anything for the layman.” — Alan J. Perlis
OnoSendai69
User
Beiträge: 3
Registriert: Freitag 30. August 2019, 10:54

Ich habe noch mal in die Quellen von pgAdmin geschaut: Qt wird als runtime genutzt. Die eigentliche Anwendung arbeitet mit Flask, jQuery und Bootstrap.

Erstmal vielen Dank soweit. Ich werde mich jetzt erstmal damit beschäftigen, wie man eine Runtime-Anwendung erstellen kann. Bislang habe ich immer Server-Anwendungen geschrieben, die WSGI nutzen.
Benutzeravatar
DeaD_EyE
User
Beiträge: 1228
Registriert: Sonntag 19. September 2010, 13:45
Wohnort: Hagen
Kontaktdaten:

Witzig, den pgAdmin 4 habe ich mir vor Tagen installiert, da ich momentan mit ERP (odoo) beschäftigt bin.
Beim ersten Start der Software dachte ich mir auch, was ist das denn? Benötigt Qt, was eine komplettes Framework für GUIs ist, liefert den Inhalt über einen Webserver aus.
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server
OnoSendai69
User
Beiträge: 3
Registriert: Freitag 30. August 2019, 10:54

Ich kannte Qt bislang auch als GUI-Framework und vor ca. 5 Jahren hatte ich auch mal damit gearbeitet. Man merkte jedoch zusehr die Basis von C++.
An pgAdmin finde ich halt interessant, dass man unter Windows pgAdmin startet und dann öffnet sich ein neuer Tab im Browser mit der Oberfläche.
Ich schaue mir jetzt mal den pyInstaller an - vielleicht kann ich damit etwas hinbekommen

@DeaD_EyE: wir setzen auch seit ca. 1,5 Jahren Odoo ein und Erstellen selber Module dafür...
Antworten