Qt Script possibly not the best tech for Kexi scripting

Jaroslaw Staniek staniek at kde.org
Mon Feb 16 10:00:10 GMT 2015


On 16 February 2015 at 10:45, Tomas Mecir <mecirt at gmail.com> wrote:
> I've no idea what state it is in, but, what about KJS/KJSEmbed?
> http://api.kde.org/frameworks-api/frameworks5-apidocs/kjs/html/index.html

This is a plain engine. No idea how updated compared to Qt's one.

> http://api.kde.org/frameworks-api/frameworks5-apidocs/kjsembed/html/index.html

This is a binding for QObjects only, right?
Thanks.

>
> 2015-02-16 10:19 GMT+01:00 Jaroslaw Staniek <staniek at kde.org>:
>>
>> Hi,
>> As you know a semi-official conclusion is that we can afford
>> development of scripting for at most one scripting language, and for
>> some reasons like popularity and security it's JavaScript. [0]
>>
>> I am forwarding the thread from the development at qt-project.org list. [1]
>>
>> (CC'd to calligra-devel since potentially, scripting is something
>> useful for other Calligra apps in some distant future)
>>
>> It says that Qt Script is going to be deprecated in Qt 5.5, and most
>> likely removed them from binary packages in Qt 5.6. By the time we're
>> done with porting to Qt5 5.5 would be ready (May 2015).
>>
>> The concern is that Qt Script isn't wery actively developed and
>> possibly not a safe technology for our scripting needs in Kexi.
>> Its engine's code has not been actively updated, and JavaScript has
>> since evolved as a language. Previously QtScript status was Done, what
>> already meant a "no new features" policy.
>>
>>
>> == What's a replacement? ==
>>
>> As you know KROSS isn't in KF5/Qt5, so it's not an option to re-add
>> it. Moreover the idea of KROSS was a general one-size-fits-all support
>> for multiple programming languages, without find-grained support for
>> specifics of given language. For example you'd like to use your
>> language's list structure instead a wrapped QList (just an example).
>>
>> QtQml / QJSEngine is the only proposed replacement so far, by the Qt
>> community. We have not yet analyzed if it's as complete tool set as
>> QtScript for our needs. Feel free to look closer, it would be
>> appreciated.
>>
>> == Problems? ==
>>
>> Two particular things I raised questions for in case of the above
>> proposal, are:
>> 1. Support for encapsulating non-QObject objects (light, simple
>> structures) for use in javascript code
>> 2. Support for (visual) debugging environment for users
>>
>> The answer I got (in the same thread [1]):
>> Re 1. There are some lighter solution, possible related to the  new
>> Qt's Gadget construct
>> Re 2. Solution would come as a result of contributions that are in
>> progress, obviously more projects need a debugger component.
>>
>> Extra bonus is that we can develop JSON/QML (not necessarily Qt Quick)
>> based "micro-formats" that are can be easily accessible/blended into
>> JavaScript scripting. Think of conditional formatting for data grids
>> or Assistant GUI APIs for end users.
>>
>> == Your turn ==
>>
>> Feel free to post your analysis or concerns regarding scripting here.
>>
>> We're about to enter the porting to Qt5/KF5 stage. Aspects of
>> scripting are included in the plan [3]. The minimum is not to break
>> compatibility with the simple scripting features in Kexi 2 Reports.
>> We're not going to support compatibility with the experimental
>> scripting module of Kexi 2 however (the script Kexi objects). They are
>> experimental after all. We hope to reuse the Kate-based editor of
>> course.
>>
>> == Good thing ==
>>
>> I think it's good that given the plan is pragmatic (e.g. we do not
>> half-develop features) we've not developed QtScript-based scripting so
>> far, otherwise we're be rather sad because of lost resources.
>>
>>
>> [0] https://community.kde.org/Kexi/Plugins/Scripts
>> [1] https://www.mail-archive.com/development@qt-project.org/msg18866.html
>> [2] http://doc.qt.io/qt-5/qjsengine.html
>> [3] https://community.kde.org/Kexi/Porting_to_Qt%26KF_5
>>
>> --
>> regards, Jaroslaw Staniek
>>
>> KDE:
>> : A world-wide network of software engineers, artists, writers,
>> translators
>> : and facilitators committed to Free Software development - http://kde.org
>> Calligra Suite:
>> : A graphic art and office suite - http://calligra.org
>> Kexi:
>> : A visual database apps builder - http://calligra.org/kexi
>> Qt Certified Specialist:
>> : http://www.linkedin.com/in/jstaniek
>> _______________________________________________
>> calligra-devel mailing list
>> calligra-devel at kde.org
>> https://mail.kde.org/mailman/listinfo/calligra-devel
>
>
>
> _______________________________________________
> calligra-devel mailing list
> calligra-devel at kde.org
> https://mail.kde.org/mailman/listinfo/calligra-devel
>



-- 
regards, Jaroslaw Staniek

KDE:
: A world-wide network of software engineers, artists, writers, translators
: and facilitators committed to Free Software development - http://kde.org
Calligra Suite:
: A graphic art and office suite - http://calligra.org
Kexi:
: A visual database apps builder - http://calligra.org/kexi
Qt Certified Specialist:
: http://www.linkedin.com/in/jstaniek



More information about the calligra-devel mailing list