/[http://wiki.kde.org/tiki-index.php?page=KDE+Community+World+Summit|aKademy] / [http://wiki.kde.org/tiki-index.php?page=Talks+@+aKademy|Talks] / KJSEmbed -=Using KJSEmbed in KDE Applications=- Ian "I have a voice that carries" Reinhart Geiser Rich Moore took the JavaScript engine and bound it to Qt. It is small (about 400K) and easy to embed, it's not the fastest but it is sufficiently responsive. Easy to extend with new bindings and easy to embed using a rich C++ interface. KDE has always had C++, DCOP and KParts were added in KDE 2. These carry typical C++ problems of compilation. KJSEmbed can use almost any KDE widget, any QObject can be bound with one line of code. No binary compatibility or worry of different architectures. Where KJSEmbed makes sense. Many business problems need just set logic and string manipulation which works great with KJSEmbed. Then followed lots of technical stuff including code, look at the slides. KJSEmbed is quickly evolving. SourceXtreme uses it for some utility tasks like post labels or printing tasks. Future will bring better memory management fixing issues with pointers between C++ and JavaScript. It will be faster thanks to Apple. More bindings for Qt and KDE, Qt4 will make it more powerful. More developers are welcome. Are there applications using KJSEmbed? amarok does. Kexi is talking about it, Kopete uses it, some applications in CVS. Could be used in KDevelop and KOffice. There is an XSLT stylesheet to convert doxygen to bindings. Looking at tools to automate the creation of bindings. I don't like JavaScipt, can this framework be used with other languages? Theoreticly this is possible e.g. they have considered using other JavaScript engines if they were faster. Python has been toyed with but he's not sure what the point would be since there are other tools. Smoke library already solves this problem. People have brought this up to KJSEmbed developers but they havn't worked it out yet.