As seen at NewsForge: “Qt# 0.4 has been released! Qt# is a set of cross-platform C# bindings for Trolltech‘s Qt GUI toolkit, targeted towards Mono and Portable.NET. Some screenshots can be found here, and Debian apt sources here.”
Having worked with C# on Windows XP a bit, well, it will be interesting to see how Linux runtime footprint and performance compare to Windows.
On XP, C# is too slow to use for anything other than a server app. Its GUI performance is abysmal. That is running a variety of C# widgets for UI. Layering on top of non-managed C++ is a different matter.
if QT-Bindings on C# are possible, is it also possible to use QT with JAVA? Is anyone working on it? This should provide a lot faster GUI then JAVA has at the moment.
I certainly hope C# isn’t piss-poor for real apps. I guess Java and C# are buddies. I use Squeak basically as my OS, entirely GUI via the Morphic toolkit, and it performs fine on a 500 MHz G3 iBook, slower than a 1 GHz P3. If a bunch of (laudable, mind you) scoundrels like Squeak Central can pull this together, why the hell can’t MS or Sun? Hell, under Linux (which I’ve been using lately) Squeak runs at only 73% of the performance I get under Mac OS X on the same machine, and it’s still fine. Mind you, LimeWire or NetBeans under both Linux and OS X make me want to just up and delete the JDK from my machine.
I’ve only tinkered with Mono CLI-wise so far, and on Linux/PowerPC, it doesn’t have a faster JIT like on Linux/x86, so I can’t say anything about performance in using Gtk# or Qt# with Mono.
I have a feeling that performance is better on Windows than it is with Mono.
Also, it seems like kind of a misnomer to call these bindings Qt#, Gtk#, and so on… Because of the .NET CLR, shouldn’t these tooklits be available to any language on the .NET runtime, or are they doing something to make it only work with the mediocre language C#?
There are Java bindings for Qt and KDE available which use the Qt API accessed through JNI, and also there are a couple of projects to reimplement the Java AWT using Qt so that some existing Java apps can use Qt without modification also.
The AWT ports have problems – the KDE QtAWT is unfinished and basically dead, and Trolltech’s own QtAWT implementation is, AFAIK, only available for Qt/embedded so far. AWT is a big part of the problem with Java GUIs anyway, so it’s no great loss.
The Qt-JNI java bindings, OTOH, are good, well thought-out, and fairly up to date. I’ve only experimented with them but I think I’d be very happy writing a major app with them (although to be honest, armed with Qt I think I’d probably choose C++ rather than Java anyway – Qt makes C++ practically as easy to write as Java, and the extra flexibility is handy). You might have to hack a bit to get the bindings working with anything other than Qt/X11 but that should be a relatively easy task.
I’m not doubting anyone, but I’ve created quite a few C# apps on my P3 800 at home (768MB RAM, old Voodoo3 2000 video card), and I’ve never noticed any difference in (GUI) speed between my C# apps and, for instance, my Delphi apps.
I used it on an AMD 1200 756MB and on a Celeron 433 256MB.
It works fine on both, and it’s speed is only very slightly slower from native apps. I’ve used some full blown programs like #develop (editor, code management, embedded browser, etc).
Having worked with C# on Windows XP a bit, well, it will be interesting to see how Linux runtime footprint and performance compare to Windows.
On XP, C# is too slow to use for anything other than a server app. Its GUI performance is abysmal. That is running a variety of C# widgets for UI. Layering on top of non-managed C++ is a different matter.
Test system: Dual 1Ghz P3, 1GB RAM, Geforce2MX 32MB (x2), latest NVidia drivers, latest .NET runtime
#m
Hi there,
if QT-Bindings on C# are possible, is it also possible to use QT with JAVA? Is anyone working on it? This should provide a lot faster GUI then JAVA has at the moment.
Greetings from Anton
I certainly hope C# isn’t piss-poor for real apps. I guess Java and C# are buddies. I use Squeak basically as my OS, entirely GUI via the Morphic toolkit, and it performs fine on a 500 MHz G3 iBook, slower than a 1 GHz P3. If a bunch of (laudable, mind you) scoundrels like Squeak Central can pull this together, why the hell can’t MS or Sun? Hell, under Linux (which I’ve been using lately) Squeak runs at only 73% of the performance I get under Mac OS X on the same machine, and it’s still fine. Mind you, LimeWire or NetBeans under both Linux and OS X make me want to just up and delete the JDK from my machine.
I’ve only tinkered with Mono CLI-wise so far, and on Linux/PowerPC, it doesn’t have a faster JIT like on Linux/x86, so I can’t say anything about performance in using Gtk# or Qt# with Mono.
I have a feeling that performance is better on Windows than it is with Mono.
Also, it seems like kind of a misnomer to call these bindings Qt#, Gtk#, and so on… Because of the .NET CLR, shouldn’t these tooklits be available to any language on the .NET runtime, or are they doing something to make it only work with the mediocre language C#?
if QT-Bindings on C# are possible, is it also possible to use QT with JAVA?
Yes. Have a look at
http://developer.kde.org/language-bindings/java/index.html
There are Java bindings for Qt and KDE available which use the Qt API accessed through JNI, and also there are a couple of projects to reimplement the Java AWT using Qt so that some existing Java apps can use Qt without modification also.
The AWT ports have problems – the KDE QtAWT is unfinished and basically dead, and Trolltech’s own QtAWT implementation is, AFAIK, only available for Qt/embedded so far. AWT is a big part of the problem with Java GUIs anyway, so it’s no great loss.
The Qt-JNI java bindings, OTOH, are good, well thought-out, and fairly up to date. I’ve only experimented with them but I think I’d be very happy writing a major app with them (although to be honest, armed with Qt I think I’d probably choose C++ rather than Java anyway – Qt makes C++ practically as easy to write as Java, and the extra flexibility is handy). You might have to hack a bit to get the bindings working with anything other than Qt/X11 but that should be a relatively easy task.
What version of KDE is that running? Beautiful…
Time for me to make a switch to Linux.
I’m not doubting anyone, but I’ve created quite a few C# apps on my P3 800 at home (768MB RAM, old Voodoo3 2000 video card), and I’ve never noticed any difference in (GUI) speed between my C# apps and, for instance, my Delphi apps.
> On XP, C# is too slow to use for anything other than a
> server app. Its GUI performance is abysmal. That is
> running a variety of C# widgets for UI. Layering on top
> of non-managed C++ is a different matter.
> Test system: Dual 1Ghz P3, 1GB RAM, Geforce2MX 32MB (x2), > latest NVidia drivers, latest .NET runtime
I used it on an AMD 1200 756MB and on a Celeron 433 256MB.
It works fine on both, and it’s speed is only very slightly slower from native apps. I’ve used some full blown programs like #develop (editor, code management, embedded browser, etc).
No comparison to Java “speed”!
So, you must be doing something wrong 🙂