Kross : why choose between white and black ?

Since a few weeks, there have been an incredible amounts of KDE developers speaking about how their scripting language was the best in the world and that it should be considered as the VBA or AppleScript of the Open Source world (or at least of KDE) ! But, in fact, we all know that even if ruby is superior to anything else, a lot of people will refuse to acknowledge it and will want to use python, lua, javascript, perl… And, anyway, isn’t the open source world about choices ? So, why not support all of them ?

Because writing bindings is a lot of work, and writing one for several scripting languages is boring, and you will have an hard time to have a consistent API, and you will end up with several bindings which aren’t well supported. You can use automatic tools like swig to create the bindings for you, but you will export a bloated API while what you want is a simple and neat but powerful API. That was to answer those problems, that Sebastian Sauer wrote Kross for Kexi. And that’s why I started to use kross for scripting in Krita. Currently it only has support for python and ruby, but in the future we will add at least JavaScript, and adding in other scripting language is pretty easy.

Sebastian Sauer has setup a website with useful information about kross, some screenshots with kross in Kexi and Krita and especially with a tutorial, and as you can see, adding kross support to a kpart application is non intrusive and require a small quantity of code, as it works as a plugin, and then you need to write the binding.

Kross is currently shipped inside kofficelib, so if you have it installed you only need to install the development package, on the other hand, if you don’t have kofficelib and don’t want to install it, here you can find a tarball with the source code of the library.

This entry was posted in Krita, Open Source and tagged , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>