Skip to main content

Tulip opens to a new world of possibilities

About a year and a half ago, a group of six students experimented with QtScript and QtJambi, and how they could be integrated with Tulip.

Today, this project has been re-animated, and it looks pretty promising.

New technologies such as Shiboken (from PySide) have been integrated into this to allow for even more awesomeness.


We realize that lots of developers don't like C++, and for those, Tulip is not even an option.
The goal of using QtScript and QtJambi with Tulip is to bring new contributors to Tulip, without forcing them to use C++.

People with only notions of programation will have the full power of Tulip at their fingertips. No need for a compiler anymore, QtScritp (very close to ECMAScript, aka JavaScript) and Python are here.

And for the very large Java community, it is a new Graph manipulation library that becomes available, with the performances of C++.

QtScript/Python
This part is pretty straight-forward.
You have a simple text editor with syntax highligting and basic code completion, a button to run your script, and voilà.
Of course this is not as powerfull nor as fast as native C++ plug-ins, but it is far easier to use, and as new versions are brewing, we will make it more and more powerfull, maybe giving access to the rendering engine, or even allowing for whole plug-ins written in script !

This can be used to fast prototype an algorithm, or to apply multiple plug-ins at once.
You can of course save and load scripts, giving you the opportunity to write an operation once, and perform it multiple times.

QtJambi
QtJambi is a bridge allowing Java developpers to create Qt applications. It is no longer developed officially by Nokia, but it is supported by an open-source community, and is still very much alive.
QtJambi had another purpose : allowing developpers to create a Java interface to a C++ program, without having to become an expert in the JNI.
Tulip-Jambi brings the Tulip API to Java, and allows Java developers to perform graph manipulation (not visualisation yet) using Tulip.
Also, it opens up the possibility of writing Tulip plug-ins in Java.


These two projects are related technically because they use generators provided by Qt that have an almost-identical workflow, and use almost-identical configuration files.
These are not production-level yet, but this will be coming to Tulip soon, hopefully for the 3.5 release.