Forgot your password?
typodupeerror

Cross-Platform Development For Windows and OS X 198

Posted by kdawson
from the two-birds dept.
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."
This discussion has been archived. No new comments can be posted.

Cross-Platform Development For Windows and OS X

Comments Filter:
  • wxWindows (Score:5, Funny)

    by also-rr (980579) on Monday November 20, 2006 @04:02PM (#16919676) Homepage
    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.
    • by also-rr (980579)
      That should have been...

      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.

      Nothing like proving a point the hard way eh... can't even do crippled HTML right first time.

      • HTML, meet also-rr. also-rr, meet HTML. HTML, apparently also-rr hasn't coded since the BBC Master was cutting edge technology. Also-rr, HTML has been an internet programmer's staple since 1993.
    • It's been called wxWidgets for a few years now. Microsoft made them change the name, but they did pay for their new domains.

      I do like wxWidgets and have done a good amount of development in it (C++ and Perl). It's really worth learning if you need to support more than one platform.
    • ... and wyoGuide (Score:3, Informative)

      by wysiwia (932559)
      Easy cross-platform development can be learned at wyoGuide (http://wyoguide.sf.net/ [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 [osdl.org]), you would wish that more developers would follow wyoGuide.

      O. Wyss
  • by parvenu74 (310712) on Monday November 20, 2006 @04:06PM (#16919734)
    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?
    • Re: (Score:3, Informative)

      by WillAdams (45638)
      Well,there is GNUstep. http://www.gnustep.org/ [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/ [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)
      • GNUstep, while a great system to work with on *NIX, is still quite immature on Windows. The problem is that most of the core developers use a combination of Linux/BSD/Solaris and Mac OS X; very few of them have Windows programming experience. It pretty much works these days, I believe there is even a patch that attaches the menu bar to windows in the broken Windows sytle, and there is a Windows style available for Camaelon.
    • 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.

      I'm not convinced that it will happen.

      First, there are better "least common denominator" approaches than YellowBox and the industry has already chosen Java. So YellowBox doesn't really give you any advantages.

      Second, it adds more hassles for Apple to keep it compatible with Win

      • You would essentially end up with two flavors of Cocoa--least common denominator Cocoa to run in Mac OS X and Windows and "full on" Mac OS X.

        In a way, you already do. OpenStep is an open specification on which Cocoa is based. If you develop to OpenStep, you can write code that works on OS X and GNUstep (and the Solaris implementation, if you can find a copy). Cocoa and GNUstep both support some extensions to the specification (including some Cocoa extensions ported to GNUstep). You'll find that Open

        • ...and that's fine. But the concept that Apple is going to do this or actively support developers doing this is wishful thinking.
    • by RAMMS+EIN (578166)
      Wasn't YellowBox the name of Apple's OpenStep implementation, which is now called Cocoa?
  • First things first (Score:3, Informative)

    by Anonymous Coward on Monday November 20, 2006 @04:10PM (#16919810)
    Its Qt and not QT which means Quicktime.
  • well.. (Score:4, Insightful)

    by ADRA (37398) on Monday November 20, 2006 @04:12PM (#16919838)
    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.
    • by RAMMS+EIN (578166)
      ``The article is about "Cross-platform QT development"'' ...and that's not even cross-platform, it just means you use Qt for your platform. As soon as you do something outside of Qt that isn't portable, you're stuck again.
  • Better alternative (Score:3, Informative)

    by DraconPern (521756) <draconpern@hotma[ ]com ['il.' in gap]> on Monday November 20, 2006 @04:16PM (#16919898) Homepage
    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 [wxwidgets.org]. It supports platforms, more compilers, has native controls, and it is open source.
    • QT4 is opensource under the GPL. The commercial license is a bit rediculous, though.
      • by molnarcs (675885) <.moc.liamg. .ta. .scranlom.> on Monday November 20, 2006 @04:36PM (#16920218) Homepage Journal
        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 :))

        • by stuuf (587464)
          Actually, it's "free for GPL free software development, pay for proprietary or non-GPL free software." And that's only for Qt 4. Before that, it was "pay even if you're writing GPL software for windows." Compared to the wxWidgets and GTK+, which use the LGPL, it is ridiculous.
        • I said it's redicious becuase of this [trolltech.com]:

          License Pricing (per developer)

          One Platform
          Console Edition: $1780
          Desktop Light Edition: $1990
          Desktop Edition: $3300

          Two Platforms
          Console Edition: $2670
          Desktop Light Edition: $2990
          Desktop Edition: $4950

          Three Platforms
          Console Edition: $3560
          Desktop Light Edition: $3980
          Desktop Edition: $6600

          That's much higher than even Visual Studio. wxWidgets is $0 and is under the LGPL. DialogBlocks (gui builder for wxWidgets) is $70/developer and can be used on as many computers as the

          • Re: (Score:3, Insightful)

            by molnarcs (675885)
            Still don't see your point - the price is determined by the market. If they can sell it for that much, and at the same time, they can be vastly more popular than wxWidgets (they have LOTS of customers, even though they provide a fully GPL version), that means that the pricing is just right, not ridiculous ;)) QT is simply so good, that people are willing to pay that much for it (and the support you get, which I heard is excellent).
        • by metamatic (202216)
          One ridiculous part of the QT commercial license is that you can't buy it for existing open source applications.

          In other words, if you've written something as open source using Qt under GPL, and now want to make a commercial version of your product, you can't.
          • by Jeremi (14640)
            In other words, if you've written something as open source using Qt under GPL, and now want to make a commercial version of your product, you can't.

            That doesn't sound right to me. Assuming you own the copyright to your code, you can do whatever you like with it -- it doesn't matter whether you previously released your code under the GPL or not, it's your code. You own it, and neither TrollTech nor anybody else can tell you what you can or can't do with it.

            Now if you are merely licensing somebody else's GP

            • by kimvette (919543)
              metamatic is right, go read the license.

              It's been 19 seconds since you hit 'reply'.

            • by metamatic (202216)

              "You must purchase a Qt Commercial License from Trolltech or from any of its authorized resellers before you start developing. The Commercial license does not allow the incorporation of code developed with the Open Source Edition of Qt into a proprietary product."

              Trolltech commercial licensing page. [trolltech.com]

            • by baxissimo (135512)
              Yes your code is your code, and you still own the copyright to it. However Qt Commercial is *their* code, and *their* licensing terms dictate under what conditions you can use it. Of course they cannot stop you from releasing *your* code under a commercial license, but you'll have to do it without any Qt libs.

              At least that's the way I read the license.

              I can only guess that the reason is so that start-up companies don't get the idea to develop under GPL internally first and then switch to commercial just
        • by oohshiny (998054)
          Trolltech's modell is an excellent example of how you can make money on free software.

          Imagine every piece of software on Linux were to adopt Troll Tech's model: $2k/developer for the commercial exception for the C library, another $2k/developer for the math library, another $1k/developer for XML libraries, another $4k/developer for the kernel. Where do you think Linux would be today?

          Both GNU and Linux have deliberately adopted licensing policies that permit commercial usage. Troll Tech is unfairly taking
          • by Jeremi (14640)
            Imagine every piece of software on Linux were to adopt Troll Tech's model: $2k/developer for the commercial exception for the C library, another $2k/developer for the math library, another $1k/developer for XML libraries, another $4k/developer for the kernel. Where do you think Linux would be today?

            I imagine a lot more software would be GPL'd, since a lot more developers wouldn't want to pay those fees and would therefore avoid them by GPL'ing their software.

            Troll Tech is unfairly taking advantage of the si

            • by oohshiny (998054)
              You are welcome to accept their terms, or reject them -- nobody is forcing you to develop with Qt if you don't like their license.

              Indeed, I don't develop with Qt. And I am trying to convince others not to develop with Qt either because I think it's a lousy deal for the open source community. I'm saying that if more people behaved like Troll Tech did, open source would die. In fact, I think Troll Tech is largely responsible for the failure of Linux on phones and PDAs.

              Now, what's your problem with me stati
              • by Dionysus (12737)

                Well, apparently the people who created the GPL don't believe so, since they have chosen a license that permits commercial developers to link to many of their libraries for free. They have done so because they believe such licenses to be in the best interest of open source.

                Then you don't understand the goals of the FSF (the people behind the GPL).

                To quote them:
                Using the ordinary GPL is not advantageous for every library. There are reasons that can make it better to use the Library GPL in certain cases

                • by oohshiny (998054)
                  Good, you found the right quote. Now, you seem to be implying that people think that Qt offers "a significant unique capability" and should therefore be released GPL, not LGPL.

                  Well, I disagree; toolkits for C++ are a dime a dozen. But, more importantly, the FSF disagrees, since they have put their own toolkit under the LGPL.

                  Qt's licensing costs are way out of line with what people pay for Mac and Windows development. If Qt were the only toolkit for Linux, Linux development would cost a premium. That doe
              • by Jeremi (14640)
                Now, what's your problem with me stating my opinion and analysis? In your world, should everybody other than corporate marketing just shut up?

                I don't have a problem with you stating your opinion and analysis -- my problem is that your opinion and analysis are not only wrong, but (at least apparently) rather spiteful and selfish as well. When dealing with the OSS community, TrollTech could easily have kept with their original QPL license, or even gone fully closed-source -- but they didn't do either of thos

                • by oohshiny (998054)
                  When dealing with the OSS community, TrollTech could easily have kept with their original QPL license, or even gone fully closed-source

                  Good! I think that would have been the right thing to do.

                  So you blame Troll Tech for wanting to run a viable company that makes money -- you think they should be writing top-quality code for the good of the Linux community alone

                  I don't "blame" them, I'm saying people shouldn't use their software. I'm saying that because people probably don't understand the costs and implic
          • by molnarcs (675885)
            I don't agree with you - but you raised an interesting question: what would happen if everyone adopted their modell? I've been thinking about this for a week now (I'm writing a book about the history of gift giving, from the aztecs trough potlatch to free software), and it is a difficult question. It is easy to say "imagine what would happen if..." - but did you really think it through? I'm not going to go through all the details, because I'm in the middle of watching The Deadly Assassin (Tom Baker's Doctor
        • >> 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.

          First, note that all of those companies are not 'open-source' companies (Google standing out somewhat, but still). When you compare Qt to important open-source projects like GNOME and the Linux kernel, you find that both allow commercial development - GNOME is LGPL, and the kernel lets yo
          • by fredrik70 (161208)
            >LGPL license was designed for exactly this sort of thing, and I think Trolltech could have made a better choice here.
            What? a choice that would mean that tey wouldn't get paid by people using their framework to earn dosh?
            • What? a choice that would mean that tey wouldn't get paid by people using their framework to earn dosh?

              They can still make money, by (1) selling support, (2) charging for a license to extend Qt - i.e. you can link to it for free, but creating a derived work will cost you (or, you must release the derived work under the GPL).

              Their expectation to earn money off of every single commercial application that uses their framework - and if KDE were the dominant DE on Linux, then every single commercial applic
      • by Jerry (6400)
        QT4 is opensource under the GPL. The commercial license is a bit rediculous, though.

        How is the commercial license ridiculous? I just renewed my commercial license for a single user, two platform copy, for only $830, and find it a bargain when one considers how quick AND good the support is.
        http://www.trolltech.com/products/qt/licenses/pric ing [trolltech.com]

        QT's "signal & slots" technology is much more powerful and easier to implement than traditional callback functions.

        I tried wxWindows when it was part of Boa-Cons

    • by molnarcs (675885)
      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.

      Informative? Well, this comment could have been a lot shorter: qt suxxz, wxwidgets rulez :))

      Oh, and tell me, where are the wxWidgets killer apps?

      QT - Adobe, Opera, Skype, Goo

      • by bigberk (547360)
        Oh, and tell me, where are the wxWidgets killer apps?
        Audacity [sourceforge.net] (audio editor) comes to mind. A fantastic piece of software, and looks and feels native both under Linux GTK and Windows. That's exactly the way it's supposed to be. Applications with wx can also be compiled standalone in pretty small place. The bare bones wx win32 apps come in at a couple hundred K
        • by molnarcs (675885)
          Audacity is quite good actually, I admit that. Has its own interface (doesn't feel native actually), but looks fine and is usable. There are some alternatives, but for what I need (which is not much - a few mix CDs I occasionally do) it's perfect. Not in "killer app" category though, at least not in my vocabulary.

          Scribus would be one for instance, which absolutely lacks any equivalent in the free software world, and it's a good desktop publishing app on its own. Tellico is another one - and the most envied

    • by Kjella (173770) on Monday November 20, 2006 @05:15PM (#16920832) Homepage
      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.
      • Re: (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++ [sourceforge.net] (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).
        • by Jerry (6400)
          Yet another library that has to be synchronized with the version of wxWidgets you have to use. Just hope they coordinate them so that you aren't waiting months for one or the other to catch up, or that you don't get into finger pointing wars when one lib says your problem is someone else's fault.
      • by oohshiny (998054)
        For an OSS product. We seem to get a lot of those around here

        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.

        For example, it's not possible to fork Qt and compete with the original. That means, among other things, that Troll Tech has full control over where Qt is going and there's not a damned thing anybody can do about that. Furthermore, unlike OSS projects, licensees of Qt end up having to pay for contributions
        • by Jeremi (14640)
          For example, it's not possible to fork Qt and compete with the original.


          Who is stopping you? Qt is licensed under the GPL, so fork away.


          (If your objection is that your forked product will have to be under the GPL also, which would make it harder for you to sell it... well, tough titties. Write your own damn GUI library if that bothers you)

        • Re: (Score:3, Informative)

          by J.R. Random (801334)

          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 i

          • Re: (Score:3, Interesting)

            by kimvette (919543)

            yet strangely people who have no problem with GPLed software are always bitching about Trolltech's licensing options.

            . . . because the commercial version is unreasonably restricted. If you develop a project and release it under the GPL, and later decide to release it as a commercial app, you are forbidden to do so, or you have to reimplement the Qt components in your app. Honestly, I don't think ANYONE will abide by this and will simply just buy the commercial license, recompile, and release, but technicall

      • by RAMMS+EIN (578166)
        ``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.'' ...until someone changes the look and/or feel of the native widgets, and the Qt ones don't match anymore. That is, assuming that Qt's widgets aren't native, which I know nothing about. They're "native" on my system, because the only GUI programs I use are Konqueror and KPDF.
      • by sbrown123 (229895)
        >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.

        You mean "don't look emulated or feel emulated, unlike Swing". SWT, which is a Java widget toolkit, uses native widgets. Also, after toying with a few Qt apps on Windows, it appears their emulation is about the same as Swings in many regards. I don't think this is a negative though, since native widgets on Windows are pretty ugly.

        >Qt supports plenty platforms,
      • by a.d.trick (894813)
        But hey, I'm sure there's some technical reason you're right and noone cares.

        I don't know if this is actually an issue with Qt on OSX, but often emulated features have pretty poor support for native accesibility related features, so it's not always just a silly technical reason.

        It's quite possible that Qt has built in support for all that kind of stuff. If the have, more power too them.

    • by Yokaze (70883)
      > Qt's controls are all emulated, it's like using Java Swing when you can use SWT instead.

      So? If Swing were as fast as native widgets (which in my experience Qt widgets are), and integrate in the native OS desktop as any other application (dito), would there even be SWT?

      Another advantage of wxWidgets is its ease porting from MFC due to its similarity.

      BEGIN_EVENT_TABLE(MyFrame, wxFrame)
      EVT_MENU(ID_Quit, MyFrame::OnQuit)
      EVT_MENU(ID_About, MyFrame::OnAbout)
      END_EVENT_TABLE()

      I re

      • If Swing were as fast as native widgets (which in my experience Qt widgets are), and integrate in the native OS desktop as any other application (dito), would there even be SWT?

        I take it you've never used Qt applications on OS X. They stick out like a sore thumb. Until Qt 4, they didn't even use the same shortcut keys for skipping words / lines in text boxes as every other OS X application. I'd take a Swing app over a Qt app on OS X any day.

    • by Listen Up (107011)
      No, the better choice is Java. I have developed both J2SE desktop/web and J2EE server/webservice applications for years on Windows, Linux, and OS X. SWT is crap and has bugs which will apparently never be fixed in Cocoa. JDK 6 is specifically being designed for desktop application development. Once JDK 6 is released, Java will be the best choice for true cross-platform development. I am currently working on game development targeting desktops and in the future J2ME mobile devices. Java is truly incred
    • by master_p (608214)
      Nope, wxWidgets is not better, it is worse:

      -the non-standard c++ of Qt works with any platform Qt works.
      -the Qt preprocessor is invisible. You don't have to call it, it is invoked automatically.
      -wxWidgets violates the C++'s message passing model by using the same horrible message map architecture MFC uses.
      -Qt works out of the box; wxWidgets has lots of bugs.
      -Qt is infinitely more powerful than wxWidgets.

  • What about the GUIs? (Score:3, Informative)

    by Yvan256 (722131) on Monday November 20, 2006 @04:17PM (#16919918) Homepage Journal
    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).

    • by molnarcs (675885) <.moc.liamg. .ta. .scranlom.> on Monday November 20, 2006 @04:31PM (#16920138) Homepage Journal
      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 ;))
      • Opera at least has a "native" look mode which works wonderfully on OS X and Windows. I have not tried skype on windows so cannot comment but on Mac it blends in well.

        Opera, and skype I beleive but am not sure, also offer "skins" one of which for opera will make it look the same on MacOS or Windows. I imagine any of the other skins would come out the same as well. I usualy stick to "native" mode on both though as I am a fan of a consistant UI.
      • by iJed (594606)
        Actually Skype on the Mac is a Cocoa application. You can look inside the application package and view all the content .nib files very easily. I've yet to see a QT interface on the Mac looking native.
      • by pherthyl (445706)
        Actually that's not true. They are only written in Qt on Linux. Opera actually made their own widget set on Windows (so much for consistency) and Skype uses Delphi on Windows. As someone else mentioned, skype uses Cocoa on OS X. No idea about what Opera does there.
    • Re: (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)
      • They don't use native widgets, but they do go to great lengths to make their own custom-drawn widgets look like native ones. The result is much better than what Swing currently has to offer, even in Java 6 (mainly because Qt uses native font rendering).
    • by Vexorian (959249)
      Could swear there was a MacOSX firefox theme around.

      Anyways, wxwidgets (not wxwindows like some are still calling them) make truly cross platform GUI applications, with the OS native GUI! It is great to use Code::Blocks in windows and then use the same IDE to open the project on Linux. The only problem is that wxwidgets is kind of a huge library, which hardly has support from linux distros (I've seen things like SDL always included in distros, but wxwidgets must be downloaded) . In windows the problem is w

    • by Mercano (826132) <mercano&gmail,com> on Monday November 20, 2006 @04:51PM (#16920476)
      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.
  • GNUstep (Score:2, Informative)

    by stivi (534158)
    GNUstep [gnustep.org]
    • 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 [gnustep.org]

  • Used it, loved it. (Score:3, Informative)

    by WPIDalamar (122110) on Monday November 20, 2006 @05:18PM (#16920886) Homepage
    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.
  • by oohshiny (998054) on Monday November 20, 2006 @07:00PM (#16922386)
    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.
    • by bigberk (547360)
      This is the same reason I chose to avoid it. I develop all kinds of applications, some are for internal use, some are heavily commercial. Learning and developing with Qt is a bad investment because their licensing severely limits my ability as a creator (since I am not going to pay for the commercial license); I am not going to tolerate those limitations when I can use free libraries like wxWidgets
    • by master_p (608214)
      I do not have a problem paying for Qt...it is money well spent. Qt is the best application library out there, and it really proves the power of C++.

      The non-standard C++ extension it uses is no problem at all: it has never caused a single problem either in Windows or Linux.

      I have no experience on Qt/Embedded, but even if the embedded version was as bad as you claim, it has nothing to do with the desktop version.
      • by oohshiny (998054)
        The issue isn't whether you have a problem with paying for it, the issue is that people should understand the consequences of their choice and make an informed decision. The KDE/QPL license problem itself is a good example that people don't. I'm not convinced you do, but that's your problem.
        • by master_p (608214)
          I am only talking about the technical side of it. The economics of it is a different story. If you want to make free software (as in beer), then Qt may not be the right piece of code to you. But that does not mean Qt is not the best toolkit there is, or that money spent on it are not well spent. These guys deserve to get paid for such a beautiful and consistent API, unlike Microsoft and much of the free software out there.

  • TrollTech the company behind QT will be exhibiting at SCALE 5x [pokerpool.com] this February in Los Angeles.

The meat is rotten, but the booze is holding out. Computer translation of "The spirit is willing, but the flesh is weak."

Working...