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

16 of 198 comments (clear)

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

    Its Qt and not QT which means Quicktime.

  2. Re:Isn't that what YellowBox is for? by WillAdams · · Score: 2, Informative

    Well,there is GNUstep. http://www.gnustep.org/

    At least one commercial app for Mac OS X is using it to get a Windows version, Nova Mind:

    http://www.nova-mind.com/

    William
    (who is still pretty miffed that Apple had to cave in to Adobe and Microsoft et. al., so that instead of Rhapsody w/ Yellow Box, we got Mac OS X w/ Carbon --- I'd give my interest in Hell to get back all the time I've wasted at work using foetid Carbon apps)

    --
    Sphinx of black quartz, judge my vow.
  3. 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 Anonymous Coward · · Score: 1, Informative

      You use Qt but you've never seen moc mangle the non-C++ code into something usable?

    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.
    4. Re:Better alternative by J.R.+Random · · Score: 2, Informative

      Qt is not an "OSS product"; it's a commercial product that happens also to be released under an open source license. That's a big difference.

      QT is distributed under the GPL. That means it can be forked like any other GPLed software. As with any GPLed software, if you write software based upon it your own software must also be GPLed. Commercial users who don't want to GPL their code can buy licenses for the unfree version, since QT is dual licensed. This gives you more choices than you would have if it were only available under the GPL, yet strangely people who have no problem with GPLed software are always bitching about Trolltech's licensing options.

  4. What about the GUIs? by Yvan256 · · Score: 2, Informative

    If you use these things, do the programs look native to the operating system or do they look like Java?

    I mean, one of the reason I don't use Firefox on OS X is because the form widgets look like crap (i.e. look like Windows).

    1. 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 ;))

    2. Re:What about the GUIs? by Ruby+Wednesday · · Score: 2, Informative

      They use the native widgets. Aqua on OS X, and Luna (or whatever) on WinXP. (this is why these 2 themes only work on their respective platforms)

    3. 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>
  5. 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....
  6. GNUstep by stivi · · Score: 2, Informative
    GNUstep

    • majority of Cocoa classes implemented
    • can use OS X NIB files (user interface)
    • uses Objective C - OS X "native" language
    • can be used on MS Windows, Linux or other systems with UNIX taste as well
    AFAIR, there was a project going on that will even convert your X Code files into GNUmakefiles that can be used directly on MS Windows, or at least someone was planning to do that. Contact the lists mentioned on their homepage for more information.

    See also: GNUstep and Cocoa

    --
    First they ignore you, then they laugh at you, then they fight you, then you win.
  7. Used it, loved it. by WPIDalamar · · Score: 2, Informative

    We used Qt for several rounds of development and it was always great to work with. In fact, I prefer their utility classes to the STL. Even if I was writing a single-platform project in c++ these days, I think I'd go for Qt.

    Nowadays we're using Flash for the win/osx cross platform development. Big things are starting to come in that front.

    Oh.. and Qt does use native (not emulated) widgets for win/osx.

  8. Re:TrollTech at SCALE 5x by socallinuxexpo.org · · Score: 2, Informative

    Use the promo code "SLASH" for 40% off on registration.

  9. ... and wyoGuide by wysiwia · · Score: 2, Informative

    Easy cross-platform development can be learned at wyoGuide (http://wyoguide.sf.net/). If you are serious and considers to sell your software anytimes in the future, there's no better choice.

    If you know that one of the top inhibitors of Linux desktop adoption is applications (see http://www.osdl.org/dtl/DTL_Survey_Report_Nov2005. pdf), you would wish that more developers would follow wyoGuide.

    O. Wyss

    --
    See http://wyoguide.sf.net/papers/Cross-platform.html