QtScript vs Lua vs ?



  • Hallo.
    Ich arbeite derzeit an einem GUI-Projekt (basierend auf Qt), dass ich jetzt durch Scripting erweiterbar machen will. So kann der Endbenutzer das Programm mit selbstgeschriebenen Plug-Ins erweitern. Ich habe sowas bisher noch nicht gemacht, wie kann man sowas am einfachsten realisieren?

    Zwei Scripting Engines interessieren mich bisher am meisten: QtScript und Lua.

    - Lua scheint recht einfach zu sein. Allerdings muss ich dann Sachen wie GUI selbst wrappen. Ich moechte naemlich dem Script-Programmierer die Moeglichkeit bieten eigene kleine Dialoge zu erstellen um mit dem Programmbenutzer kommunizieren zu koennen. Dazu braeuchte ich dann wohl auch ein Event-System. Wie koennte man das in Lua machen?

    - QtScript scheint dagegen etwas komplizierter zu sein... Zumindest blicke ich in der Qt-Dokumentation gar nicht mehr durch^^ Gibt es gute Einsteiger Tutorials dazu?

    Welche Scripting Engine wuerdet ihr mir empfehlen?



  • Cute Luna schrieb:

    Allerdings muss ich dann Sachen wie GUI selbst wrappen. Ich moechte naemlich dem Script-Programmierer die Moeglichkeit bieten eigene kleine Dialoge zu erstellen um mit dem Programmbenutzer kommunizieren zu koennen. Dazu braeuchte ich dann wohl auch ein Event-System. Wie koennte man das in Lua machen?

    Du musst ja nicht die komplette Qt Klassen wrappen. Eventuell reicht es aus, wenn du ein oder zwei Funktionen bereit stellst, mit der Nutzer einfache GUIs erstellen kann. Für Events kannst du ja simple Callback Funktionen nehmen (mal vorausgesetzt, dass Lua das kann).

    Falls deine Nutzer sich mit Qt auskennen sollen, kannst du auch einfach Lua-Qt-Bindings nehmen.

    Cute Luna schrieb:

    Welche Scripting Engine wuerdet ihr mir empfehlen?

    Würde ich halt ganz davon abhängig machen, was der Nutzer so machen soll. Ich würde jetzt wahrscheinlich ein Ruby oder Python einbinden. Einfach weil ich diese Sprachen programmieren kann und denke, dass recht viele Leute eine der beiden Sprachen können.



  • ProgChild schrieb:

    Würde ich halt ganz davon abhängig machen, was der Nutzer so machen soll. Ich würde jetzt wahrscheinlich ein Ruby oder Python einbinden. Einfach weil ich diese Sprachen programmieren kann und denke, dass recht viele Leute eine der beiden Sprachen können.

    Und was haelst du von Perl? Die ist ja auch ziemlich bekannt und laesst sich auch recht einfach einbetten, wie mir scheint. Nur verstehe ich diese Artistic lizenz nicht so wirklich.



  • Cute Luna schrieb:

    Und was haelst du von Perl?

    Abstand. Aber das ist nur meine persönliche Meinung. Ich finde die Sprache einfach nicht so toll. Aber sie sollte sich ohne Probleme einbetten lassen.

    Ob du nun Perl oder etwas anderes nehmen solltest hängt halt davon ab, wer die Plugins am Ende schreiben soll. Wenn das Leute sind, von denen du denkst, dass sie Perl können, dann nimm Perl. Wenn nicht, dann nimm etwas anderes. Entscheide halt nach den Sprachfeatures, die du brauchst.

    Probiere die Sprachen einfach mal aus und schau dir an, welche dir am besten gefällt.


Anmelden zum Antworten