Slashdot Mirror


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."

15 of 198 comments (clear)

  1. wxWindows by also-rr · · Score: 5, Funny

    I have been doing cross platform development with wxWindows and I have to say it makes it easy. So far I have an application which crashes with exactly the same fault* on Windows, OSX *and* Linux! You just can't buy productivity like that with commercial development frameworks. *Error 5: Developer is an idiot who hasn't programmed much since the BBC Master was cutting edge technology.

    1. Re:wxWindows by EzInKy · · Score: 4, Insightful


      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.
  2. Isn't that what YellowBox is for? by parvenu74 · · Score: 3, Interesting

    There are the persistent rumors that the YellowBox technology from NextSTEP is still alive and well on the Apple Campus, and is just waiting for The Steve to give the "And one more thing..." signal for it to come back into the light. But whom does that help, exactly?

  3. First things first by Anonymous Coward · · Score: 3, Informative

    Its Qt and not QT which means Quicktime.

    1. Re:First things first by enigma9 · · Score: 3, Funny
      It is QuickTime, not Quicktime.

      My pedantry is bigger than yours.

      --
      My other post is +5, Interesting
  4. well.. by ADRA · · Score: 3, Insightful

    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!
  5. Better alternative by DraconPern · · Score: 3, Informative

    This is blatant slashvertisement. Qt's controls are all emulated, it's like using Java Swing when you can use SWT instead. Further more, it requires you to use non-standard c++ syntax together with a 'qt preprocessor'. The better choice is wxWidgets. It supports platforms, more compilers, has native controls, and it is open source.

    1. Re:Better alternative by molnarcs · · Score: 3, Informative
      The commercial license is a bit rediculous, though.

      Why? It seems pretty popular (Adobe, Skype, Google, Opera, etc..) Trolltech's modell is an excellent example of how you can make money on free software. QT - free for free software development, pay for it if you develop commercial software. Which means they have a good revenue stream to pay some of the best coders on earth to enhance QT, which in term, serves the community (being the basis of some of the best free software apps, like scribus for instance). Nice. (oh, and as a bonus, those who pay also get some of the best support services in the industry - check trolltech's customer satisfaction :))

    2. Re:Better alternative by Kjella · · Score: 4, Insightful

      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
    3. Re:Better alternative by tonigonenstein · · Score: 3, Informative
      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!
      libsigc++ (used in gtkmm) gives you typesafe slots/signals in ISO C++, no need to invent your own language. (No granted this wasn't possible at the time QT was originally designed).
      --
      The sooner you fall behind, the more time you have to catch up.
  6. Re:And this is news? by 1iar_parad0x · · Score: 3, Informative

    It's not a news article, it's more of an overview for programmers. Actually, it's pretty well written, just not a 'headline'. Incidentally, I hadn't heard about the KDE/GNOME stuff until recently. I only ran across Qt when I was looking for an OSS (or just free) RAD tool.

    --
    What do you mean my sig is repetitive? What do you mean my sig is repetitive? What do you mean....
  7. Re:What about the GUIs? by molnarcs · · Score: 3, Informative

    They work like native apps (check the comments below the article), and as far as I know, they can use native widgets as well. Skype and Opera are also written in QT (the interface) - do they look like native enough on windows or MacOS X? I've seen the windows versions of these only, they look like... well, windows programs (so consistency is not a problem, they just blend in fine the rest of the application stack on windows ;))

  8. Re:What about the GUIs? by Mercano · · Score: 4, Informative
    If you use these things, do the programs look native to the operating system or do they look like Java?
    Java apps should look like native apps, at least, if the developer thinks they should. Its not to hard. Either use AWT for your GUI which will use native widgets (though shoots for the least common denominator at times), or use swing and have it emulate native controls (more or less) by calling UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName() ); early on in your code. Granted, neither is perfect, but they don't stick out like swings default (why?) Metal look and feel.
    --
    #include <signature.h>
  9. Have a point by willy_me · · Score: 4, Interesting

    While everyone here appears to think that this is a troll, he actually has a point. Depending on the market it could be the best solution. However, if there is enough demand a competitor could release a MacOS version and steal your clients. And not just the MacOS clients. A company of say 100 with 2 Macs could decide to go with your competitor because of those two lousy Macs... Or a company thinking that someday they might want a Mac would have that much more incentive to avoid your product.

    I read a blog about the business decisions behind the upcoming Mac port of IBM Notes (or do they still call it Lotus Notes?) Anyway, the comment was that Macs make up only 1% of the market but carry 99% of the weight. (Probably a slight exaggeration on their part.) When I say weight I'm referring to making purchasing decisions. They're a very vocal group and the decision to make a *good* native version of Notes was not based on Mac numbers but on the influence that those few Mac users wielded. Moral of the story, don't dismiss Macs just because only a few of your clients have them.

    Willy

  10. understand what you're getting into by oohshiny · · Score: 3, Insightful

    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.