Home > General Development > Borland is Embracing wxWindowsBorland is Embracing wxWindows Submitted by Sean Long 2003-09-17 General Development 42 CommentsAccording to this, Borland is using wxWindows as the C++ framework for their upcoming C++ BuilderX product. Borland will be committing changes back to the open source wxWindows project.About The Author Eugenia LoliEx-programmer, ex-editor in chief at OSNews.com, now a visual artist/filmmaker.Follow me on Twitter @EugeniaLoli 42 Comments 2003-09-17 5:56 am wxWindows is a great C++ toolkit, and this is a big step forward to what it really deserves… 2003-09-17 6:04 am Well wxWindows is the only working crossplatform toolkit..but it’s also the most bugridden one. It’s rather amusing seeing borland embrace such a buggy + API-consistancy-less toolkit.wx has gotten a whole lot better over the years, but it’s still nowhere near commercial-grade.Taras 2003-09-17 6:05 am wxWindows is one of the best gui toolkits for python…this will be wonderful…maybe Borland Python Builder???Hey borland, hire me to work on it in 2 years…I am the bomb programmer.-Hugh 2003-09-17 6:09 am Actually wxWindows has always been very consistent.As far as being the *only* cross platform kit, what about… gtk qt? tk/tcl jdk (i know it doesnt count)So, what are you talking about? 2003-09-17 6:14 am I wonder why they are dropping QT? I guess WXwindows is a bit cheaper.-greg 2003-09-17 6:18 am Borland with their experience will be a help for wxWindows then 2003-09-17 6:22 am I like wxWindows, always found it consistant and reliable.I hope they bring in the Delphi-style alignment of controls though. 2003-09-17 6:30 am Borland is dropping VCL and CLX from the C++ Builder product line. VCL and CLX is way far better than wxWindows will aver be for its current users.I have been a long time BCB user and I’d say I am witnessing the death of the C++Builder product line.Others with similar sentiments are voicing their distress on at the borland.public.cppbuilder.non-technical newsgroup.You can see the discussion here:http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&group=borland.pu… 2003-09-17 6:56 am When Borland went from Delphi to Kylix, did they continue to use the VCL or switch to something else?I mean, maybe they will use VCL as a wrapper for wxWindows, like it used to be a wrapper for OWL.I think that would be a great, easy way to support Linux, while still having the VCL.Because, while wxWindows is great, the VCL has advanced features that make it easier, like real “property” support.-Hugh 2003-09-17 7:02 am IMHO the VCL biggest problems are the VCL advanced features, because the VCL is written in Object Pascal, and there is not any way to compile it with standard C++. wxWindows IMHO is a better solution, because it is a pure C++ library. 2003-09-17 7:15 am In 1998 I wrote a relative big application (about 27 000 lines) with wxWindows 2.0.1. Wx is not a bad toolkit (I found few bugs, but the “commercial” CLX is also not bug-free), and a newes versions IMHO are far better. 2003-09-17 9:08 am Well, I will avoid a wxWin war here. The reason why the current BCB users need VCL because they depend on it. Their apps need a migration path. Rewritting is costly as it takes time and labor. Clients who are upgrading from software written using BCB will not be interested in paying for high costs due to rewrites.VCL is designed for RAD from the ground up and has many third-party components designed on it. We have been using such solutions as these for years. Though wxWin is a good C++ framework it is not in reach of the VCL’s RAD capabilities.Though there are users bickering about the fact that wxWin is not a *modern* C++ toolkit, their real issue is of a migration path for the VCL. No toolkit is perfect IMHO.Also there was recently an online petition by the BCB community on Borland’s lack of commitment:http://www.petitiononline.com/bcbfutur/The BCB community is also made up of many BC++5.x users that migrated from OWL. Another migration from VCL into wxWin is making many reconsider Borland’s comitment and continuity in its products. There has been no anouncement whatsoever from Borland on the support of the VCL. They are being mum about it.Thus many are disapointed with Borland and their commitments on their NEXT big thing. Even Microsoft has been commited with MFC and given their users a clear roadmap as to where they’re heading. Borland has failed in this manner.One has to read the newsgroup posts to understand the BCB community’s distress. Many have come to the conclusion that CBuilderX is just an Eclipse clone with multi compiler, multi platform development. Thus they see no reason to upgrade or support their BCB dev tools any more.The irony is that, if wxWin is THE toolkit for cross-platform C++ dev as Borland claims then why is their upcoming C++ IDE written in Java?-Magg 2003-09-17 9:35 am It is a Jbuilder IDE with C++ plug-in and wxWindows designer.It like Netbean and Eclipse. It should able to under any OS which have JAVA 2 VM.Borland should make it able to run under MacOS, FreeBSD and OS/2 as well. 2003-09-17 10:44 am maybe Borland Python Builder??? There’s a free IDE for python called Boa Constructor. I just finished reading a review in Linux Magazine (I think) with the author of Boa Constructor, and he says that Delphi was his inspiration when creating this IDE. It is still in beta form, I think, but it works pretty good.Boa Constructor also uses wxPython for it’s graphics toolkit (as anybody working with Python should).As for C++BuilderX, I watched their online tour and that IDE is the coolest IDE I’ve ever seen (in a demo anyway). 2003-09-17 11:07 am VCL is not a C++ toolkit. There is not property keyword in standard C++ reserved words. It is sad but true. VCL->wxWindows conversion tool is a very nice idea, but IMHO it is not possible, and the VCL on any compiler ide also, because of Borland’s C++ extensions.And yes, there are many very good free C++ IDE under linux and windows (Eclipse, Dev-C++, Anjuta, KDevelop, etc). But this IDE seems better and the IMHO the bigger C++ developer companies will use it. 2003-09-17 11:23 am In an odd sort of way, I’m surprised they didn’t go with GTKmm. Is this because of portability or maturity issues?The reason I ask is because GTKmm is the only toolkit I’ve seen that actually lets you use the STL properly and not require arcane macros. The code is extremely readable, and the documentation seems quite good, too, even moreso than Qt.Or are my impressions incorrect?-Erwos 2003-09-17 11:33 am Probably because it doesn’t use native widgets on Windows. Neither does Qt, but I think Qt works a bit better on Windows than GTK does. Otherwise… not sure. 2003-09-17 11:52 am That’s why people didn’t stick with borlands C++ products – lack of consistency.And yes, Borland 5 was a bad product. 2003-09-17 12:05 pm I like Gtkmm as well, it’s the best Standard C++ GUI library, but I want more documentation. 2003-09-17 12:58 pm What about .NET? 2003-09-17 1:02 pm I have not had a chance to use it, but I have read about dotGNU and read that it has become pretty usable for the amount of time it’s been out. I personally don’t know much about .NET and from what I read from MS’s site about .NET, it appears that they don’t have a clear definition either 2003-09-17 1:09 pm Go to http://borland.com/cbuilderx/ and click product tour…If the final product is as unfinished and buggy as that tour, I bet Borland will loose customers… 2003-09-17 2:23 pm I’m sure wxWindows has some bugs, but none that I’ve run into in version 2.4.1. At times, what I thought were bugs in the toolkit, was simply my lack of knowledge or bugs in my own code.For example, the first few builds of my app contained horrible flickering when resizing the window, so I thought it was because wxWindows sucked (because many of the sample/demo apps that come with wxWindows also flicker badly during resize). But it turned out that I simply didn’t know how to use the wxNO_FULL_REPAINT_ON_RESIZE modifier to wxFrame and other controls. It’s too bad many of the sample/demo apps that come with the toolkit don’t even use this (I guess they were written in the days when wxWindows was in the early 1.x or 2.x release), because it gives people the wrong impression about wxWindows.In my opinion, wxWindows friggin ROCKS! I’m about to release yet another commercial app written in it. It’s not cross-platform (it’s Windows), it’s written in MinGW C++ with wxWindows, but you could not tell the difference between it and any app written in VC++ with MFC. 2003-09-17 2:50 pm So, what’s the difference between the CBuilderX and the Kylix implementation of C++? The article said wx support in the current version was only available via a technology demo, so what are they using this time around? VCL? QT?I’ve played around with BCB, but since I never used Delphi much, the VCL was just a little too ‘Pascal-ish’ for me. 2003-09-17 4:10 pm Erwos wrote:The reason I ask is because GTKmm is the only toolkit I’ve seen that actually lets you use the STL properly and not require arcane macros. The code is extremely readable, and the documentation seems quite good, too, even moreso than Qt.I tried out wxWindows but it reminded me too much of MFC and gave me the heebie-jeebies. gtkmm is nice to work with but it has a lot of dependencies and I found it hard to get everything installed and working together correctly (at least, to use the most up-to-date version of gtkmm). The docs are ok… I tried contributing to the project’s docs but found it … difficult.Finally, I recently discovered Toad:http://www.mark13.de/toad/It’s looking good. 2003-09-17 4:16 pm SciTech actually began developing with wxWindows some time ago – and found it to be a great GUI toolkit to sit on top of Scitech MGL.http://www.wxwindows.org/dl_mgl.htm#stable 2003-09-17 5:36 pm …with QT?Why dont they use QT libs? 2003-09-17 5:36 pm Borland does a wonderful job bringing new and cool development products to light, but then it lets them wither on the vine through lack of support or follow-through as their engineers go on to the Next Big Thing.They almost bankrupted the company to bring out Kylix and then just let it languish while they went chasing dotnet.They need to embrace open-source more to distribute the load to their fan-base, who would be more than happy to support Borland’s products if allowed. I hope wxWindows is a step in that direction, because they’re a pretty innovative company but really almost never follow through their ideas – except Delphi which rightly became a classic. 2003-09-17 6:23 pm Is 768mb of RAM a bit too much of a memory requirement for *just* an IDE? I mean, even Visual Studio.NET or Eclipse don’t need that much memory. I don’t plan to buy another 256mb of RAM anytime soon just to put myself under the recommended 768mb to be able to do some development. 2003-09-17 6:25 pm >> I’m about to release yet another commercial app written in it. It’s not cross-platform (it’s Windows)And there’s the main issue with wxWindows: it’s only good on Windows. 2003-09-17 6:29 pm The VCL and CLX frameworks depend on extensions to the C++ language to implement Delphi properties (last time I checked…). These won’t compile on MS’s compiler, Intel’s, GCC, or anything on Solaris or Symbian, platforms they wanted to support with C++BuilderX. If they want portable GUI code it’s better to go with an already-made framework that supports what they need than to reimplement CLX in a way that would change its basic semantics and render all existing third-party components unsuable anyway.Of course, there is no reason to abandon the VCL or CLX in Delphi or Kylix. There are no widely used third-party compilers that compile Delphi code, so nothing else needs to be supported (except maybe .NET). Yes, I know about Free Pascal and GPC – they aren’t nearly good enough yet to concern yourself with.By the way, C++ Builder was never Pascal-like, it was Delphi-like. The similarities between CB and Delphi were primarily features that were added to Delphi to make it more like a simple C++ than Pascal, long before C++ Builder ever existed. It’s better to think of Delphi as an early C# with a Pascal-like syntax. 2003-09-17 6:40 pm rich: And there’s the main issue with wxWindows: it’s only good on Windows.What do you mean? wxWindows works on many platforms. Do you mean that its Linux, Mac, OS/2 versions aren’t any good? 2003-09-17 7:34 pm Does wxWindows use GTK+ 1.x or 2.x under Linux? 2003-09-17 7:36 pm “And there’s the main issue with wxWindows: it’s only good on Windows.”http://www.wxwindows.org/platform.htmOne real world example of wxWindows in action is Audacity, IMO the best crossplatform audio editor. I’ve used it under both Linux and Windows and under either platform it looks and works very well. It also runs on OSX, but I have no personal experience with it there.http://audacity.sourceforge.net 2003-09-17 10:09 pm Well,It’s nice to use wx app, but it’s hell to write them. For example getting an app written on windows is fine and dandy. However, try to compile it on linux and then run it. I’m willing to bet that there are(i’ve seen some in very simple apps) lots of obscure differences in behavior of the API.wx can use gtk1 or gtk2 on linux. I think it might even work as a toplevel toolkit on X11 too..IE do the QT thing. 2003-09-18 3:16 am Under Linux, wxWindows supports both GTK+ 1.x and 2.x. 2003-09-18 5:27 am I have been evaluating cross platform GUI toolkitsfor product development ( graphics/GL intensive application),wxWindows came across very strongly, with its exhaustive library, PROLOG like object-attribute value storage, wxHTML, ODBC connectivity etc… But it is too cumbersome to get a project off the ground with wxWindows.I’m a lazy programmer 😉On the other hand, FOX tookit http://fox-tookit.org is a very capable cross platrform toolkit with _almost_ all the features of wxWindows, with VERY easy to use API.do check out FOX…BTW, fox has python bindings too…..the other toolkit could be FLTK, but the interface looks a little kludgy. 2003-09-18 5:40 am Attn: MaggotRe: Actually its bad newsBorland is dropping VCL and CLX from the C++ Builder product line.That is an unsubstantiated rumor brought on by end users feeding off of each other’s panic, nothing else. There is no evidence that VCL is dead in BCB/CBX. Just because it is not included Day 1 does not mean that it may not be included eventually. There are many things still not included in CBX yet that will be in a future release. Give it time. The first release of CBX is not targetted the VCL community Day 1 anyway. They’re trying to appeal to the people who don’t use Borland products to begin with. The rest of us still have BCB handy until CBX is expanded in a near-future release with more features that cater to more users. Be patient.Attn: psleeRe: Kylix for FreeBSD/MacOS ?It is a Jbuilder IDE with C++ plug-in and wxWindows designer.It is not a JBuilder IDE. It is a Primetime IDE. JBuilder is implemented on top of Primetime, as is CBX. CBX is not implemented using JBuidler. Primetime is a generalized language-agnostic framework for creating IDEs.Borland should make it able to run under MacOS, FreeBSD and OS/2 as well.They will be eventually. Give it time.Attn: DariusRe: CBuilderX vs. Kylix ?So, what’s the difference between the CBuilderX and the Kylix implementation of C++?Kylic does not use a C++ framework, VCL and CLX are both Delphi Pascal frameworks. Kylix and CBX have no similarities, other than the promise of cross-platform development in general. CBX is a very different beast than Kylix. 2003-09-18 9:42 am …Remembering that Anders Hjelsberg (sp?) was the principal architect of both the Delphi dialect of ObjectPascal *and* C# should make things clearer. As a Delphi developer with a fair grasp of C++ and Java syntax, I can see a one for one correlation with a lot of C# and Delphi syntax (removing the specific language implementation baggage.) They are siblings, just as Java and C# are related and Java and C++ are related.Re QT.It costs money. It relies on an additional pre compiler (MOC) and is therefore not fully compatible with every C++ compiler in existance. QT has to be ported to and paid for (both development and maintenence by TrollTech plus licensing) on every platform Borland sells this product for, wxWindows just needs to be ported. See the difference? Because it’s open source, one the momentum gets going on a Platform, the rest should simply fall into place.Re: Remy Lebeau (TeamB),Doesn’t Kylix 3 include the borland C++ compiler for linux and use the CLX framework? I was under the impression this was the case. 2003-09-18 6:18 pm >> What do you mean? wxWindows works on many platforms. Do you mean that its Linux, Mac, OS/2 versions aren’t any good?Dunno about Mac and OS/2 versions, but the Linux (Gtk) versions really aren’t that nice.Lots of UI bugs, lots of other issues.. and by using wx your app won’t automagically work on other platforms (because of those many issues).And those ugly custom widgets (instead of native ones).. yuck.And on top of that, there’s a lot of other things in the common wx code that makes things bad (design issues, etc).(heck, you can’t even use more then a few different fonts (4 afaik)) 2003-09-18 8:05 pm Doesn’t Kylix 3 include the borland C++ compiler for linux and use the CLX framework? I was under the impression this was the case.Kylix includes both Delphi and BCB IDEs for the Linux platform, and both IDEs do include CLX. But that does not negate what I said about VCL and CLX under Kylix being written in Delphi Pascal. Because they are, just like they are under the Windows platform.CBX, on the other hand, is a very different product and a very different architecture:– The IDE itself is written in Java, not Delphi like the others, so the IDE will be able to run on more platforms.– Kylix is tied to Borland’s proprietary build tools such as the compiler and debugger, while CBX can use just about any build tools you want, even assign different tools for different files in the same project.– CBX will eventually include a new framework written in pure C++, no Pascal at all, and it will not include the use of any compiler extensions at all, which means it can be compiled under any C++ compiler, not just Borland’s. You can’t say that for either VCL or CLX.The only concern people have over CBX right now are pricing and the lack of VCL/CLX support. However, CBX’s price will fall over time, and as previously mentioned it is too soon to rule out the VCL/CLX just yet since the product is still in a state of initial growth and development, more things will get added in later. 2003-09-27 12:31 am I don’t think we have to wait for Borland Python Builder. There is already such an open-source project on it’s way… SPE. I downloaded and installed it yesterday and it looks great!