Domain: wxwidgets.org
Stories and comments across the archive that link to wxwidgets.org.
Comments · 183
-
Use a cross-Platform toolkit
I would suggest finding some windows porters that can use a cross-platform toolkit of some sort e..g Trolltech's QT or WXWidgets. Even better if you can do it yourself, although it would need a C++ background which might be difficult if you are used to objective C.
I think it also depends on what you are porting. The above might be better for non-game programs. QT only if you can absorb the cost of getting yourself or other devs the licence for the toolkit, or wxwidgets if you can handle the fact that people consider it less mature. Both toolkits are fairly good at mac, windows and linux so would prob. need minor platform specific adaptations depending on what you need.
Just to be complete some people like GTK as a toolkit but the windows and mac support (IMHO) is pretty god awful.
These should help getting a cross-platform app, and if you transfer your original app to the platform of choice you can maintain one codebase. Just to note that you might lose some of the nice Cocoa goodness in that case, but the programs should 'fit' into the OS. -
Re:Qt toolkit (Or Similar)
wxWidgets ( http://www.wxwidgets.org/ ) is also a very good API, and has a license which is better than the QT one (at least, it doesn't cost anything). wxWidgets is, as they said, "a cross-platform native UI framework".
I do prefer it. The code can be ported to MacOSX, Windows, and *nix (using GTK or Motif). -
Meanwhile Joe Developer..
..nearly has a seizure when he discovers that the commercial development licence for KDE is $3300 for one platform. (You're much better off using Gnome based Linux distros and doing development via cross-platform APIs like wxWidgets).
Because, you see, the development cost is $0 for using the Windows API (link to the Windows SDK download) and $0 for Visual C++ (link to the command-line compiler).
And for the cost of one KDE development licence you could buy 22 OEM copies of Windows XP Pro at $149., or 35 copies of Visual C++ .NET 2003 at $95 if you wanted an IDE to develop in (although personally I'd go with Eclipse and MingW32).
Who's expensive now? -
However...
That said, I'm rather intrigued by the notion of XRC, especially since it's cross-platform.
There was something about replacing boring, repetitive and brittle code generation with data wherever possible; it seems silly that the wx folks were the first to do this. It expresses constructed GUIs in data form, then lets the program put in hooks and callbacks. I'm told that newer versions of Glade can do the same.
To me, that's one of the most impressive, obvious-in-hindsight-only advances in programming I've seen in the last couple of years.
--grendel drago -
Re:Member function pointers
MFCs and wxWidgets way of event handling are ugly C macro dispatch tables, afaik...
For wxWidgets check the Connect method ;) -
Java Web Start or wxWidgets
Sounds like you want either Java Web Start or wxWidgets.
As for your statement: "GTK could easily be replaced by Cocoa or Win32 here". It makes me think you have never used more than one GUI framework, or tried a Java, Qt, Python (using e.g. wxWidgets) application etc. on OS X.
Native look'n'feel is only achieved by writing the application for the actual platform (often using platform frameworks, or replicating 99% of their functionality), since there are so many differences, and you can't address it by designing a cross-platform framework, it has been tried again and again.
The browser (HTML/DOM/CSS) actually is the best cross-platform framework.
-
Re:QT: Good but Expensive
TrollTech currently has no competition in the fast and cross platform toolkit market. Nobody.
Never Used WxWidgets have you? http://www.wxwidgets.org/
WxWidgets doesn't have Developers Fees, and uses the Native GUI on Windows, GTK, Mac, and even embedded systems (There's that crossplatform you claim only Qt has)...and All with standard C++ (No stupid Metacompilers needed). WxWidgets used with MinGW or Cygwin make for the ultimate competition, without the Qtlib nonsense. And considering WxWidgets uses STANDARD C++, I'd say it is more portable than Qtlib. Finally, compared to WxWidgets, I'd say that, yes, $5000 per developer is expensive for its type of toolkit.
I don't mind you FUDsters promoting Qtlib or Trolltech, but at least be truthful about it.
And, for your information, here's the info about WxWidgets differences...this might help you keep your facts straight: http://wiki.wxwidgets.org/wiki.pl?WxWidgets_Compar ed_To_Other_Toolkits Pay Attention to the wxWidgets compared to Qt section. -
Re:QT: Good but Expensive
TrollTech currently has no competition in the fast and cross platform toolkit market. Nobody.
Never Used WxWidgets have you? http://www.wxwidgets.org/
WxWidgets doesn't have Developers Fees, and uses the Native GUI on Windows, GTK, Mac, and even embedded systems (There's that crossplatform you claim only Qt has)...and All with standard C++ (No stupid Metacompilers needed). WxWidgets used with MinGW or Cygwin make for the ultimate competition, without the Qtlib nonsense. And considering WxWidgets uses STANDARD C++, I'd say it is more portable than Qtlib. Finally, compared to WxWidgets, I'd say that, yes, $5000 per developer is expensive for its type of toolkit.
I don't mind you FUDsters promoting Qtlib or Trolltech, but at least be truthful about it.
And, for your information, here's the info about WxWidgets differences...this might help you keep your facts straight: http://wiki.wxwidgets.org/wiki.pl?WxWidgets_Compar ed_To_Other_Toolkits Pay Attention to the wxWidgets compared to Qt section. -
Take a look @ WxWidgets as well.
If you're after something that is a cross platform GUI toolkit, non commerical / commerical with LPGL license might i suggest Wxwidgets.
http://www.wxwidgets.org/
I have been using wx for a few months and love it.
Cross platform (Win32, MacOSX, Linux).
Very mature (12 years old) platform filled with lots of classes for most things you could think of.
And the seller point, no need to give away your source if you want to write something commercially at zero cost.
This doesnt mean QT isn't any good, but Wx has been around longer and really fills a need - try it out!
I'm using a Windows development platform Dev-C++ with all the hooks of wx: http://wxdsgn.sourceforge.net/
-
Apple's fault (for making NeoOffice/J possible)
That's Apple's fault: they are putting roadblocks in the way of people trying to do a better job with X11 integration on Macintosh.... There is no technical reason why X11 couldn't be as smoothly integrated into OS X as Carbon and Cocoa are....they probably are afraid that if X11 becomes well enough integrated so that people can write applications with a native L&F, it would become the predominant API on OS X.
What you mean is that Apple isn't doing with X11 what is has with Java, which is to devote significant effort to get to the point where the simplest apps can pass for native and the rest feel like poor imitations. Unlike Java, X11 doesn't have a standard high-level graphical framework, so there's no way Apple can provide generic "X11" integration. They'd need to provide their own APIs, and toolkit developers would have to use them... oh, wait.The OOo developers got so annoyed with Apple's behavior that they stopped working on Macintosh integration.
The OOo developers stopped working on Mac integration because it wasn't a priority for them, the NO/J developers were doing a better job of it, and NO/J's license precludes merging code from NO/J into OOo.X11 should... run automatically on every Macintosh
This reminds me of a story, only in reverse. If I wanted X11 to load when I log in, I'd put it in my login items. I don't, because waiting longer for a usable desktop just to hide startup time for applications I may not even use wouldn't do me any good. -
Re:KDE4?
Ask and you shall receive.
wxWidgets has binding for numerous languages and is under a license like the LGPL (see the home page). Anyway if you want to support multiple platforms try it out. There lots of applications use it already.
It doesn't quite have the scope of QT which from my understanding includes ALOT of extra functionality that isn't just GUI based.
Your logic doesn't make sense though. If the market is small they the product should/will be expensive (cost to develop ~ $1000 with 5 customers you'd need to charge $2200 to make a 10% ROI with 500 customers you can charge $22 and still make the same ROI - excluding support).
That was the DOS/Shrinkwrap revolution. Other companies at the time tried to sell the OS for $10,000 + because that's how long it took them to make it.
Even if wxWidgets didn't exists there would still be Java, TCL, Motiff etc. The fact is QT is very nice and worth the cost if your in that area. -
Re:Gnome has better apps
"Why do developers choose to write these great apps with GTK instead of QT?"
Actually, I'll reproduce a portion of this article from http://wiki.wxwidgets.org/wiki.pl?WxWidgets_Compar ed_To_Other_Toolkits
It certainly captures why I use WxGTK over Qt.
wxWidgets compared to Qt
* Both Qt (http://www.trolltech.com/) and wxWidgets have many non-GUI-related classes, such as date/time, containers, networking and OpenGL functionality. However, if you are developing commercial applications (non-gpl) in Qt and want to use most of these classes (including the OpenGL widget), you have to pay extra for the "enterprise edition" (http://www.trolltech.com/products/qt/editions.htm l) on top of the normal commercial version of Qt (the "professional edition").
* Qt2 is available under the GPL for open-source applications, and under the QPL for commercial applications. Qt3 for Mac and GNU/Linux is similarly dual-licensed, but there is no free version of Qt3 for Windows. All ports of wxWidgets are distributed under a permissive modified (but explicitly OSI-approved) LGPL.
o Trolltech has announced that Qt4 will be available under the GPL on Windows. See http://www.trolltech.com/newsroom/announcements/00 000192.html.
* Qt doesn't have true native ports such as wxWidgets ([with the exception of Qt/Mac].) Qt draws its own widgets on each platform instead of using the native widgets, whereas wxWidgets offers true native ports for all the supported platforms. Additionally, an approach similar to Qt's is achieved with wxUniversal (of course it should be noted that on some platforms, Qt _is_ the native GUI library.)
* Qt programs are not true C++ programs and require a special pre-compiler, the so-called Meta Object Compiler or moc. wxWidgets programs do not require this kind of preprocessing and are true C++ programs.
* Qt is used by several large projects like KDE and the Opera browser (on the other hand, wxWidgets is used by projects like the AOL Communicator)
* Qt makes extremely liberal use of virtual functions (QTWidget, the base class of all widgets in Qt had 91 at last count), giving it a more OO design than wxWidgets (which uses a more MFC-like approach using macros). What this means is fewer lines of code in general when using Qt, but faster execution speed when using wxWidgets (although the degree to which this occurs depends on whom you ask).
-
Re:No
Mod parent insightful please.
OSS bounties are not supposed to feed you, they're supposed to be a gift-reward for your "free" work on OSS projects.
wxWidgets has had "open bounties" (anyone can set a bounty for a feature or an implementation) for quite a long time now BTW -
Re:Apple owner and developer
Java is fine and dandy, but anyone who's had lots of experience with C++ might feel a bit more at home using wxWidgets. I've done a bit of work using wxWidgets, and it's pretty spiffy.
I will admit, however, that the majority of my stuff has been for Windows/Linux cross-compatibility, with little focus on Macs.
-
Re:Personally I agree
I can't really agree. Being locked in to any platform is bad, sure, but you are only as locked in as you choose to be, because by and large there are cross-platform choices out there. And although it will never be 100% trouble-free to transition to alternative software, it is usually only minimal effort/expenditure required. And initial costs are usually only marginally higher. For example use wxWidgets for application development instead of a platform-specific API like Win32 or Cocoa. Not only is it a good API, but available for many platforms. Choose OpenGL instead of Direct3D for 3D graphics, games etc. Not only is it just as capable, it's cross-platform and non-proprietary. For databases use cross-platform database-neutral access methods like ODBC. We've done this with our application, and with only a relatively tiny amount of additional effort, we now have the choice of several major databases, and an easy path to others. If MySQL goes bad, we can just use another database.
Many people become locked in because they choose to do so, most do not seem to realise the longer-term penalties incurred when they lock themselves in to the latest flashy proprietary goodies from the traditional behemoths. In some cases one might need some more advanced functionality available only from specific vendors, but in most cases the requirements are a lot simpler and if you know what you're doing, you can avoid locking yourself in so badly that you can never get out.
-
Ignorants babble what they don't understand...
Have you EVER used wxWidgets? No, have you even READ TF website?
wxWidgets is NOT an EMULATOR layer. It's a parallel implementation of an UI using the Native OS's widgets. From the wxWidgets site: "the open source, cross-platform native UI framework
with twelve years of evolution behind it".
It's not about how a widget should LOOK or FEEL. It's about using THE SAME CODE to make a program.
They even got a PalmOS version now.
Maybe for your small needs you don't need cross-platform. Maybe you're happy crunching bits and recompiling the most of your kernel, but you're certainly not the average Joe User - and that's a majority that has needs. These people right now are screaming when their machines are being invaded by spyware, viruses (and coming soon, rootkits)
. These people need to escape. And cross-platform applications is the way to go.
But if you really want to help people migrate from Windows to a safer Linux environment without losing their friendly commodities, at least you should give programmers the benefit of the doubt.
I AM a windows user. But I'm planning on migrating. And I want OTHER people to migrate to Linux. Linux doesn't belong to elitists... it belongs to the world, that's why it's Open Source, and GPL licensed. So please, stop building iron walls and let the Windows prisoners escape to a safer world.
After all, don't you want to be among the ones who were there, the day Microsoft died?
Certainly, I do. -
Ignorants babble what they don't understand...
Have you EVER used wxWidgets? No, have you even READ TF website?
wxWidgets is NOT an EMULATOR layer. It's a parallel implementation of an UI using the Native OS's widgets. From the wxWidgets site: "the open source, cross-platform native UI framework
with twelve years of evolution behind it".
It's not about how a widget should LOOK or FEEL. It's about using THE SAME CODE to make a program.
They even got a PalmOS version now.
Maybe for your small needs you don't need cross-platform. Maybe you're happy crunching bits and recompiling the most of your kernel, but you're certainly not the average Joe User - and that's a majority that has needs. These people right now are screaming when their machines are being invaded by spyware, viruses (and coming soon, rootkits)
. These people need to escape. And cross-platform applications is the way to go.
But if you really want to help people migrate from Windows to a safer Linux environment without losing their friendly commodities, at least you should give programmers the benefit of the doubt.
I AM a windows user. But I'm planning on migrating. And I want OTHER people to migrate to Linux. Linux doesn't belong to elitists... it belongs to the world, that's why it's Open Source, and GPL licensed. So please, stop building iron walls and let the Windows prisoners escape to a safer world.
After all, don't you want to be among the ones who were there, the day Microsoft died?
Certainly, I do. -
Re:Portable code
Actually, wxWidgets would be a better choice. It is stable, and it is open source and free on all platforms.
Combine this with SDL (Simple DirectMedia Layer) and Boost.org, and you get a great cross-platform development toolset. SDL is "a Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer."
Boost provides cross platforms threading and other nice things. If you keep your GUI seperate from from the main guts of your processing, you can do cross platform programming rather well. -
Native look and feel
And if I were on a Mac, I'd expect it to look and feel like on a Mac. I would _not_ want an app that looks and acts like Windows (e.g., wants me to right-click) in the middle of an Aqua desktop.
You are 100% right --- ported apps should have "native look and feel" on each platform! A good cross-platform API that has been designed with this goal in mind since the start is wxWidgets.
-
Re:Portable code
Reduced efficiency I'll give you, but because (and only because) Win32 and MFC are such mind-numbingly bad APIs, writing portable code can often be a massive time-saver if you use more well-designed libraries, like wxWidgets
... for our company's main project, I estimate that choosing wxWidgets over Win32 or MFC easily cut down development time by 30% (and that's in spite of our developers all having Win32/MFC experience). And as a bonus, our code is now only a stone's throw away from Linux and Mac ports, which we fully intend on developing. -
Re:Where did this come from?
wxWidgets does a lot more than just GUI. It also includes threading (including mutexes and semaphores), collections and data structures, file I/O, networking...pretty much everything you need to write a portable application. It's a nice library.
-
WxWindows is now WxWidgets.
Those who aren't working with cross-platform GUIs may not know that WxWindows is now WxWidgets.
See the name change page. Don't use the word "windows" unless you mean a Microsoft product, because Microsoft owns the word in the UK and in the United States.
Corrupt governments don't just support overly broad trademarks against their people, they kill Iraqis for oil profits, too. -
WxWindows is now WxWidgets.
Those who aren't working with cross-platform GUIs may not know that WxWindows is now WxWidgets.
See the name change page. Don't use the word "windows" unless you mean a Microsoft product, because Microsoft owns the word in the UK and in the United States.
Corrupt governments don't just support overly broad trademarks against their people, they kill Iraqis for oil profits, too. -
Re:Portable code
man you have got to look at wxWidgets. It provides a uniform API under many platforms, so you can use wx's threads, wx's file I/O, wx's sockets (instead of say winsock vs BSD sockets), wx's GUI and widgets. This will seriously cut down, if not eliminate, OS-dependent stuff.
-
Where did this come from?
And what the hell is POWER and pSeries? I'm pretty much going to ignore this article. I've been writing win32 software for quite some time and am seriously fed up with that platform. Rather than tweaking my software so that it works with Wine I'm much more interested in rewriting the GUI from scratch using wxWidgets. With a wx based application, you can then compile it into native Linux (GTK+), native win32, or even Mac OS X apps. To me that seems like the most promising route. I've used some wx based applications like Audacity and they're just amazing, really look like they belong on each target platform.
-
Why KDE?
Two points:
(1) Why is this article in the "BSD" section?
(2) Please use Gnome instead of KDE if you are able. By using KDE, you are supporting a commercial company, Trolltech. KDE is built on their commercial (as in: non-free) Qt API that costs $3000 per seat for developers if you want to write for more than one platform.
Yes kids, cross-platform development using Qt is twenty times more expensive than the total software cost of developing for Microsoft Windows and Linux using other standard toolkits[1]. And please don't say "but you're paying for support" for Qt - it's nothing more than a windowing library. If you need to pay for support, it is broken.
[1] Assuming Windows XP Pro OEM costs $150 and you use the freely available development tools and a licence-free cross platform API such as the platform-neutral wxWidgets or Gnome's cross-platform toolkit, GTK - you will never have any expense other than for the operating system on which you develop. -
Public service announcement: DO NOT CODE FOR QT.
Because QT IS NOT FREE.
Unless you pay TrollTech, you have to release the source code for your programs under the GPL. Not even MICROSOFT charges you to use their APIs - nor do they force a licence on you. If you write programs that you release under the GPL, let it be YOUR choice, not your toolkit's choice. If you ever want to close your codebase - you can't. Sorry, Trolltech won't let you. I honestly don't understand how insane someone would have to be to support Trolltech.
QT's restrictive licence is the REASON that libraries like GTK exist. Libraries like GTK are licenced under a variant of the GPL called L-GPL (library-GPL or lesser-GPL). This allows you to link your code with their libraries - and release your code under whatever licence you desire. You only have to release code if you modify the windowing library itself - which not many would do, but if you did - at least you wouldn't be providing free labor to Trolltech.
Read the headline of this press release from TrollTech's site:
Qt cross-platform development software will be available under the open source GPL license for open source development and a commercial license for commercial development
And their price for 2 platforms (the only reason you'd use a library in the first place is cross-platform development) - is $3000! PER SEAT!
Did you read that? Do you really want to pay HARD CASH to Trolltech for what is a WINDOWING LIBRARY. If you moved to Linux because of the cost of doing business on Microsoft Windows - re-examine the costs: Windows XP OEM is $149, has free downloadable development tools including the Visual C++ compiler, no royalties, no charge to use the API, release your code however you want. COME TO YOUR SENSES!
Please don't give me that "if you're a commercial software developer you can afford it" speech - it's untrue. I couldn't afford a new computer right now - and that would only set me back $1000 - let alone three times that for a library.
There are plenty of cross-platform alternatives that DO NOT require licencing fees to do whatever you want with your application. For example:
* wxWidgets
* Fox Toolkit
Please do yourselves a favor and avoid Qt like the obsolete plague that it is. Please, cross-platform developers - you really don't want to replace one Microsoft thorn in your side with the iron spike that is Trolltech. -
Re:Ahhh, such excellent news
True. Goodbye MFC, hello wxWidgets. Real native widgets, not just widgets which mainly look like native ones. A thin layer in between development and target which doesn't decrease speed noticably. Very cute!
-
Re:if you want VB on Linux why not just use REALBa
Heck, if you're going there, why not just buy something that actually produces cross compatible code (i.e. will run on anything, not just platforms three platforms). There are a handful of RAD GUIs for wxWidgets.
-
Re:REALbasicIf you're looking for a free, cross-platform Basic, have a look at wxBasic. It's based on wxWidgets, an excellent cross-platform C++ library (yes, the widgets are native on Mac, Windows and Linux).
It's still beta, the IDE is only now being developed, and the Mac port doesn't exist yet (any volunteers?), but it fits the "free" criteria...
-
Re:Direct3D on Linux?
From what I've read, porting MFC-based utilities (such as game editors) is more of a pain than switching 3D APIs.
It's really not all that difficult if you use something like wxWidgets (formerly wxWindows). Slashdot has covered the MFC and wxWidgets comparison before. If your interested, IBM has written an article on Porting MFC applications to Linux. Just let it be known, it is something being done. I've personally converted applications directly from MFC to wxWidgets with very little difficulty and really very little code change. However, none of the apps had non-standard interfaces.
MFC is history anyway. Just something to think about. -
Re:Don't forget
more powerful classes than WxWindows does (containers, database connection, etc.)
Are you using wxWidgets 1.0 or something? wxWidgets has had container and database classes for some time now.
You may want to look through the manual sometime. Scroll down.
-
Re:Don't forget
Show me another cross-platform development suite as flexable and powerful as Qt that's free.
Granted, it's got its own set of quirks and whatnot, but I love it.
-
Will it work with wxwidgets?
Over the holidays I want to sit down and play with wxWidgets (formerly wxWindows) to try and make some cross platform GUIs. I believe wx compiles against GTK, though I haven't tried this yet myself. Anyone have experience with this? Do changes in GTK impact wx? (ideally they shouldn't)
-
Re:File System SupportThank you for proving his point.
He's saying "lend us a tool to do our work.". You're saying: "limit the tools to linux, screw the rest." (paraphrasing, I know).
Why should linux be required for running any software application? Why should windows be required? The most widespread software has the minimum of requirements in all respects.
As a software developer looking at my toolset and my professional future, the tools I value the most are those that work regardless of my working environment. Tools which can (for example) compile from CVS using libraries I have (pre-existing, added, accompanied or otherwise). In turn the most valuable libraries are those that work, again regardless of their working environment. libraries and tools like wxWidgets, Apache, which have been ported to more platforms than you can shake a stick at show that NOT porting to a platform goes against the "open" spirit of Open Source.
Lets take apache for example. They were #1. They are #1. Not just #1 in linux, but on any platform. They don't care where they run on. They want to run well. I'm sure they'd be pleasantly amused if they saw a Dreamcast running an Apache server (,I know I would).
Note that for the paragraphs on tools no specific platform was mentioned. That's because the OS should not matter. Imagine if the first thing people did with their windows machines was install KDE! that would be an exciting future indeed. Imagine the first thing people did on a linux box was install KDE! that happens now. Imagine any , newly acquired where the first thing installed is KDE!
Developers limiting themselves to any OS are shortchanging their applications. Open Source will be the norm, when we have a world where Things Just Work.*
*no exceptions or limitations
-
Communicator does not use XUL!
From the article:
Surprisingly, AMP is not based on AOL's Winamp platform, only utilizing Winamp's "Unagi" playback engine. Instead, AMP is built atop the company's Communicator XUL user interface framework.
Aargh! How many times are BetaNews going to get this wrong? AOL Communicator does not use XUL. It uses wxWidgets (formerly wxWindows). They just keep on getting this wrong! Now I don't know what AOL Media Player is going to be based on.
-
or you could use...
PGAdmin II. It is based on a mature, open source, cross-platform GUI toolkit and written in C++. And that toolkit does not have any restrictions on where you can compile for it or what you can port it to.
-
They should have used..
wxWidgets which is not just a multi-plattform GUI widgets set but also has classes for file and socket handling.
-
Re:Basic on Linux
-
Re:Other good free RAD in development...
-
Re:AOL is good/evil...Urm... That's wxWidgets. Microsoft stopped by earlier this year and suggested that they change their name. The carrot: a modest amount of money to offset the cost of getting a new site, etc.
The stick? Lawyers.
After some debate, they quickly decided they simply didn't have the resources to take on the 800 pound gorilla, and changed their name.
-
Win one for yourself in the wxPalmOS challenge!wxWidgets has already thrown down the gauntlet for converting wxWidgets to the new PalmOS.
-
Porting wxWidgets to Palm OS 6
It's encouraging that PalmOS 6 looks to be somewhat easier to program for than previous PalmOS versions. In fact, sufficiently so that it looks like it should be possible to port wxWidgets (ex-wxWindows) to it and start writing programs which work on both PocketPC (with wxWinCE) and Palm devices.
If someone here is interested in helping with this effort, have a look at wxPalm contest page!
-
Porting wxWidgets to Palm OS 6
It's encouraging that PalmOS 6 looks to be somewhat easier to program for than previous PalmOS versions. In fact, sufficiently so that it looks like it should be possible to port wxWidgets (ex-wxWindows) to it and start writing programs which work on both PocketPC (with wxWinCE) and Palm devices.
If someone here is interested in helping with this effort, have a look at wxPalm contest page!
-
Re:APROther notable portable runtimes include:
NSPR (Netscape Portable Runtime) http://www.mozilla.org/projects/nspr/index.html
ACE (Adaptive Communication Environment http://www.cs.wustl.edu/~schmidt/ACE.html
wxWidgets http://www.wxwidgets.org
Those are just a few, there are others out there as well
Choosing one to use is a difficult exercise. The important things to consider are what you want to use it for and how it fits in with your existing software and experience.
If you'll be doing GUI programming, wxWidgets is a good way to go. In addition to the file io/threads/networking portability you get GUI portability as well. The NSPR fits into this area as well.
The APR is obviously a well tried and proven framework, since the Apache HTTP server uses it. If you want cross platform server software, APR is probably a good choice. NSPR fits in this area as well.
The biggest consideration when choosing one of these libraries is how well you can pick it up and understand it. If you look at the API and it doesn't make any sense to you, it won't be pleasant to integrate with it. Documentation varies in quantity and quality. Also, how well supported is the library by the development community?. (Actually not much of an issue for APR,NSPR and wxWidgets as they are all very actively maintained and used).
On another note, it certainly would be nice to get more of a standardized set of cross platform libraries on the scale of the Java API. There's no reason why this can't be done. Most of the pieces are already out there. It's too bad someone hasn't yet taken the effort to integrate all of this stuff into a super library for GUI, networking, io, threads, email, video, blah blah blah...
Perhaps I'll have to get started on that... -
Re:Is this a joke?
Are there any *significant* Qt applications that don't require KDE's idiotic ways of doing things?
Scribus, Audacity and lots more.
Doesn't Audacity use wxWidgets instead of Qt?
-
wxWidgets, another _perfect_ alternative with Mono
I've been using wxWidgets for some corperate develpment and I don't think I can be more happy with it. Integrating Cocoa into Mono is nice with GTK and all (didn't read article- sorry,) but is it going to use native UI faculties that the operating system provides? wxWidgets even has
.NET interpolabilito under development called wx.NET and you can use that with Mono too. -
XUL is bloated and slow
XUL makes these browsers unusably slow on older machines. I have to use Netscape 4.8 (which has its own issues, but speed certainly isn't one of them - it doesn't take 5-10 seconds to open a new window) in order to get acceptable response on my old 450 MHz desktop (which is, I might add, perfectly fine using ANY other application, including Windows 2000, IE, Apache, MySQL, Word and so on).
I really think (as others have also mentioned) there is a lot of blinkered thinking when it comes to Open Source software, to the extent that people are starting to blindly ignore the flaws - these same flaws in Microsoft apps would be pilloried mercilessly, but here you see all kinds of "yeah, but" comments. I am not putting down OSS, but the XUL thing was a classic example of developers going away to make a browser, and coming back with a bloated, swiss-army-knife, can-customize-up-the-wazoo Internet Platform. I don't particularly care about changing the "skin" on my browser - all I want is a small, fast application that adheres to standards and is preferably cross platform. They could have gotten the cross-platform part by using something like wxWidgets. I thought Firefox was supposed to be smaller and faster, but unfortunately XUL still seems to be at its core. And for those who say "Well, why don't you go away and make your own browser" - I have other projects I am working on and don't have the time.
And to all those people who say that I should just get a new computer - well, tell that to all the schools out there who have old computers donated for teaching the kids. Anyway, Why should I have to upgrade because of one application - a BROWSER of all things? Just a classic case of developers going over the top to prove to everybody just how smart they are and how generalized their code is. And what do you know, now we find out that there seems to be a darker side to all this customizable GUI code. Oh well...
BTW, I don't hate Mozilla. This is a criticism of one aspect of the project that I think just went severely off-track with featuritis. The project is very worthy effort and I applaud the people who are making it, but these are just my honest thoughts on the matter. -
Re:I love Qt!
Check out wxWidgets (formerly known as wxWindows) for an alternative. No, the support isn't as good as Qt, even if you pay. On the other hand, unlike GTK, your app won't look and run like ass on windows. And the community support via IRC and mailing list is excellent. wxWidgets is, in fact, the only toolkit I know of that is mature, cross-platform, and free. (I don't consider GTK to be mature in the cross-platform category)
</plug> -
Re:I love Qt!
You really can't compare Qt with GTK because Qt is more like a development platform/framework than a just a GUI-library. WxWidgets is much closer to Qt than GTK will ever be (and it uses GTK for GUI-drawing on X11), but Wx is nowhere as mature as Qt at this point.
I started to use Wx for an application I'm working on, but it was impossible to even get a decent looking TreeView/CList with checkboxes which resizes in a sane way. After much frustration with Wx I switched to plain GTK in which I could great a GUI the way I wanted to, but now instead I have to look for external libraries for everything like sound playback, database connectivity, networking support, regexps, and much much more. It's like hell to support on several platforms. :P
If Qt-Free was avaiable on Windows I could stick to Qt-conventions and support the application on all platforms with just a simple recompile.