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