Cross-Platform Development For Windows and OS X 198
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."
wxWindows (Score:5, Funny)
Re: (Score:2)
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.
Nothing like proving a point the hard way eh... can't even do crippled HTML right first time.
Re: (Score:2)
Re: (Score:2)
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)
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
Re:wxWindows (Score:5, 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.
Re: (Score:2)
Isn't that what YellowBox is for? (Score:4, Interesting)
Re: (Score:3, Informative)
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)
Re: (Score:2)
Re: (Score:2)
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
Re: (Score:2)
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
Re: (Score:2)
Re: (Score:2)
First things first (Score:3, Informative)
Re: (Score:3, Funny)
My pedantry is bigger than yours.
well.. (Score:4, Insightful)
Re: (Score:2)
Better alternative (Score:3, Informative)
Re: (Score:2)
Re:Better alternative (Score:4, Informative)
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 :))
Re: (Score:2)
Re: (Score:2)
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)
Re: (Score:2)
If you are paying for it out of your own pocket, then yes, it's really expensive. However, I expect most programmers get their employer to buy it for them -- a few thousand dollars isn't such a big deal for a company (even a small one... it's comparable to buying an extra developer's workstation or two), and given the amount of developer time it saves (a decent computer programmer's billable hours are not cheap!), I think the licenses usually pay for themselves fairly quickly. Which is why
Re: (Score:2)
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.
Re: (Score:2)
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
Re: (Score:2)
It's been 19 seconds since you hit 'reply'.
Re: (Score:2)
Trolltech commercial licensing page. [trolltech.com]
Re: (Score:2)
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
Re: (Score:2)
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
Re: (Score:2)
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
Re: (Score:2)
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
Re: (Score:2)
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
Re: (Score:2)
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
Re: (Score:2)
Quite right: they do not "encourage" people to release stuff under the LGPL, but they do use the LGPL or GPL w/linking exception when it serves the purposes of open source software.
The GNU C library, as well as Gtk continue to be released under licenses that permit commercial developers to deliver applications for free on Linux. The FSF and lots of other people believe that that's important.
Troll Tech deliberately makes it cos
Re: (Score:2)
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
Re: (Score:2)
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
Re: (Score:2)
Re: (Score:2)
But in the phone market, Troll Tech has managed to insert itself into Linux in such a way that they are the only ones reaping financial benefit. And Troll Tech designed their system so that other toolkits would be difficult to port to their platform, and they made license agreements with manufacturers that ensured that
Re: (Score:2)
> 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
Re: (Score:2)
What? a choice that would mean that tey wouldn't get paid by people using their framework to earn dosh?
Re: (Score:2)
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
Re: (Score:2)
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
Re: (Score:2)
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
Re: (Score:2)
Re: (Score:2)
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
Re: (Score:2)
Re:Better alternative (Score:5, Insightful)
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)
Re: (Score:2)
Re: (Score:2)
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
Re: (Score:2)
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)
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)
. . . 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
Re: (Score:2)
That's incorrect. There are far, far, FAR more commercial Qt apps than GTK apps. Hardly anyone uses GTK for commercial development, whereas Qt is used by everyone from Adobe to Google to Disney to NASA.
Re: (Score:2)
Re: (Score:2)
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.''
Re: (Score:2)
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,
Re: (Score:2)
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.
Re: (Score:2)
I agree that Qt apps don't look quite 100% native, but it's so close that I bet most users wont notice. Think about how many toolkits are in use on Windows already. Every second app rolls their own, so users are accustomed to little differences.
GTK I can't use, because it looks and behaves horr
Re: (Score:3, Insightful)
Re: (Score:2)
Re: (Score:2)
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.
I re
Re: (Score:2)
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.
Re: (Score:2)
Re: (Score:2)
-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.
Re: (Score:2)
What about the GUIs? (Score:3, Informative)
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).
Re:What about the GUIs? (Score:4, Informative)
Re: (Score:2)
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.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2, Informative)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
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
Re:What about the GUIs? (Score:5, Informative)
GNUstep (Score:2, Informative)
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]
Re: (Score:2)
Re: (Score:2)
Used it, loved it. (Score:3, Informative)
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.
Flash can be 508 compliant, in fact... (Score:2)
Keyboard Nav and ScreenReader compatibility is present; it has to be factored into your Flash design work (just as with any other development environment)
http://www.adobe.com/resources/accessibility/flas
understand what you're getting into (Score:4, Insightful)
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.
Re: (Score:2)
Re: (Score:2)
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.
Re: (Score:2)
Re: (Score:2)
Trolltech at SCALE (Score:2)
Re: (Score:3, Informative)
Re: (Score:3, Funny)
Re: (Score:2, Insightful)
If you are a Gnome user, have no fear. The cure of your illness does not hurt. Simply install KDE, and don't worry, as long as you keep your Gtk libraries around, a
Re: (Score:2)
3,2,1... Go!
Re: (Score:3, Interesting)
Re: (Score:2)
Have a point (Score:5, Interesting)
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
Re: (Score:3)
IF they can't be sure their first release is reliable, what does that say about their quality control and testing?
End of lesson. End of RB, for me.
Re: (Score:2, Informative)
Re: (Score:2)
So they should just leave you up shit creek without a paddle? Every single Mp3 player comes with some form of software to handle loading music on to it.
What does thi
Re: (Score:2)