[Kde-bindings] Qt & SWIG

Arno Rehn arno at arnorehn.de
Fri Jul 12 18:59:45 UTC 2013


Hi,

first I must apologize for letting SMOKE slide that much, but I'm kinda 
busy at the moment and just can't find time to develop this any further 
(although I'd really really like to).

As you are talking about alternatives:
Yes, in theory SWIG or something alike would have better performance for 
a statically typed language as C# (although I believe that the gain 
isn't that great if proper caching is employed).

But generating <language> wrappers for some C++ API is not really the 
"hard" part about writing bindings. The hard part (at least in Qt's 
case) is integrating the target language with the Meta Object System and 
all the other callback mechanisms (virtual methods, function 
pointers..). Even if you switch from SMOKE to SWIG, you will still have 
to deal with that yourself.

That is even the case with Qt-Jambi converted with IKVM I believe. 
Besides, when I tested the QtJambi/IKVM combo a few years ago, 
performance was definitely subpar.

Personally, I don't think converting bindings that are written for an 
entirely different language is the way to go here.

Just my two cents.

On 12/07/13 20:32, james wrote:
> What is Qt-Jambi doing, or are they in difficulty too?
>
> Qt seems to shed bindings like they are going out of fashion.
>
> I can imagine that's no problem for Phil with PySide, bit perhaps a
> little less NIH elsewhere would work.
>
> I mean - maybe the Qt-Jambi system could be extended?  Even if it means
> going through IKVM?
>
> Or maybe the PySide stuff could be reused - even if the glue is IronPython?
>
> James
>
>
> On 12/07/2013 13:41, Dimitar Dobrev wrote:
>>
>> Hello, Ruth,
>>
>>     Glad to hear from you again. I am sorry Qyoto didn't work out for
>> you but I do agree SWIG would be a better solution, with better
>> performance indeed. I'll try to find free time to work on it as soon
>> as possible. However, I cannot make any promise yet.

-- 
Arno Rehn


More information about the Kde-bindings mailing list