Alternative für Trinket?
Hallo Leute, ich baue gerade eine Website für meine Facharbeit mit HTML, CSS und JavaScript. Auf der Website soll 1 Python Programm gezeigt werden (also der Code) und es soll eine Konsole geben, mit der man das Programm ausführen kann und wenn nötig (also das Programm fragt den Nutzer etwas einzugeben um dann spezielle Berechnungen zu tätigen) etwas eingeben kann. Gibt es einer Möglichkeit dies direkt mit HTML, CSS und JavaScript zu erstellen, oder braucht man da direkt ein Programm wie Trinket, dessen Code man dann einbetten kann. Wenn ja, gibt es andere solche Tools. Oder wie würde sowas dann funktionieren, wenn man es direkt programmiert?
Vielen Dank an alle, die sich für diese Frage Zeit nehmen!
LG Melleo
2 Antworten
Ja, da gibt es auch andere Alternativen. Jupyter Notebook und Brython beispielsweise oder (einfacher/schneller), man nutzt die Share-/Embedding-Funktion von Online-Tools wie OnlineGDB oder Programiz Pro IDE.
Gibt es einer Möglichkeit dies direkt mit HTML, CSS und JavaScript zu erstellen (...)
Auf jeden Fall ist es ziemlich aufwendig, wenn man nicht auf bestehende Lösungen für zumindest bestimmte Teilprobleme zurückgreift. Ich denke da zuerst an die Darstellung des Code-Editors, bei dem eine Bibliothek wie highlightjs oder prism.js ganz nützlich wäre.
Für die Ausführung würden mir nun zwei Wege einfallen. Entweder du integrierst eine Bibliothek wie Brython, JSPython, PyScript und schaust, wie du den Code mit JavaScript an deren Interpreter weitergeben kannst oder du baust dir eine serverseitige Anwendung, der du den Code via AJAX-Request zuschickst, damit sie ihn an einen Python-Interpreter weiterleiten kann. Die Antwort würde dementsprechend über den Response Body zurück an den Browser geschickt werden.
Bei ersterem Weg kannst du leicht auf Einschränkungen wie noch nicht integrierte Python-Features oder Instabilitäten/Bugs stoßen. Bei letzterem Weg bräuchtest du definitiv Sicherheitsmaßnahmen, die verhindern, dass schädlicher Code ausgeführt werden kann, welcher beispielsweise die Serveranwendung blockiert, für einen Absturz sorgt, o.ä..
Damit kann man Python im browser ausführen
Also funktioniert es genau wie Trinket?