Last weekend we hosted the KDE-Bindings and Kross meeting here at the KDAB Office in Berlin/Kreuzberg with the goal of organising, community building and of course hacking. It was the first meeting of its type for a bindings crew, with eight people representing
PHP. The projects do not all share code bases, and so it was an opportunity to present and review the details of how the implementations worked.
Python and Ruby are in a very good shape and stable for being used in application development using Qt and KDE facilities, while Qyoto, the C# binding is well on its way to providing the same level of completeness and stability. PHP will try to fill the gap between Desktop and Web Applications using the powerful technologies in the Qt toolkit, such as QtWebKit for instance. An interesting new star on the bindings horizon is Lua, which is widely used for scripting some well known computer games and other applications.
As a result of the meeting, we were able to get the Lua bindings running the cannon game tutorial t7, which is an important milestone in the progress of a Qt language binding, as it uses custom signals and slots. Furthermore, Lua bindings have been moved into KDE playground this week. Another technology we were working on was a Smoke to Kross bridge that allows one to share objects between
e.g. Ruby bindings and Krossruby. Using it, a developer can show GUI elements using QtRuby and the underlying QObjects and QWidgets can be picked up on the Kross side. The issues discussed included how to organise modules and documentation, improving the design of the template based QList and QMap marshallers for the Smoke lib, and which modules for the new KDE APIs we should target.
An amusing demonstration of the power of some of the KDE bindings technology happened when Sebastian asked Richard for an estimate about the effort of make QtRuby applications scriptable with QtScript. He just came out with a Smoke2 module only 10 minutes later, and after an additional 10 minutes he wrote a corresponding extension for QtRuby, and we were quite amazed. More work was also done on the Kross plugins for Krita and KDevelop. On balance, it was a great meeting with great people and a nice ambiance at the KDAB office.
Now we are looking forward to Akademy and more bindings discussions there. If you are interested in developing support for programming languages in KDE or writing documentation, just hop on Freenode in the #kde-bindings or #kross channel, or write an email to the kde-bindings mailing list, and we will be very happy to help get you going.