Table of Content
There is a mailing list for QtScript development. You can subscribe to it at http://lists.qt.nokia.com/mailman/listinfo/qt-script [lists.qt.nokia.com]
We have an IRC channel on FreeNode: #qt-script (For a full list of IRC channels of interest to Qt developers, see OnlineCommunities.)
For contributing to QtScript, see the Qt Contribution Guidelines [qt.gitorious.org].
Making Applications Scriptable
What’s NOT in Scope
QtScript was preceded by QSA — Qt Script for Applications [doc.qt.nokia.com]. QSA implements a subset of a draft of the (never-completed) ECMAScript 4 language. It also contained API for embedding script editing and “user script execution” into your application (QSA Workbench).
The QtScript module introduced in Qt 4.3 was inspired by QSA, but doesn’t share any API or implementation.
The QtScript runtime was built on an in-house-developed, bytecode-based interpreter that performed well for its time.
Qt 4.4 added the QScriptEngineAgent [doc.qt.nokia.com] class, which provides an API for hooking into low-level events in the script engine. This class could be used to implement debugging- and profiling-related tools for QtScript.
Qt 4.4 also introduced QScriptClass [doc.qt.nokia.com], an interface for implementing “catch-all” (interceptor-based) access to script objects; and QScriptString [doc.qt.nokia.com], a class that represents interned property names (for faster comparison and property access).
Qt 4.5 introduced the QtScriptTools [doc.qt.nokia.com] module, which provides a graphical debugger for QtScript.
Tests and Benchmarks
The QtScript autotests are located in the
There will be differences in the back-ends that are difficult to mask (e.g. different wording in error messages), but we try to keep the tests as back-end-agnostic as possible, so that the same tests can be run against different versions of Qt/QtScript.
Imported Test Suites
The QtScript benchmarks are located in the
In addition to benchmarks for the C++ API, the SunSpider and V8 benchmarks have been imported.
These benchmarks can be used to compare the performance of different versions of Qt/QtScript, in particular to ensure that there are no performance regressions between versions.
The main challenge with this project is that the C API is limited compared to QtScript’s API, so a lot of functionality will have to be added to the C API before the QtScript API can be completed on top.
This project is currently paused while V8 [code.google.com] is being investigated as an alternative.
QtScript and V8
See separate article [developer.qt.nokia.com].
There is only one article in "Developing_Qt -> Qt_Script":