Cross-Platform Development For Windows and OS X
An anonymous reader writes to let us know about an article in RegDeveloper detailing the use of Qt, Trolltech's cross-platform C++ toolkit, for development across Windows and Mac OS X. From the article: "QT not only goes across desktops but onto embedded devices as well. So any app you write with Qt will port to an embedded device with a frame buffer running Trolltech's embedded version of QT, called QtopiaCore."
I'll be the first to admit that I'm not very partial to QT, but the title of the article is horribly named. The title implies that the body encompases a general approach to cross-platform development. It doesn't. The article is about "Cross-platform QT development". More importantly, no alternatives are mentioned. The entire development piece is about using QT based technologies to tackel the cross-platform problem. All of this is well and great, but don't sell the article as -the- solution when its a very specific howto implement X for problem Y.
Bye!
This is blatant slashvertisement.
For an OSS product. We seem to get a lot of those around here
Qt's controls are all emulated, it's like using Java Swing when you can use SWT instead.
Well, they don't look emulated or feel emulated, unlike java. But hey, I'm sure there's some technical reason you're right and noone cares.
Further more, it requires you to use non-standard c++ syntax together with a 'qt preprocessor'.
Yep. Which is what permits it to use a signal-slot mechanism which spanks wxWidgets and any other C++ system out there. No more crashes due to dangling pointers, yay!
The better choice is wxWidgets. It supports platforms, more compilers, has native controls, and it is open source.
Qt supports plenty platforms, plenty compilers, much better UI design tools and it's open source. I could mention it's a much better library too, but now you're just embarassing yourself.
Live today, because you never know what tomorrow brings
People like to say how wonderful Qt is, but you should think carefully about what you're getting into.
Almost all of our projects are open source, but occasionally will do some custom commercial stuff. Yet, because the commercial version of Qt has a per developer license, we'd end up paying as much for it as if we did all closed-source development, since it would be impractical to divide our developers that way. And Qt isn't cheap: a couple of thousand dollars per developer. Think carefully about what it would cost you if you introduce Qt and start using it.
An additional problem with it is that it (gratuitously) uses non-standard C++ extensions. That causes additional development headaches. And the Qt/Embedded version is not even fully compatible with the desktop version, and it's an all-or-nothing proposition (forget about using other toolkits on Qt/Embedded devices).
Overall, I fail to see the point of Qt for most people. For cross-platform development needs, between Java, J2ME, and wxWidgets, I think all the bases are covered at lower licensing costs and (in the case of Java and J2ME) lower development and maintenance costs and better platform coverage.
wxWidgets: supports more platforms and it is TRUE open source in that they don't charge you if you use it commercially. Enough said.
No, it's really not enough said. If you want to get paid for your work then they should get paid for theirs.
Time is what keeps everything from happening all at once.