2010-07-12 7 views
10

Sto appena iniziando lo sviluppo in C++ usando Qt. Tuttavia, sono anche interessato a usare Lua per scrivere la mia app, dati vari articoli che indicano la sua velocità di sviluppo (facilità) per scrivere il flusso di lavoro/ui/colla di un'applicazione. Tuttavia, Qt non lo supporta, ma include QtScript.Quanto è facile Lua con Qt, rispetto a QtScript?

La mia domanda è in pratica dovrei provare ad usare Lua con Qt per sviluppare un'app commerciale, o usare QtScript disponibile nell'SDK? Principalmente una domanda di velocità di sviluppo e di stabilità, immagino.

risposta

13

che ho incontrato lo stesso dilemma. Preferisco di gran lunga Lua a ECMAScript per questo tipo di attività. Tuttavia, per quanto sia semplice scrivere binding Lua, il livello di integrazione fornito da QtScript offre molte funzionalità immediate. Ciò include i binding alle classi incorporate QObject e alle proprie classi che ereditano da QObject e/o QScriptClass.

Quindi, se si desidera solo scrivere script o configurare le proprie classi indipendentemente dalla funzionalità Qt, quindi andrei con Lua. Tuttavia, se si desidera interagire principalmente con i tipi basati su QObject, QtScript ridurrà notevolmente il tempo di sviluppo iniziale.

Il meglio dei due mondi sarebbe la possibilità di analizzare gli script Lua con un'implementazione QScriptEngine alternativa. Ho in mente di guardare in quanto difficile sarebbe di integrare per un po '...

UPDATE: QtLua è ancora attivamente mantenuto e potrebbe risolvere direttamente il problema.

1

Javascript è così ben integrato in questo momento, se vuoi integrare lua probabilmente avrai uno sforzo iniziale molto più alto. Anche l'attuale implementazione (4.6) utilizza il motore javascript webkit, il che significa che è incredibilmente veloce.

Ho usato Javascript e Qt per un progetto in corso ed è stato abbastanza facile da trasportare i dati in entrambi i casi (Qt per Javascript, e viceversa)