TrollTech Releases Qt 3.0
Dr. Sp0ng writes: "TrollTech released Qt 3.0 today. Among the new features are platform- and database-independent data-access features, data-aware GUI widgets, a much-updated Qt Designer, and much better internationalization and font handling features. It breaks binary compatibility but keeps almost complete source compatibility with Qt 2.x. The KDE team has already begun work on KDE 3.0, which will use the new toolkit."
How far would Microsoft have gotten if they "broke binary compatibility" with major releases of Windows? Basically, not far at all. That's not to say that Windows has perfect backward compatibility, but I don't think it's too strong a statement to say that one of the reasons Microsoft has dominated is that they have given people an upgrade path for their old applications.
Of course, the downside to this philosophy is the incredibly crufty interfaces to a lot of the Windows functionality. But I think it's key to point out that users don't care at all about those things -- they just care that their applications work.
If the desktop dreamers ever want to see Linux on the desktop, then they need to not destroy everyone's applications if you want to upgrade. Just telling everone to "recompile your applications" is not going to fly well with the typical user.
Sometimes it's best to just let stupid people be stupid.
I'm sorry, but Qt (for X windows anyways) is available under the GPL. How can it get more open source than that? Admittedly, Qt is not cross-platform and open source, but KDE isn't cross-platform anyways.
keeps almost complete source compatibility with
That means, according to my practice, almost no bigger QT2 project compiles with QT3 without modifications (yes, the modifications are not very big and depending what classes you're used these may not be very much also).
What I really liked with QT3 was new designer, it's way ahead of old dialog drawing app, going near to Delphi's funcionality.
"But QT *still* has licencing issues"
Yes, they do have license issues and that is that they DONT play RMS/GNU/(Insert fanatic of choice here) silly anti-profit/pro-socialist games.
All I say about that is: GO TROLLTECH!
That's not entirely accurate. You have to pay for using it if you are making money on it and you're developing closed-source apps.
You are free to make money off of Qt-based apps without paying TrollTech as long as you provide source to your customers as per the GPL. This is why distros are allowed to package KDE and any other GPL-licensed software such as Emacs, Gcc, and others.
QT is not free for cross platorm freeware.
Earlier we did not had a very good choice for cross platform GUI, AWT/SWING did not have the performance of native GUI and WxWindows was not powerfull/rich enough.
Then came QT and I thought wow ! this is it, for my next cool application, eventhough I will develop it on Linux, I can make it available for Windows as well as Mac users.
Then I realised its only free on X, you got to pay around 1500$ to get it on other platforms even if you want to write/ditribute a freeware app.
On Windows you pay 50$ after rebates to get a copy of VisualC++ 6.0. And for 50$ you get a compiler, GUI class library, and IDE and debugger. And just for the QT library its 30 times more than Visual C++, how can any hobby programmer afford it ?
I hope Trolltech come out with a more sensible pricing for freeware developers on Windows/Mac which should help QT to gain more acceptance in the non Linux programming community as well.
If you wish to offer non-GPLed code to the world, then yes, you'll need to purchase a license from TrollTech (a great company, from everything I hear). Personally, I really do hope that things go well for them. They're good guys. Does the KDE project have any plans to donate money in their direction?
Personally, I'm a gtk+ man, simply because I prefer C development, and like gtk's handling of classes, types and all that. I also prefer GNOME as a desktop environment. But KDE is sweet, to be sure. It just doesn't do quite what I like. Choice is a Good Thing(tm). I look forward to many years of desktop competition. It should be interesting.
Sun deserves a lot of credit. If you're going to introduce a Revolutionary New Approach to Programming, you shouldn't do it with inefficient, buggy VMs, or quickie compilers that don't properly exploit garbage collection. Thos mistakes gave Java a reputation for flakiness and inefficiency it still hasn't fully dispelled.
And if you want everybody to start using Java to develop desktop apps, you don't suddenly shut down your own application development efforts before they've had a chance to bring their product to market. But of course IBM, Oracle, and all the other biggies were doing that too. Coinciding with the downfall of the Network Computer.
And that's what really went wrong with desktop Java. Platform independence was never enough by itself to make Java widely adopted on the desktop. You had to give people a reason to abandon their investment in Windows-based solutions. That reason, was the Java-based NC, which was supposed to lower the Cost of Ownership for big corporate computer buyers. (And, not incidentally, give these same buyers a reason to buy proprietary Sun and IBM hardware instead of commodity PCs.) Unfortunately, nobody bought the NC idea, and the main market for Java desktop apps disappeared.
Some, but not all, of this history is repeating itself with Qt and KDE. Being technically superior to Windows wasn't enough for Java, and it won't be enough for the Linux desktop.
but if it costs me $2k to 3k grand to make my application cross platform, forget it! I cannot afford that.
Well, I don't think trolltech is targeting developers like you, or companies that can't afford a couple thousand in development costs. And as far as I know, there's no "official" win32 GTK version out there, except for this: http://www.gimp.org/~tml/gimp/win32/, from which I quote the top line: "I do this work in my free time, so don't ask me for release timetables etc. If you want some new feature, you are free to suggest it, but don't hold your breath."
Is that a statement you want to build your corporate software around?
python -c "x='python -c %sx=%s; print x%%(chr(34),repr(x),chr(34))%s'; print x%(chr(34),repr(x),chr(34))"