Domain: wxwidgets.org
Stories and comments across the archive that link to wxwidgets.org.
Comments · 183
-
Re:Silly article summary
Would you people please stop using this as a justification to not pay for something! I can't beleive what I am reading,
Learn to read, if you will. He wasn't justifying illegal copying, but pointing out that despite the GGP's claim that the software industry was effectively dying.
There are 1000's of people downloading software at no cost to them, which is normally sold for a price, how can that not hurt a company?
How would it hurt your company if those people hadn't bought your software otherwise? If someone copies Photoshop 8 in order to produce a few graphics on his personal homepage, is he stealing Adobe $1200? What do you think would've happened if he hadn't been able to pirate any image editing program?
- He would've bought Photoshop (overkill for his purposes) for $1200.
- He would've bought another company's simpler tool for $29.95.
- He would've downloaded The GIMP for free.
Whether the correct answer is 2 or 3, it most certainly isn't 1. In both cases, he wouldn't have paid Adobe any more money than by pirating Photoshop. So in effect, piracy may hurt the competition, rather than the company whose product is illegaly copied.
So, based on all this crap people are trying to unload with regards to copyright and justifications based on prices or features, blah, blah. Let's just take the example of a Newspaper, there is copyrighted information in that and for the most part, this stuff is available online, so instead of reading the Times online, step into your local news stand, grab a copy and walk out, do you think that you will be stopped?
There is a real cost for printing a newspaper, and, more importantly, they might later run out of copies so they can't service paying customers any more. The same is not true for file sharing. Try stealing a hotdog. Do you think you will be stopped?
Lastly, have you seen the balance sheet on this company? they are making billions! How can they get away with this?
No, but if my company makes billions in software then I'm not supposed to whine all day about rip-offs, that's just ridiculous. Copying Photoshop or MS Office is illegal, but I'll spare my pity for those who're really in need, like kids in India whose parents can't afford $10 for diarrhea medication.
I posit that Adobe and Microsoft actually benefit greatly from piracy, and that it's the smaller competition instead which suffers. Why? If tomorrow was the day on which copying MS Office and Photoshop became impossible, what do you think would happen?
- Lots of people would shell out the last $1700 hidden under their pillow in order to buy the most recent versions of Office and Photoshop.
- Lots of people would switch to competitors' products, including free alternatives such as OpenOffice and The GIMP.
In the short term, MS and Adobe might see more profits, but in the long term, a lack of a private user base would hurt their business sales dramatically. Just consider that Microsoft is currently promoting MS Office over the OOo/SO competition by pointing out that people are already used to MSO and would need to be retrained expensively. Wouldn't this argument be reversed if home users actually preferred OOo? And then consider Microsoft's statement that they do not plan to enforce their copyright towards private users. Why not? Simply because a "stolen" MS product is still more useful to them than a legally purchased competitor's product. By far!
Who do you think hurts Microsoft more? A student who pirated Windows XP, or myself? I'm not running XP at all, I'm running Gentoo Linux. Moreover, I'm a software developer. Switching from Windows to Linux has made me aware of portability issues. All applications that I produce now (at least if I'm given the choice) are portable to just about any platform of your preferrence, or easily made so. I use wxWidgets for GUI, mult
-
Ok, great
Java becomes more like a usable programming language every day!
The functionality of mailcap, later cloned in win32, GNOME and KDE, is now available to Java as JDIC!
And JDNC provides powerful GUI functionality, including an XML format for describing GUIs, a la Glade, wxWidgets XML resource files, XUL , XAML. Of course, they are all completely incompatible. Also worth mentioning here is GNU Enterprise, which has seemingly similar aims to JDNC.
I don't know what all this has to do with ActiveX. For all I know, ActiveX was MicroSoft's intended replacement (or umrella) for Java and JavaScript. It has met with mixed success, having met with popelarity mostly as a malware target. JDIC and JDNC look like decent proposals to me. It's good to see Java maturing both in speed and functionality. The more choices, the merrier, after all. -
Re:Go Cross-Platform!
What about WxWidgets ?
It is a nice cross-platform C++ GUI/Utility package. In addition to GUI classes it has some simple containers, sockets, threads and a few others. -
Re:For great free, open source IDEs I recommend...
-
Re:Portability is for canoes?
I agree with the quote.
I'd rather develop software for a specific platform, and then let the various OS's figure out how to run it.
For one, you are right. It's so much simpler and more cost-efficient to target a single platform. But then, you miss a very crucial point: Platforms and operating systems are not the same! Let me give you a few examples:
- Microsoft Windows 98 is an operating system. So is MS Windows XP and Windows 2003 Server.
- Win32 is a platform (an API) that runs on (among others) Win98, WinME, W2K, WinXP, W2K3 etc., and, to a degree, WINE and relatives. The Windows NT API is a platform that only runs on the NT line of OSes.
- MFC is a platform. mostly Windows-specific, too.
- GNU/Linux is an OS.
- ISO C is a platform supported by a myriad of OSes.
- Java is a platform that runs on modern MS Windows OSes, GNU/Linux, MacOS X, FreeBSD, Solaris (of course) etc.
Actually, it's a little more complicated than that still. A platform is an interface as well as an implementation. The interface may be free (as in speech) or proprietary. There may be one or several implementations which are free (GPL may not be free enough for your purposes) or proprietary, and there may be monopolies. And interfaces may be binary compatible (ABI) or only source code compatible (API). So Java is a free platform ABI, while Sun JRE is a proprietary implementation of it.
What this boils down to is: If you (e.g.) switch from MFC to wxWidgets, you are not switching from "one platform" to "many platforms", with all the code development and maintenance horrors involved in such a transition. You are switching from one platform to another platform, nothing more, nothing less! If you find wxWidgets easier to develop for, you may even save time and money in developing your product.
What do you gain apart from that? Simple. MFC is a proprietary platform that runs (fully) only on Microsoft Windows operating systems. wxWidgets is a free (LGPL) platform that runs on all relevant desktop operating systems. It's not ABI-compatible, but API-compatible, so all you need to do to support a different OS, barring other subleties that unfortunately do occur from time to time, is to recompile it for that other OS. ABI platforms such as Java make porting even easier.
You are entirely correct that it's better to target a single platform. But you are not correct in your conclusion that this platform ought to be the Microsoft Windows for x86 processors ABI. If you target this platform, you will sacrifice portability to a wide range of other operating systems and processor architectures. Plus, the only full implementation is proprietary, and worse, the interface itself may soon be patent-protected, thus barring competing implementations. This means you make yourself dependent on a single platform vendor, and that is, IMO, a mistake.
-
Re:Too bad
Microsoft did ask the wxWindows developers to rename their project, stating that pepole might confuse it with Microsoft Windows, and there wasn't much of a fuss about it. Ok, but then that may partly be owed to the fact that MS paid them a monetary compensation.
-
wxwidgets
Until Trolltech goes full open source
(and plys its way as a support company),
try using WxWidgets : wxwidgets.org.
Not as cute at Qt, but portable to multiple systems and your system won't be held hostage to a wacky license.
-
Re:Stability, cost, ease of use, programming ease.
In all fairness, I don't think that your second and fourth points are very valid.
Yes, WinXP broke a lot of compatibility with DOS and older Windows apps, and in my opinion, it was far overdue; supporting the legacy APIs was hurting Windows. To put things in perspective, the majority of the software that it broke compatibility with was written for Win95 or earlier; the Linux kernel was still in 1.x in 95, and I doubt that you could find any Linux program compiled for a 1.x kernel that would run on a modern system.
Also, saying that you can't program without spending cash on a compiler and libraries is just wrong. I am familiar with at least two free C++ compilers that run under Windows, DJGPP and MinGW. Dev-C++ is also a fairly popular development environment. You don't even have to use Microsoft's libraries, if you don't want to; while I believe the DirectX SDK can be downloaded for free or bought on CD for a nominal fee, you could, alternatively, use SDL or wxWidgets or any number of other graphical libraries. -
Re:GNOME is becoming more like KDE every day...
But making Gnome into KDE is not the right way to go.
But I really hope that they do - if only to work around the retarded licencing model that KDE's QT widget set has (commercial licence on Windows, GPL on Linux) - this makes it impossible to do quick ports to KDE.
We want to support Linux for some of our products - but at the moment this would only be for an extreme minority of our users. KDE / QT is one of the more refined GUI solutions, but we can't go with it because development costs are prohibitive (several thousand dollars per seat for QT). As a result, we're probably going to develop new revisions of products with wxWidgets instead (which runs on top of Gnome's GTK and is native on Windows and the Mac) - and try to nurture a Linux customer base that way instead. -
API switching
As a developer, I switched to wxWidgets not explicitly for the cross-platform capabilities, but because it's a much better API, and quite frankly Win32 and MFC suck so incredibly ridiculously badly that I could not face the thought of using them (and yes I have over 6 years of dev experience with them, they are bad). But now that I've switched to wxWidgets, my applications will require relatively minimal effort for me to make them run on other platforms. If I'd done them on Win32 or MFC, I would be at least a man-year away from being cross-platform. Perhaps Microsoft realises that their APIs are so bad that they're chasing some people into the hands of cross-platform competitor APIs, which is dangerous from their perspective because it means more ISVs building software that runs on other platforms. So perhaps they're hoping to start attracting more ISVs back to strictly Microsoft APIs again to prevent this.
This is non-fact-based speculation, of course, based on my own perceptions.
-
Re:IBMYou're absolutely right about this -- they've already begun. Remember till just recently when wxWidgets was known as wxWindows? From the "Name Change" page:
In September 2003, Microsoft approached Julian Smart to open discussions about the wxWindows name, in relation to the 'Windows' UK trademark owned by Microsoft. The result of these discussions can be summarised as follows.
I believe them that the request was made politely. I think Microsoft have learned that asking nicely at first goes a long way -- nicely being with a big smile and a check.After a polite request from Microsoft, and a lot of thought on our part, we have decided to change the project's name to wxWidgets.
Apologies to all wxWindows users, and developers of wxWindows-related projects, for the short-term discomfort caused by the name change.
Despite whatever any of us may perceive or think about Microsoft it's not an evil corporate hell-bent on destroying GNU/Linux or Free Software. Microsoft does direct all their energy towards preserving themselves and building the Windows franchise. If the must destroy Linux en route then they will. It's very similar to Torvalds noting that the goal of Linux is not to destroy Windows but merely and unintended consequence. What we have are two ideologically driven organizations that just happen to be going in opposite directions on the same tracks. There may be a collision or one or both will branch to other tracks.
For now patents in general are a challenge and threat to Free Software and in the near future Microsoft may fire the first shot.
-
But Windows doesn't play nice
I wholeheartedly agree with you that software should be cross-platform. The problem is that, where the majority of systems in use (speaking in number of platforms, not installations) are UNIX-like, but the most widely deployed (number of installations) are Windows systems.
It's quite easy to write a program that compiles and runs on any modern *NIX system, but Windows APIs are so utterly incompatible that there is not a snowball's chance in hell it will compile there (unless Cygwin or some kind of emulation is used - but that sort of kills the point). Standard io works, but try to do anything that involves graphics, or sound, or networking. And, let's face it, who writes an application without any of these?
Of course, there are several projects that make things easier. Allegro does a good job at abstracting away the differences between systems for 2D graphics, sound and input handling, as does SDL. Network code can also be written in a way that ports to Windows. So, by carefully choosing the libraries you use, you can come a long way.
It gets ugly when it comes to GUIs. To my knowledge, there is only one GUI library that attempts to gen native looks on all platforms (wxWidgets). However, it doesn't always achieve a truly native experience, and I find it's API ugly (I heard it's modeled after MFC, which Windows types seem to like a lot). Other than that, well, GTK+ works on Windows, but feels buggy and slow, Qt works, but you have to pay for a license. All of them require that users install a new library, besides whatever native system is already in place.
The long and the short of it is that developing cross-platform is easy if you don't support Windows, and becomes a lot more hairy if you do. Losing out on some great F/OSS is the price one pays for using a system that I can only assume is willfully incompatible. -
Re:Apple frameworks on Linux would be excellent...the post I was replying to never mentioned that he was doing GPL development...
Er, he said he was looking at GNUstep (which is L-GPL'd), and that his one reservation was that he wanted a "straight recompile." What he didn't say was his one reservation was that GNUstep was free, and he was actually hoping to spend around $1500....
;-)wxWidgets, by comparison, uses the L-GPL (and actually grants additional rights). Much closer in spirit to GNUstep, which he mentioned.
-
Re:Apple frameworks on Linux would be excellentI'd love to have a Linux version which would be a straight recompile, but that's not possible yet.
Don't be so sure. Write once. Compile anywhere. wxWidgets.
(Oh, and it works, too. AOL Communicator uses it.)
-
Re:Apple GCC vs. GNU GCC
I've got an idea for this. First of all I'm going to follow these instructions to make myself a GCC and cctools that target OS X on PPC. Then I'm considering going back and compiling Apple's GCC targetting Linux because I'm rather curious to get wxWindows (err, wxWidgets now) for Cocoa working with GNUstep. The apple version of GCC should still be able to target linux and of course does have an Objective-C++ compiler which I need for wxCocoa.
-
QT's licence is BAD!
The "new feature that you're never going to use" marketing potential aside:
QT isn't even free software. It's GPL'ed on X11 and the Mac - but not the most popular development platform: Windows. Expect to pay $1550 per seat for the privilege of developing there. Because no GPL version is available for Windows. Don't expect to port to Windows without paying the Trolls.
The price instantly puts the toolkit out of reach for smaller development houses - and merely makes it insanely bad value for money for larger shops. For that price you can get an entire high-end computer AND a bunch of Microsoft software development tools (although if you were paying attention to Slashdot yesterday, they just released their compiler for free). It's bad value for money on all fronts.
For those who want actual freedom with the SDK they use, I would recommend that you try wxWidgets.
If that's not suitable, try one of: GTK, Fast-Light Toolkit or even the Fox Toolkit.
But please, for the sake of your code - anything but QT. -
Re:Qt is almost a like a languageWhat people don't realize is that Qt is actually a massive foundational library...
Yes, a lot like wxWidgets.
-
Re:VIA's system requires hardwareQt has the mindshare. There are several alternatives, including: FLTK, FOX, and my personal favorite, wxWidgets.
All of the above have LGPL or LGPL style licenses, and at least FLTK and wxWidgets have exceptions for static linking, so there should be very few licensing issues with them. There's probably more, but these the ones I know off the top of my head.
-
Re:Visual Tool
Investigate wxWidgets.
wxWidgets is a decent toolkit. I do mean to look more closely at it, but Qt is the filet mignon of the GUI toolkit world. wxWidgets was a bit rough around the edges last time I looked at it, but I hear there was a major revision since then. At least the main developer said he had one planned. The last time I looked at it, it was still called wxWindows. That shows my age, eh?
Anyway, free GUI toolkits is one topic that Slashdot covers sometimes. This article is about Qt specifically. I do not like the attitude that the Qt people had in the article, saying there is no Windows/OSS community. I take umbrage at that because I am part of that "nonexistant" community.
-
Re:Visual ToolThe only thing missing is a good GUI toolkit that is open source (sorry, Java GUIs are fugly)
Investigate wxWidgets.
-
Re:Definitely needs a non-commercial Windows licen
People are realizing that there are lots of apps using wxWidgets, it's just not very apparent because... well, it looks like native GUIs for the platforms. Which is good! BitTorrent uses wx, so does Audacity, Forte Agent...
-
Yes, I'm in that boat
I'm a long time software developer who codes predominantly for Windows and UNIX, but because Macs have embraced the UNIX architecture I would now like to start coding for OS X. I personally feel that Mac OS has a much brighter future than Windows (still not sure about Linux desktop).
It would not be a stretch to say that I'm willing to ditch Windows in favour of Linux and Mac OS.
So far, I have found wxWidgets which is a C++ toolset that allows the creation of cross-platform GUIs (Windows, Linux, Solaris, MacOS) that uses native GUI elements on each platform (unlike GTK+ or Qt which end up looking non-native). To me this seems like the best way for a programmer to get into cross-platform, including Mac, programming. You don't sacrifice Windows compatibility. -
I'd love to see (native GUI) WP on Linux & Mac
I did use WordPerfect (I guess it was version 8) back when a Linux version was available. It worked great for me, and I still think WP is the best word processor.
People seem to complain when it looks like the GUI is hacked to work with Linux or whatever... sounds like something like this calls for wxWidgets (formerly wxWindows), since this toolset provides native GUI elements on Windows, Linux, and Mac OS X. -
GUIs, cross-platform, and UNIX
I think the comment that UNIX folk are switching to Mac OS is partially correct... personally, I think that OS X finally gives a "beautiful face" to *NIX that it has needed for a very long time. I really want to code for MacOS now, and I definitely don't have the same thing to say about Windows.
By the way, if you're a developer like me who wants to write GUIs in a cross-platform manner (Windows, Linux, *NIX including Mac OS X) then check out wxWidgets. The license is the most lenient available, AFAIK, so it allows both commercial and free software development for a range of platforms. I haven't tried this yet myself but wx can make native-looking GUIs on all platforms. Pretty slick. -
Build on your Perl knowledge
I recently finished a pair of GUI apps written in Perl with the wxPerl toolkit.
The wxWidgets stuff is pretty cool IMHO. It allows you to build cross platform GUI applications in many languages (Perl, Python, C++, Ruby, etc.). I personally didn't find the learning curve too steep. I already knew Perl pretty well which made it a lot easier.
When you're comfortable with wxPerl you could switch to C++ or something if you wanted/needed to without having to learn a new GUI framework.
X. -
QT vs. GTK
What about wxwidgets (the GUI development library formerly known as WxWindows? Sounds like a safe compromise with strong portablility and no licensing hassles.
-
Re:Sounds like I need it.
-
Re:Pricing
wxWidgets.
Because they don't charge you if you decided to make commercial applications. -
Stop.
The only reason to use such an API (rather than coding natively) - is cross-platform support. If you want that, use wxWidgets instead (because there is no GPL version of Qt for Windows).
-
Re:Pricing
-
Gah! Kill Qt already!
Qt's licencing is absolutely abysmal. You can't make commercial products with it for free - even if you don't change or add to their code and are merely linking with it. Oh, and there is no GPL version for Windows
.
Trolltech charges $2400 for two platforms. Presumably cross-platform coding is the sole reason you'd be using such a GUI library - so that's going to be your base price.
But Microsoft solutions are far cheaper (it's less than $100 for Windows XP from NewEgg) - and they even give away a free version of their compiler.
If you're looking for a cross-platform GUI - for a commercial or free project - look at the competitors to Qt. I would not hesitate to recommend wxWidgets as a thoroughly competent, cross-platform, commerce-friendly GUI system. -
Re:So...
-
Re:SDL was a god-sendI'd like to see things like wxWindows for GUI development
ITYM wxWidgets....