Benutzeroberfläche

In diesem Forum können Fragen zum OrderSprinter gestellt werden.
Ferrari77
Beiträge: 5
Registriert: Sa 26. Feb 2022, 17:53

Benutzeroberfläche

Beitrag von Ferrari77 »

Guten Tag,

ich frage mich warum sie verzichtet haben für die UI ein CSS Framework zu nutzen? WIe kann man am besten ein Plugin erstellen? Haben sie eine Dokumentation dafür?

Mit freundlichen Grüßen
Felix Sternsdorf
pichel
Administrator
Beiträge: 1171
Registriert: So 13. Sep 2015, 19:48
Wohnort: Hamburg
Kontaktdaten:

Re: Benutzeroberfläche

Beitrag von pichel »

Hallo Felix,

weil die Frage schon mehrfach an mich gestellt wurde, hier erst mal ein paar Worte ganz generell zu meiner Meinung zur Einbindung von Bibliotheken:

Ich bin kein großer Freund von Frameworks. Wenn man sie gut beherrscht, nehmen zwar einiges an Arbeit ab und fördern einen sauberen Entwicklungsstil, der es anderen leichter macht, sich in den Code einzuarbeiten. Auf der anderen Seite
- blähen sie den Code auch gerne auf und sind oft mit einem Performanceverlust verbunden. Gerade bei einer Kassenlösung kommt es darauf an, dass die wesentlichen Funktionen wie Bestellung und Abrechnung möglichst ohne Latenzen passieren. Hier habe ich sehr viel Arbeit investiert.
- muss man die Frameworks ständig aktualisieren, damit sie mit der neuen Umgebung (PHP-Version, JavaScript, Browser) immer Schritt halten. Das fällt mir bei selbstgeschriebenem Code einfacher, da ich mich hier möglichst am Standard orientiere und nicht immer den neuesten Features hinterherrenne.
- möchte ich gerne wissen, was im Hintergrund passiert. OrderSprinter ist für mich auch ein Lernprojekt. Wenn man immer nur Bibliotheken zusammenbaut, kommt man zwar schneller zu Ergebnissen, der Lerneffekt ist aber geringer. Das gilt auch für css. Ich weiß, dass ich kein Designer bin, aber es macht mir mehr Spaß, das Layout selbst zu vermurksen und dabei etwas zu lernen, als mich mit fremden Federn zu schmücken.
- haben die Frameworks teils zu wenig Fokus auf Security. Sie bringen viel mehr Code (und damit potentielle Probleme) als nötig mit und ich bin überrascht, wie häufig dort fundamentale Security-Guidelines ignoriert werden (Prepared Statements nur so als Beispiel). Irgendwie ist man dann ständig dabei, Patches einzuspielen, um solche Security Bugs zu fixen - und sich dadurch wieder neue einzufangen.
- muss man ständig die Lizenzen im Auge behalten. Die Lizenzen können sich ja auch von einer Version zur nächsten ändern und ein Update dadurch verhindern. Je weniger Fremdcode, desto weniger Abhängigkeiten...

Ganz ohne fremde Libraries komme ich natürlich auch nicht aus: ich verwende z.B. w3.css, fpdf, jquery, phpexcel, phpmailer, hayageek_uploadfile - halt alles unter php/3rdParty) - und ärgere mich regelmäßig darüber, wie abhängig die Bibliotheken von bestimmten PHP-Versionen programmiert wurden.


Und nun zur eigentlichen Frage: An einigen Stellen kann man eigenen Code ausführen lassen, die ich als Plugins bezeichne. Das ist im PDF-Handbuch beschrieben, das man von der Downloadseite herunterladen kann. Zusätzlich ist die Anpassung der Kellnerdesktopansicht ziemlich einfach und auch dort beschrieben. Die mobilen Ansichten sind etwas schwieriger anzupassen, da ich hier jquery Mobile nutze (was eindeutig im Nachhinein gesehen ein Fehler war). Mit dem ThemeRoller, den es online gibt, kann man die Themes aber auch anpassen. Allerdings overrule ich die Themes an einigen Stellen manuell und nutze die Themes insgesamt etwas anders als eigentlich von den Entwicklern gedacht.


Viele Grüße,

Stefan
Stefan Pichel
Entwickler der Kassensoftware OrderSprinter (http://www.ordersprinter.de)
Antworten