Fwd: [Qt-qml] Merging V8 into qtdeclarative.git#master
FYI -- Forwarded message -- From: aaron.kenn...@nokia.com Date: Tue, Jul 5, 2011 at 1:20 AM Subject: [Qt-qml] Merging V8 into qtdeclarative.git#master To: qt-...@qt.nokia.com Hi, Tomorrow we will merge the qtdeclarative.git#v8 branch into qtdeclarative.git#master. This change switches the JavaScript engine QML uses from JavaScript Core to V8 (http://code.google.com/p/v8/). In the past QML accessed the JavaScript engine indirectly through QtScript, but with V8 we integrated it directly against V8's native C++ API. Consequently, in addition to the raw JavaScript performance improvements we get for free, QML can leverage some of V8's unique features to give a better JavaScript experience. In a perfect world, other than their apps running slightly faster, QML users should notice no change. However, there are a couple of known regressions to be aware of: 1. Creator integration will probably not work as smoothly in the short term - at the very least the JavaScript debugging will not work. 2. Any QML API that relies on QML's undocumented ability to set and get QScriptValue properties will no longer work. 3. Any application that provides a QScriptValue based QML module API will no longer work. As module APIs are an unreleased feature anyway, hopefully this wont be a big problem. If you encounter any other breakage, it is probably a bug - so please report it! One goal in qt5 is to allow applications to expose their own JavaScript based APIs to QML. Right now, it is not clear whether this will be accomplished by porting all of QtScript to V8, or by exposing a new, smaller JavaScript API that just wraps V8. If anyone has any strong opinions on the matter, now would probably be a good opportunity to express them :) Cheers, Aaron ___ Qt-qml mailing list qt-...@qt.nokia.com http://lists.qt.nokia.com/mailman/listinfo/qt-qml -- --- Artur Duque de Souza openBossa INdT - Instituto Nokia de Tecnologia --- Blog: http://blog.morpheuz.cc PGP: 0xDBEEAAC3 @ wwwkeys.pgp.net --- ___ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel
Re: Fwd: [Qt-qml] Merging V8 into qtdeclarative.git#master
On Tuesday 05 July 2011, Artur Souza (MoRpHeUz) wrote: 1. Creator integration will probably not work as smoothly in the short term - at the very least the JavaScript debugging will not work. 2. Any QML API that relies on QML's undocumented ability to set and get QScriptValue properties will no longer work. 3. Any application that provides a QScriptValue based QML module API will no longer work. As module APIs are an unreleased feature anyway, hopefully this wont be a big problem. ok, so this feared and unbelievably BS change happened in the end. I'm still amazed that they got a change in that makes debugging with QtCreator impossible (and if they don't get either the acess to qtscript back, or write something else that almost mimicks qtscript behaviour, debugging is just plain impossible, end of story) this means that in Qt5 we will be able to use exactly zero of the current JS api in qml. Of the current bindings is possible to make some of them work, the Core one should almost work, qtextracomponents has a problem for qicons (at least), and this means as well, *every* qstandarditemmodel is broken now the behavior of plasmoid.* object could *almost* be emulated, but not functions dynamically added as is now, meaning saying goodbye to the last pieces of the nice sandboxing model that remained. other thing that in no way they can work anymore: * services: no more bindings for kconfiggroup, impossible to pass any parameter * addons: not possible anymore as well (there is some way to make a decalrative engine interpret js, but is nowhere near as the needed) * access to qvarianthash/maps provided by the dataengines (have to check, iirc doesn't work) * anything that relies writing on the root context * forget any binding to QPainter (they could still have been useful to paint over pixmaps) probably i still forgotten something. so, few options here: * acting as Qt5 will never happen (not too wise) * starting from scratch bindings for qml2, something can be saved most to be rewritten (and no, don't have time for it, also rewriting them to make them explicitly worse is not exactly fun) * fighting, fighting and fighting (this got exactly nothing so far, i guess they will hear even less now) so, what else remains to do?? Cheers, Marco Martin ___ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel
Re: Fwd: [Qt-qml] Merging V8 into qtdeclarative.git#master
Quoting Marco Martin notm...@gmail.com: so, what else remains to do?? Besides not working right now I think that the module API that today uses QScriptValue will still be present (I just asked for it anyway in qt-qml mailing list). Even if it doesn't use QScriptValue but some other stuff in the future. With this module API we would be able to export the non-QObject stuff. But I think that a good solution would be to git reset --hard origin our relationship with QML guys: these days they look like more responsive on mailing lists and we could try to talk with them about real solutions for our problems... I know this didn't work in the past, but I would like to give another try but without coming to the qt-qml mailing list saying this is *@#$(@ hehe :). Marco, can you help me on qt-qml mailing list and post these problems and ask for advice? I will help you there ;) Cheers! -- --- http://claimid.com/morpheuz Blog: http://blog.morpheuz.cc PGP: 0xDBEEAAC3 @ wwwkeys.pgp.net --- ___ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel
Re: Fwd: [Qt-qml] Merging V8 into qtdeclarative.git#master
On Tuesday 05 July 2011, Artur de Souza wrote: Quoting Marco Martin notm...@gmail.com: so, what else remains to do?? Besides not working right now I think that the module API that today uses QScriptValue will still be present (I just asked for it anyway in qt-qml mailing list). Even if it doesn't use QScriptValue but some other stuff in the future. this could be good, is it something already existent or planned? (I don't know a lot of that stuff) how would be possible to register a non qobject without a qscriptvalue? With this module API we would be able to export the non-QObject stuff. But I think that a good solution would be to git reset --hard origin i think that would still force us to rewrite the bindings, forgetting everything about the old js bindings (interesting trivia, that was my first version, there is still a version of bindings that has a plasmoid.* and doesn't use the engine at all, then unfortunately discovered the access to the engine, kinda wish i never did now :/) our relationship with QML guys: these days they look like more responsive on mailing lists and we could try to talk with them about real solutions for our problems... that's nice ;) I know this didn't work in the past, but I would like to give another try but without coming to the qt-qml mailing list saying this is *@#$(@ hehe :). Marco, can you help me on qt-qml mailing list and post these problems and ask for advice? I will help you there ;) ok, (re)subscribed now ;) Cheers, Marco Martin ___ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel
Re: Fwd: [Qt-qml] Merging V8 into qtdeclarative.git#master
On Tuesday 05 July 2011, Artur de Souza wrote: Quoting Marco Martin notm...@gmail.com: so, what else remains to do?? Besides not working right now I think that the module API that today uses QScriptValue will still be present (I just asked for it anyway in qt-qml mailing list). Even if it doesn't use QScriptValue but some other stuff in the future. With this module API we would be able to export the non-QObject stuff. But I think that a good solution would be to git reset --hard origin our relationship with QML guys: these days they look like more responsive on mailing lists and we could try to talk with them about real solutions for our problems... I know this didn't work in the past, but I would like to give another try but without coming to the qt-qml mailing list saying this is *@#$(@ hehe :). Marco, can you help me on qt-qml mailing list and post these problems and ask for advice? I will help you there ;) hmm, i see now on the archives that they seem to consider to reenable QtScript for V8... that would be the best way (and the only good one, still imo) -- Marco Martin ___ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel